Непрочитанное сообщение BugsDigger » 04 сен 2021, 09:43
1. При просмотре исторических данных (листании графика, в тестировании по истории) доступны только следующие данные: время начала свечи, цены открытия/закрытия/верх/низ, объем в свече и количество опрераций по Ask/Bid. Понятно, что все цены внутри свечи недоступны. Т.о., если вы работаете с историей с часовым ТФ, вы видите только часовые отметки времени. Если переключитесь на минуты, то получите данные внутри минуты, привязанные к началу этой минуты.
(Между прочим, при срабатывании вашего индикатора будет запись в файл, но т.к. при листании графика вперед-назад индикатор пересчитывается, вы получите, насколько я понимаю, множество записей, расположенных в беспорядке по времени, если только при старте индикатора (CurrentIndex=0) не будете каждый раз стирать из файла старые данные.)
2. При реальной работе последняя ("живая") свеча и индикаторы на графике пересчитываются несколько раз в секунду (примерно 3 раза в секунду на глаз), соответственно вы видите какую-то случайно выхваченную (поскольку между обновлениями индикатора могут пройти несколько сделок) текущую цену закрытия и накопленные к этому моменту в свече цены High/Low.
Каждый раз при срабатывании индикатора (внутри свечи) должна происходить запись в файл, но какое время выдаст вам CurrentTime? Думаю, что время начала свечи. Можно, конечно, попробовать вместо CurrentTime использовать системную ф-цию Now(), но тогда при просмотре истории в файл вместо времени свечи будет попадать текущее системное время. Чтобы этого избежать, можно попробовать сравнить Now с CurrentTime, и если CurrentTime<=Now<=CurrentTime+таймфрейм, использовать время из Now, иначе - CurrentTime. Но при листании графика вы, фактически, обязаны стереть старые "детальные" в начале рассчета, так что эта детализация пропадет. (Можно, конечно, не стирать, но тогда при разборе накопленных данных вам нужно будет их как-то рассортировать; мало того, при листании графика в файл добавятся "фейковые" события, привязанные уже к началу свечки, которых не было в исходных данных; см. п.1).
Как-то так.