Сдвиг буфера данных индикатора, что является причиной и как с этим бороться? - страница 4

 
Artyom Trishkin:
Полный перерасчет - когда rates_total - prev_calculated > 1

rates_total - prev_calculated > 1, при условии prev_calculated = 0, я получаю мусор в буфере индикатора и тут я должен делать полный перерасчет, зэбест.

 
Unicornis:

В тестере mt4 замечена ситуация, при тестировании на полной скорости, в тестируемый индикатор вызовы поступают не подряд, т.е. на следующем вызове rates_total - prev_calculated может быть равно 4, 10, 157 и т.д. в ТиП я об этом писал. Так что "rates_total - prev_calculated > 1" никак  не аргумент для полного пересчета индикатора.

Спасибо, за изначально верную мысль, я уже и забыл что prev_calculated = 0, это не только при первом вызове после инициализации, просто не видел связи с буфером индикатора, теперь то понятно, что как только prev_calculated = 0 история с расчетом повторяется....

Спасибо еще раз.

 
secret:

Если это то, о чем я думаю,

то когда число баров на графике превысит настройку терминала "Макс. баров в окне", МТ частично обрезает "лишние", по его мнению, бары справа (бары индикаторных буферов, но не цен).

В результате индикатор, накапливающий данные в реальном времени (например индикатор спреда) безвозвратно теряет часть накопленных данных.

Я детектирую это так, что 

на очередном тике становится меньше чем на предыдущем, а не больше.

Данные индикаторных буферов, которые при этом будут потеряны, на каждом тике сохраняю в свой массив, а после потери восстанавливаю.

Спасибо, учту это.

 
Меня ждет веселье, так как изначально не собирался перерасчитывать буфер индикатора, а только его часть. Всем спасибо, за помощь!