Использую событие order.WhenNewTrades(). для высавления стопов, но обнаружил что не всегда на весь объем срабатывает стоп. Решил подсчитать объем и выяснил, что когда много сделок разом валилось он иногда некоторые пропускал, редко правда, но все же. Вот не пойму это только у меня так?
Комментарии (17)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Подписался на события сразу по двум методам (order.WhenNewTrades() и order.WhenAllTrades()) и вывел результаты в Debug. Строки идут парами, первая сделка, вторая общая сумма. В конце еще при остановке стратегии вывел две строчки с результатом. Из картины видно что NewTrades не отреагировал на все сделки. А AllTrades сработал только после того как набрал весь объем. Помогите решить проблему, почему так?
12:41:12.9887028 *************** NewTrades => 59 12:41:12.9887028 *************** NewTrades => 59 12:41:12.9897029 *************** NewTrades => 1 12:41:12.9897029 *************** NewTrades => 60 12:41:18.0002039 *************** NewTrades => 1 12:41:18.0022041 *************** NewTrades => 61 12:41:40.1774214 *************** NewTrades => 59 12:41:40.1784215 *************** NewTrades => 120 12:41:41.4365473 *************** NewTrades => 55 12:41:41.4375474 *************** NewTrades => 175 12:41:41.4385475 *************** NewTrades => 15 12:41:41.4385475 *************** NewTrades => 190 12:41:41.4395476 *************** NewTrades => 29 12:41:41.4395476 *************** NewTrades => 219 12:41:41.4405477 AllTrades => 59 12:41:41.4415478 AllTrades => 59 12:41:41.4425479 AllTrades => 1 12:41:41.4425479 AllTrades => 60 12:41:41.4435480 AllTrades => 1 12:41:41.4435480 AllTrades => 61 12:41:41.4435480 AllTrades => 59 12:41:41.4445481 AllTrades => 120 12:41:41.4445481 AllTrades => 55 12:41:41.4455482 AllTrades => 175 12:41:41.4455482 AllTrades => 15 12:41:41.4455482 AllTrades => 190 12:41:41.4465483 AllTrades => 29 12:41:41.4465483 AllTrades => 219 12:41:41.4475484 AllTrades => 10 12:41:41.4475484 AllTrades => 229 12:41:41.4485485 AllTrades => 24 12:41:41.4485485 AllTrades => 253 12:41:41.4485485 AllTrades => 24 12:41:41.4495486 AllTrades => 277 12:41:41.4495486 AllTrades => 1 12:41:41.4505487 AllTrades => 278 12:41:41.4505487 AllTrades => 10 12:41:41.4505487 AllTrades => 288 12:41:41.4515488 AllTrades => 12 12:41:41.4515488 AllTrades => 300 12:41:41.4525489 AllTrades => 121 12:41:41.4525489 AllTrades => 421 12:41:41.4525489 AllTrades => 79 12:41:41.4535490 AllTrades => 500
12:41:58.2272262 В итоге метод AllTrades набрал => 500 12:41:58.2272262 В итоге метод NewTrades набрал => 219
а если объем набрался не весь, то получается так
12:54:20.1774138 *************** NewTrades => 104 12:54:20.1784139 *************** NewTrades => 104 12:54:20.1794140 *************** NewTrades => 11 12:54:20.1844145 *************** NewTrades => 115 12:54:20.1854146 *************** NewTrades => 1 12:54:20.1854146 *************** NewTrades => 116 12:54:20.1864147 *************** NewTrades => 10 12:54:20.1874148 *************** NewTrades => 126
12:56:44.2168163 В итоге метод AllTrades набрал => 0 12:56:44.2168163 В итоге метод NewTrades набрал => 126
а вот объем прошел одной сделкой, здесь все нормально
12:59:03.1937126 AllTrades => 500 12:59:03.1947127 AllTrades => 500 12:59:03.1947127 *************** NewTrades => 500 12:59:03.1957128 *************** NewTrades => 500
12:59:15.4719403 В итоге метод AllTrades набрал => 500 12:59:15.4719403 В итоге метод NewTrades набрал => 500
Какая версия? Какой терминал? Вызывается ли событие Trader.NewMyTrades?
версия 4.1.6, Ну такой объем я могу только на демо квике испытать, на реальном счете такой я не смогу такой объем пропустить. Нет, я же с ордером работаю, по его сделкам. Зачем мне все сделки трэйдера.
Вам, возможно, они не нужны, а я хочу понять где проблема.
Вот добавил еще Trader.MyTrades это событие работает отлично, в отличии от order.WhenNewTrades
14:14:24.8718352 ***** MyTrades 4 14:14:24.8728353 ***** MyTradeS 4 14:14:24.8748355 *************** NewTrades => 4 14:14:24.8758356 *************** NewTradeS => 4 14:14:49.8613339 ***** MyTrades 11 14:14:49.8623340 ***** MyTradeS 15 14:14:49.8623340 *************** NewTrades => 11 14:14:49.8633341 *************** NewTradeS => 15 14:14:49.8643342 ***** MyTrades 368 14:14:49.8643342 ***** MyTradeS 383 14:14:49.8653343 *************** NewTrades => 368 14:14:49.8653343 *************** NewTradeS => 383 14:14:49.8653343 ***** MyTrades 51 14:14:49.8663344 ***** MyTradeS 434 14:14:49.8673345 *************** NewTrades => 51 14:14:49.8673345 *************** NewTradeS => 434 14:15:05.2218698 ***** MyTrades 1 14:15:05.2228699 ***** MyTradeS 435 14:15:05.2238700 *************** NewTrades => 1 14:15:05.2238700 *************** NewTradeS => 435 14:15:09.3762852 ***** MyTrades 10 14:15:09.3772853 ***** MyTradeS 445 14:15:09.3782854 *************** NewTrades => 10 14:15:09.3782854 *************** NewTradeS => 445 14:15:09.3792855 ***** MyTrades 4 14:15:09.3852861 ***** MyTradeS 449 14:15:09.3852861 *************** NewTrades => 4 14:15:09.3862862 *************** NewTradeS => 449 14:15:09.3872863 ***** MyTrades 1 14:15:09.3882864 ***** MyTradeS 450 14:15:09.3892865 ***** MyTrades 8 14:15:09.3892865 ***** MyTradeS 458 14:15:09.3902866 ***** MyTrades 11 14:15:09.3902866 ***** MyTradeS 469 14:15:09.3912867 ***** MyTrades 23 14:15:09.3912867 ***** MyTradeS 492 14:15:09.3922868 ***** MyTrades 1 14:15:09.3922868 ***** MyTradeS 493 14:15:09.3932869 ***** MyTrades 2 14:15:09.3932869 ***** MyTradeS 495 14:15:09.3932869 ***** MyTrades 5 14:15:09.3942870 ***** MyTradeS 500 14:15:09.3952871 AllTrades => 4 14:15:09.3952871 AllTradeS => 4 14:15:09.3962872 AllTrades => 11 14:15:09.3962872 AllTradeS => 15 14:15:09.3972873 AllTrades => 368 14:15:09.3972873 AllTradeS => 383 14:15:09.3982874 AllTrades => 51 14:15:09.3982874 AllTradeS => 434 14:15:09.3982874 AllTrades => 1 14:15:09.3992875 AllTradeS => 435 14:15:09.3992875 AllTrades => 10 14:15:09.4002876 AllTradeS => 445 14:15:09.4002876 AllTrades => 4 14:15:09.4012877 AllTradeS => 449 14:15:09.4012877 AllTrades => 1 14:15:09.4022878 AllTradeS => 450 14:15:09.4022878 AllTrades => 8 14:15:09.4022878 AllTradeS => 458 14:15:09.4032879 AllTrades => 11 14:15:09.4032879 AllTradeS => 469 14:15:09.4042880 AllTrades => 23 14:15:09.4042880 AllTradeS => 492 14:15:09.4042880 AllTrades => 1 14:15:09.4052881 AllTradeS => 493 14:15:09.4052881 AllTrades => 2 14:15:09.4062882 AllTradeS => 495 14:15:09.4062882 AllTrades => 5 14:15:09.4072883 AllTradeS => 500
14:15:22.3715846 В итоге метод AllTrades набрал => 500 14:15:22.3715846 В итоге метод NewTrades набрал => 449 14:15:22.3725847 В итоге метод MyTrades набрал => 500
И еще вот появился вопрос по поводу MyTrades. Когда первый раз стратегию запускаю по событию MyTrades все нормально приходит. Но если я её остановлю и заново включу, то при каждой сделке MyTrades срабатывает дважды. А если снова выключить и включить то трижды и т.д. Можете обьяснить в чем проблема?
14:38:33.1196455 ***** MyTrades 88 14:38:33.1206456 ***** MyTradeS 88 14:38:33.1216457 ***** MyTrades 39 14:38:33.1216457 ***** MyTradeS 127 14:38:33.1216457 ***** MyTrades 88 14:38:33.1226458 ***** MyTradeS 215 14:38:33.1226458 ***** MyTrades 39 14:38:33.1236459 ***** MyTradeS 254 14:38:33.1236459 ***** MyTrades 88 14:38:33.1236459 ***** MyTradeS 342 14:38:33.1246460 ***** MyTrades 39 14:38:33.1246460 ***** MyTradeS 381 14:38:33.1256461 *************** NewTrades => 88 14:38:33.1256461 *************** NewTradeS => 88 14:38:33.1266462 *************** NewTrades => 39 14:38:33.1266462 *************** NewTradeS => 127
Покажите минимальный код, не совсем понятно, что вы считаете.
Прогнал этот код раз 10 на последней 4.1.7 с кодеплекса, проблема не воспроизвелась.
Там же вроде 4.1.6 последняя. В чем у меня может быть проблема?
Не знаю в чем была проблема, но создал новый проект с новой сборкой 4.1.7 и проблема исчезла. Подскажите пожалуйста в чем разница между сборками dev и trunk. Какой лучше пользоваться? Они совершенно разные. В них даже методы по разному называются OnStarted и OnStarting
Если на codeplex открыть какой нибудь коммит, то видно какие изменения были, и куда.
Например Commit 22415
edittrunk/References/Abt.Controls.SciChart.Wpf.dll edittrunk/References/Abt.Controls.SciChart.Wpf.XML (View full diff)
Видно что изменилось два файла в trunk ветке.
Ребят не ругайте мя если это мой комп гонит, но все же я седня раз 100 прогнал код. В dev сборке ни разу не ошибся, а в trunk много раз ошибся.
И кстати хотел спросить почему QuikTrader в trunk требует еще 3 дополнительные библиотеки: Ecng.Serialization, PowerCollections, StockSharp.Logging И почему в dev переопределяем метод в стратегии OnStarting, а в trunk он уже называется OnStarted
В dev ветке лежит очень старая версия, обновляться необходимо из trunk-а. Покажите тогда полный лог стратегии и шлюза, свои сообщения в лог пишите так же с помощью```csharp this.AddInfoLog
Ошибку поправили, фикс будет в следующем обновлении в течение недели.