Подведу итог текущих ошибок тестера:
Лишние моиТейды в 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> по стаканам:
результаты прогонов идентичны.