Подведу итог текущих ошибок тестера:
Лишние моиТейды в EmulationTrader BasketStrategy генерирует грааль! Проблема с тестером (абсолютно не понятно в чем проблема, если на SampleHistory не воспроизведется, значит будет проигнорировано).
Какие еще есть проблемы? Просьба давать ссылки именно на ошибки, а не на вопросы или не непонятные вещи. Если ошибка здесь не приведена, то скорее всего она описана непонятно.
Комментарии (12)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Михаил, добрый вечер. Если нужно, я могу прислать Вам свой проект целиком для тестирования и указать, что конкретно делал (какие данные брал и как работал). Просто в паблик стратегию и свой нубокод не хочу выкладывать (стыдно, честно :-) ). Если можете - дайте мыло, на которое нужно будет архив выслать.
Спасибо.
вот еще из стандартного примера: http://stocksharp.com/forum/4247/Primier-tiestirovaniia-na-sluchainykh-chislakh-nie-rabotaiet/
А с этим только у метя проблемы ? события
Да, вопрос, - а стоп-лоссы не пашут сейчас в эмуляции? Если да, кто кто могёт поделиться рецептом "реализации" оных косвенно (но не по факту построения свечи). Пасибки.
не вызывается в режиме эмуляции. Сама регистрация заявки и стопа на неё производится следующим образом:
Версия библиотеки S# в тестере - 4.1.19.1 (к сожалению, код, отрабатывающий на 4.1.19.1 в режиме эмуляции падает в бесконечный цикл перевыставления заявки в версиях 4.2.1.x, логи я прилагал выше, использовал свечи Renko и Range, разные конфигурации - тики, тики и стаканы, включал-выключал стаканогенератор - для 4.2.1.x итог один). В реальной торговле этот код пахал (стопы отрабатывали).
Просто вроде где-то на форуме краем глаза видел, что в 4.1.x.y стопы в эмуляшке не работают - решил уточнить на всякий случай.
Еще одна ошибка , после этого , EmulationTrader вылетает.
2014/01/08 16:45:40.512| |#=q$TVAZv2WzY1qGjz80r1CIY92Hu5bfXHMYoAarEBZe7E=|Заявка 60299243. Исполнение объема 1 по цене 142810. 2014/01/08 16:45:40.512| |#=q$TVAZv2WzY1qGjz80r1CIY92Hu5bfXHMYoAarEBZe7E=|Заявка 60299243 полностью исполнена. 2014/01/08 16:45:40.512| |#=q$TVAZv2WzY1qGjz80r1CIY92Hu5bfXHMYoAarEBZe7E=|Сделка 190 заявки 60299243 P=60299243 V=142810. 2013/10/01 10:27:14.060| |EmulationTrader|Order changed: 60299243/1048 Покупка Цена=142820 Объем=1 Сост=Done Бал=0 2014/01/08 16:45:40.512|Error |#=q$TVAZv2WzY1qGjz80r1CIY92Hu5bfXHMYoAarEBZe7E=|Заявка 60299243 для перерегистрации не найдена. 2014/01/08 16:45:40.513| |#=q$TVAZv2WzY1qGjz80r1CIY92Hu5bfXHMYoAarEBZe7E=|Заявка 60299249 снята. 2014/01/08 16:45:40.513| |#=q$TVAZv2WzY1qGjz80r1CIY92Hu5bfXHMYoAarEBZe7E=|Заявка 60299251 зарегистрирована. 2013/10/01 10:27:14.060| |EmulationTrader|OrderFailed: 60299250/0 Покупка Цена=142830 Объем=1 Сост=Pending Бал=1 System.InvalidOperationException: Заявка 1048 для перерегистрации не найдена. 2013/10/01 10:27:14.060|Error |EmulationTrader|System.NullReferenceException: Object reference not set to an instance of an object. at StockSharp.Algo.Slippage.SlippageManager.#=qHSjOHMMXp_bJx8EfxAt1nw==.#=qLnEyjd4aNsYfRsi9E8yzyA==(Order #=qptDStyeiQm7xlH2sVMN5Ww==) at StockSharp.Algo.Slippage.SlippageManager.RegisterFailed(OrderFail fail) at StockSharp.Algo.Strategies.Strategy.#=qmOjbgpBRxlSEyg$kAkD9rF$WJ598ihLCUESLgdBw4wU=(IEnumerable
1 #=qSWcuracInqoyrIBFWV7Ipg==, Action1 #=q2EaaJQEcSfiBpdwY8lWHUA==) at StockSharp.Algo.Strategies.Strategy.#=q$UcEWvJX7xX1u7qzWK2_p_XVF6tBY0N2tg0e2ZgnPs8=(IEnumerable1 #=q_yxXJw8b$I1ST6b3rvdfRw==) at System.Action1.Invoke(T obj) at Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) at StockSharp.Algo.BaseTrader.RaiseOrdersRegisterFailed(IEnumerable1 fails) at StockSharp.Algo.BaseTrader.RaiseOrderFailed(OrderFail fail) at StockSharp.Algo.BaseTrader.#=qRFsJgLpydq$Kddrkt15L9Vrih$5fgk1Tnr0nOUfL8MQ=.#=qH9b_CQZfd7t4rl3yUqFVnGwaiCBuchglgFiNWgObp1M=(Security #=qwF_zoEhyqAZy_XLCIx2llQ==) at StockSharp.Algo.BaseTrader.#=qRFsJgLpydq$Kddrkt15L9Vrih$5fgk1Tnr0nOUfL8MQ=.#=qfJM68qe4H7rqVn1UK6QHIBAiE3Dx5RlWpifz7oo7Wmc=(Security #=qmMPCKl4ithkuoucPLmF1XQ==, ExecutionMessage #=qCKf2rdV7ikNYahTqqPfwjA==) at StockSharp.Algo.BaseTrader.#=q$TfDfS0iDuWzNMuCslIWlKtajC5ivx_9AJJJxiurNcE=[TMessage](TMessage #=qWYMQZIHiv9H6MOj7Ak3qVA==, Func2 #=qHnWrxU$dZzS0y_Nmz$zKgQ==, Action2 #=qe3yM3XwnqZTyc95sZDXkLQ==, Boolean #=qOko32PUJB4bfGkZPJz$6kPQvtFffyI3jszlsOJWbcXc=) at StockSharp.Algo.BaseTrader.#=qILcbrwgux5SIrEBkV$o_EYBb3JEeuQSSU2IxlSFFFPA=(ExecutionMessage #=q3hfMeB45u9JUaM2Bh2vVaw==) at StockSharp.Algo.BaseTrader.OnProcessMessage(Message message, MessageDirections direction) at StockSharp.Algo.Testing.BaseEmulationTrader.OnProcessMessage(Message message, MessageDirections direction) at StockSharp.Algo.Testing.EmulationTrader.OnProcessMessage(Message message, MessageDirections direction)Стакан для инструмента зарегистрирован?
Пасиба за наводку! У меня в коде (брался за основу пример из 4.2.1.7) было так почему-то...
Ессно не работала генерация стаканов.
Меняем
csharp emulationInfo.UseMarketDepthна ```csharp !emulationInfo.UseMarketDepthДобрый день!
Скачал самое последнее обновление API 4.2.2.1
При запуске стандартных SampleHistoryTesting и SampleHistoryTestingParallel я обнаружил что при каждом новом прогоне на одних и тех же исторических данных, которые идут в комплекте с API, я получаю совершенно разные результаты, причем порой различные в разы, как в положительную, так и в отрицательную сторону.
Думаю причина в этом: 4.2.2.1 Очень долго регистрируются заявки
Возможно в этом была часть проблемы. Скачал 4.2.2.2 и во время проверки обнаружил, что результаты тестов разнятся при <mark>генерировании стакана</mark> на основании цен последних сделок или свечей:
При использовании <mark>истинной истории</mark> по стаканам:
результаты прогонов идентичны.