Добрый день. Подписка на данные в эмуляторе не помогла (ранее она была необходима только при биржевых подключениях).
Поэтому собрал очень короткий пример иллюстрирующий обсуждаемую проблему, с комментариями.
Прикрепляю и очень прошу посмотреть.
Цель: получить на обработку свечку с методе processCandle() внутри стратегии.
Очень надеюсь на помощь.
Логи пока такие:
0001/01/01 00:00:00.000| |HistoryEmulationConnector|Connect
0001/01/01 00:00:00.000| |HistoryBasketMessageAdapter|Connecting 'EmulationMessageAdapter'.
0001/01/01 00:00:00.000| |HistoryBasketMessageAdapter|Connected to 'EmulationMessageAdapter'.
0001/01/01 00:00:00.000| |HistoryBasketMessageAdapter|Connecting 'История (c 07.05.2018 10:00:00 +03:00 по 09.05.2018 10:00:00 +03:00)'.
0001/01/01 00:00:00.000| |HistoryBasketMessageAdapter|Connected to 'История (c 07.05.2018 10:00:00 +03:00 по 09.05.2018 10:00:00 +03:00)'.
2018/05/07 10:00:00.000| |HistoryEmulationConnector|Создан новый портфель TestPortfolio.
2018/05/07 13:13:50.521|Debug |SecurityMarketEmulator| --> Board,T(L)=0001.01.01 00:00:00.000,Code=TQBR,Ex=MOEX
2018/05/07 13:13:50.528|Debug |SecurityMarketEmulator| --> Security,T(L)=2018.05.07 10:00:00.000,Sec=S#:GASP@TQBR, Native:,Type:
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент GASP@TQBR подписается на Level1.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент GASP@TQBR подписается на Trades.
2018/05/07 13:13:50.669|Debug |SecurityMarketEmulator| --> Board,T(L)=2018.05.07 10:00:00.000,Code=TQBR,Ex=MOEX
2018/05/07 13:13:50.673|Debug |SecurityMarketEmulator| --> Board,T(L)=0001.01.01 00:00:00.000,Code=TQBR,Ex=MOEX
2018/05/07 13:13:50.673|Debug |SecurityMarketEmulator| --> Security,T(L)=2018.05.07 10:00:00.000,Sec=S#:LKOH@TQBR, Native:,Type:
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент LKOH@TQBR подписается на Level1.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент LKOH@TQBR подписается на Trades.
2018/05/07 10:00:00.000|Debug |strategy_GASP@TQBR|Переход из состояния Stopped в Started.
2018/05/07 10:00:00.000| |strategy_GASP@TQBR|Стратегия Запущена. [0,-1]. Позиция 0.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент GASP@TQBR подписается на CandleTimeFrame 1.00:00:00.
2018/05/07 10:00:00.000|Debug |strategy_LKOH@TQBR|Переход из состояния Stopped в Started.
2018/05/07 10:00:00.000| |strategy_LKOH@TQBR|Стратегия Запущена. [0,-1]. Позиция 0.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент LKOH@TQBR подписается на CandleTimeFrame 1.00:00:00.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент GASP@TQBR подписан на Level1.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент GASP@TQBR подписан на Trades.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент LKOH@TQBR подписан на Level1.
2018/05/07 10:00:00.000|Debug |HistoryEmulationConnector|Инструмент LKOH@TQBR подписан на Trades.
2018/05/07 10:00:00.000|Error |HistoryBasketMessageAdapter|System.InvalidOperationException: Не найден подходящий адаптер для MarketData,T(L)=2018/05/07 10:00:00.000,Sec=S#:GASP@TQBR, Native:,Type:,Sec=S#:GASP@TQBR, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=1.00:00:00,TransId=11,OrigId=0.
в StockSharp.Algo.BasketMessageAdapter.GetSubscriptionAdapters(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataRequest(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.OnSendInMessage(Message message)
в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)
2018/05/07 10:00:00.000|Error |HistoryEmulationConnector|System.InvalidOperationException: Не найден подходящий адаптер для MarketData,T(L)=2018/05/07 10:00:00.000,Sec=S#:GASP@TQBR, Native:,Type:,Sec=S#:GASP@TQBR, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=1.00:00:00,TransId=11,OrigId=0.
в StockSharp.Algo.BasketMessageAdapter.GetSubscriptionAdapters(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataRequest(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.OnSendInMessage(Message message)
в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)
2018/05/07 10:00:00.000|Error |HistoryBasketMessageAdapter|System.InvalidOperationException: Не найден подходящий адаптер для MarketData,T(L)=2018/05/07 10:00:00.000,Sec=S#:LKOH@TQBR, Native:,Type:,Sec=S#:LKOH@TQBR, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=1.00:00:00,TransId=13,OrigId=0.
в StockSharp.Algo.BasketMessageAdapter.GetSubscriptionAdapters(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataRequest(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.OnSendInMessage(Message message)
в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)
2018/05/07 10:00:00.000|Error |HistoryEmulationConnector|System.InvalidOperationException: Не найден подходящий адаптер для MarketData,T(L)=2018/05/07 10:00:00.000,Sec=S#:LKOH@TQBR, Native:,Type:,Sec=S#:LKOH@TQBR, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=1.00:00:00,TransId=13,OrigId=0.
в StockSharp.Algo.BasketMessageAdapter.GetSubscriptionAdapters(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataRequest(MarketDataMessage mdMsg)
в StockSharp.Algo.BasketMessageAdapter.OnSendInMessage(Message message)
в StockSharp.Messages.MessageAdapter.SendInMessage(Message message)
2018/05/07 10:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Stopped -> Starting
2018/05/07 10:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Starting -> Started
2018/05/09 07:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Started -> Stopping
2018/05/09 07:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Stopping -> Stopped
2018/05/09 07:00:00.000| |HistoryEmulationConnector|Disconnect
2018/05/09 07:00:00.000| |HistoryBasketMessageAdapter|Disconnecting 'EmulationMessageAdapter'.
2018/05/09 07:00:00.000| |HistoryBasketMessageAdapter|Disconnected from 'EmulationMessageAdapter'.
2018/05/09 07:00:00.000| |HistoryBasketMessageAdapter|Disconnecting 'История (c 07.05.2018 10:00:00 +03:00 по 09.05.2018 10:00:00 +03:00)'.
2018/05/09 07:00:00.000| |HistoryBasketMessageAdapter|Disconnected from 'История (c 07.05.2018 10:00:00 +03:00 по 09.05.2018 10:00:00 +03:00)'.