Разбираюсь с примером Quik SampleSMA. В этом примере если запускать робота не с начала дня, то сыпятся сделки по приходу свечек из истории. Есть ли какой-либо метод, чтобы запретить выставлять ордера на биржу, пока не будет закачана вся история?
Роман.
Kommentare (10)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
В сделке есть время, есть время запуска стратегии. Можно сравнить.
Да, я уже понял
Помимо этого в примере не обрабатывается построение МАшек при загрузке истории:
Статус свечек, загруженных из файла равен NULL, и они не строятся на графике и, соответственно, не рассчитывают МА. Плюс ко всему в риалтайме машки также считаются непонять как (скорее всего и в окне, и в стратегии расчет дублируется), но я еще не понял, что там нужно поправить.
candle.CloseTime не пойдет, всегда возвращает конец таймфрейма, а не время последней сделки свечки. Подскажите, как можно получить тиковые сделки по свечке или время последнего изменения свечки?
я делал так:
Кривовато, но работает.
Спасибо. Я сделал еще более коряво, но вроде тоже работает (пока изучаю):
Ооочень медленный способ. Дело в том, что так у вас будет каждый тик копироваться и пересоздаваться в памяти весь массив имеющихся тиков. Уже не говоря о том, что памяти будет расходовать будь здоров.
Да, я знаю, просто пока только начал разбираться с библиотекой, и многих моментов просто не знаю. Плюс еще сам с# не особо знаком, так что пока разбираюсь с примерами и делаю как более очевидно для меня 😀
PS а что за метод CopyFrom?
Ясно, я думал какая-то библиотека c# :)
Вот что у меня получилось, вроде работает, и не надо переопределять свечи:
Не уверен, нужно ли сначала удалять TimeFrameCandleBuilder, но вроде работает
CloseTime - это время закрытия свечи, а не время последнего обновления. То, что вы исправили одно место, где логика зависит от правильного CloseTime (IsCandleFinishedBeforeChange), не означает, что нет других таких мест. Наверняка они есть. А значит, от такого фикса могут возникать труднообнаружимые проблемы. Да и после того, как вы таким образом проехались по всем свечкам, CloseTime у них будет расставлен совершенно в разнобой, так как последний тик не обязательно приходит в последнюю секунду, и всегда неверно, так как последний тик свечи всегда идет раньше чем настоящий CloseTime.