Здравствуйте, вылазит ошибка при котировании (MarketQuotingStrategy), после которой оно останавливается. QuickTrader переведен в синхронный режим.
_trader = new QuikTrader(terminal.SystemProcess.MainModule.FileName) { IsAsyncMode = false};
Заметил, что в терминале в таблице заявок у заявок все-равно присутствует "ID Транзакции", так и должно быть?
S# 4.1.1 Quik 6.02, 6.01
Прилагаю Лог стратегии, QuickTrader ошибок не выдает
S_UXU2@UX_UE01058 | 17.07.2012 17:23:49.173 | | Стратегия запущена.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.230 | | Стратегия запущена.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.241 | | Котирование на Buy объема 1.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.242 | | Приостановка правил. _rulesSuspendCount 1.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.263 | | Возобновление правил. _rulesSuspendCount 0.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.535 | | Цена текущей NULL и лучшей 1148,8.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.535 | | Лучший бид 1148,8 и лучший аск 1151.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.536 | | Регистрация новой заявки на Buy с ценой 1148,8 и объемом 1.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.858 | | Заявка 62614459 принята биржей.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:49.877 | | Заявка 62614459 на Buy отправлена с ценой 1148,8 объемом 1.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.678 | | Цена текущей 1148,8 и лучшей 1148,9.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.682 | | Лучший бид 1148,9 и лучший аск 1151.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.683 | | Котирование заявки 62614459 на Buy с ценой 1148,8 объемом 1.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.732 | Ошибка | System.InvalidOperationException: Операция является недопустимой из-за текущего состояния объекта.
в Ecng.ComponentModel.EventsContainer.BeginSuspend()
в StockSharp.Algo.BaseTrader.ProcessEvents(Action handler)
в StockSharp.Quik.QuikTrader.#=quI0ECWyYQ6D__0FpXXVx6mSb4AwRxeUY74VZaV60ZGg=(Order #=qaR_EgCNBXJebgaITxbqg_g==, TransactionBuilder #=qwBPlvcbc6_QcBpexeXMNMA==)
в StockSharp.Quik.QuikTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting()
в StockSharp.Algo.Strategies.StrategyRule`1.#=q8bZ8akm2FRZTBpctt6Y5pGD5YVrOfStu6VYJathjxck=.#=q$e$XHZXKAmDkGmxEdc31$w==(#=qkGIHUZeVjCPY5HrimUIWQQ== #=qsWSJ9nMRKasYRGrfSojqqg==)
в StockSharp.Algo.Strategies.StrategyRule`1.#=qlvr2POsvDBbjTf98t0zvpyTMDmDnGEKeQtksNgtDiQQ=()
в StockSharp.Algo.Strategies.Strategy.#=qqT0_S6QHKdYMEa00TsYhuA==(IStrategyRule #=qif9rZwhz_4WWQY1beitBUA==, Func`1 #=qHWkgHkFI$KyWdUXhoglrLw==, Object #=qKlkKmXRkYYMu2oQmfgx5Qg==, Boolean #=qqMKPYFUZPSoo5HQN$qfRDw==)
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.740 | | Отмена заявки 62614459.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.763 | Ошибка | System.InvalidOperationException: Операция является недопустимой из-за текущего состояния объекта.
в Ecng.ComponentModel.EventsContainer.BeginSuspend()
в StockSharp.Algo.BaseTrader.ProcessEvents(Action handler)
в StockSharp.Quik.QuikTrader.#=quI0ECWyYQ6D__0FpXXVx6mSb4AwRxeUY74VZaV60ZGg=(Order #=qaR_EgCNBXJebgaITxbqg_g==, TransactionBuilder #=qwBPlvcbc6_QcBpexeXMNMA==)
в StockSharp.Quik.QuikTrader.OnCancelOrder(Order order)
в StockSharp.Algo.BaseTrader.CancelOrder(Order order)
в StockSharp.Algo.Strategies.Strategy.CancelOrder(Order order)
в StockSharp.Algo.Strategies.Strategy.#=q8NeZglL_Y2Olm7EbsZMnj5T$RL0jaskjS$tqw$OkhqY=(Order #=qtaw3SxG5fnCWwlzB7fb6tQ==)
в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Algo.Strategies.Strategy.#=qlMIUqzdOVfkxxxZfy5U$4WlakkxUmbAXfYW$9f3mLMM=(IEnumerable`1 #=qw$TTgXa8aFwOOKdO4k5RmQ==)
в StockSharp.Algo.Strategies.Strategy.CancelActiveOrders()
в StockSharp.Algo.Strategies.QuotingStrategy.#=qGZP_NLsRWYYuvXhjtYTla5YlhizT$hMidiP7hrDCmvo=()
в StockSharp.Algo.Strategies.StrategyRule`1.#=q8bZ8akm2FRZTBpctt6Y5pGD5YVrOfStu6VYJathjxck=.#=q$e$XHZXKAmDkGmxEdc31$w==(#=qkGIHUZeVjCPY5HrimUIWQQ== #=qsWSJ9nMRKasYRGrfSojqqg==)
в StockSharp.Algo.Strategies.StrategyRule`1.#=qlvr2POsvDBbjTf98t0zvpyTMDmDnGEKeQtksNgtDiQQ=()
в StockSharp.Algo.Strategies.Strategy.#=qqT0_S6QHKdYMEa00TsYhuA==(IStrategyRule #=qif9rZwhz_4WWQY1beitBUA==, Func`1 #=qHWkgHkFI$KyWdUXhoglrLw==, Object #=qKlkKmXRkYYMu2oQmfgx5Qg==, Boolean #=qqMKPYFUZPSoo5HQN$qfRDw==)
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.764 | | Стратегия останавливается.
MQS_UXU2@UX_UE01058 | 17.07.2012 17:23:50.772 | | Стратегия остановлена.
Что я делаю не так?
Comentarios (5)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Пофиксим. Но синхронный режим лучше вообще не использовать.
Еще один баг, тот же самый код, только в синхронном режиме
то лог заполняется такими сообщениями по несколько раз в секунду:
MQS_UXU2@UX_FOUX_290 | 18.07.2012 10:36:27.750 | Внимание | Заявка 38049923 в процессе перерегистрации на заявку 38049927.
При
MQS_UXU2@UX_FOUX_290 | 18.07.2012 10:44:53.026 | Внимание | Заявка 38395905 в процессе снятия.
Хотя реально заявки уже сняты
Пробовал на разных квиках, на боевом и демо, S# 4.1.1, 4.1.2.
Подскажите?
Пробуйте версию 4.1.3 с codeplex
Попробовал trunk из кодплекса (stocksharp-18359), теперь квик не подключается, даже Sample.
Samples\Quik\MainWindow.xaml.cs, Строчка 102:
Поправлю сегодня