На примере SampleSmartSMA попробовал разобраться как работать с этой библиотекой.
- Если поменять таймфрейм на SmartTimeFrames.Minute1 то _candleManager.GetTimeFrameCandle(base.Security, base.TimeFrame, _nextTime - base.TimeFrame); почти всегда возвращает null. Если время на локальном компьютере отличается от времени Trader.MarketTime то со 100% вероятностью это происходит.
- ProcessDataError - часто возникает событие сo stackoverflowexception.
Как с этим бороться?
Kommentare (14)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Пришлите текст второй ошибки. По первому могу сказать лишь то, что надо пример дорабатывать жизненными условиями.
Про жизненные условия не понял фразы:( У меня не получается получать свечки в онлайне. Т.е. GetTimeFrameCandle не возвращает данных, хотя потом если по истории посмотреть в этот период были сделки. Текст ошибки пришлю, когда тестовый сервер заработает, т.е. после праздников как я понимаю.
Я имел ввиду то, что надо и в других местах исправлять тайм фрейм. В частности, RegisterTimeFrameCandles.
Во всех местах исправил, в частности RegisterTimeFrameCandles, RegisterHistoryData ну и : private readonly TimeSpan _timeFrame = (TimeSpan)SmartTimeFrames.Minute1;
Иногда бывает так, что обращение идет раньше, чем есть реально сделки.
Если время на локальном компьютере отличается от времени Trader.MarketTime то candleManager.GetTimeFrameCandle(base.Security, base.TimeFrame, _nextTime - base.TimeFrame); возвращает null. Такого по идее не должно быть, может где то локально время в исходниках используется вместо Trader.MarketTime?
Биржевое время
время выставил в итоге на компьютере с точностью до 2 секунд с московским. Но все равно минутные свечи не возвращаются candleManager.GetTimeFrameCandle :( раз 20 запускал в отладчике.
Вы посмотрите, время правильное передается в GetTimeFrameCandle?
А на самом графике текущая свечка рисуется?
Предлагаю начать хоть с какого-то поиска неисправности. Пишите в лог, регулярно ли приходят новые сделки, создаются свечки (+ за какой период).
Сейчас не воспроизводится, похоже с тестового сервера с задержкой данные приходили и поэтому алгоритм не работал