Подскажите пожалуйста, где ошибка в индикаторе.

 

Нарисовал индикатор, суть его в том, что считает среднюю цену открытия всех ордеров по инструменту, к которому прикреплен (предполагается что все ордера либо buy, либо sell). Потом напишу для любых ордеров, просто сказали что это пока не нужно. Проблема заключается в следующем, при каждом новом тике, эта сволочь плюсует количество ордеров и их цен открытия, качество показания индикатора от этого не ухудшается, так как высчитывается среднее арифметическое, но double тоже не резиновый, да и вобще выводит из себя растущее кол-во лотов. Догадываюсь что ошибка какая-то детская, но голова совсем уже что-то не варит. Кто увидит ошибку, подскажите, как поправить, пожалуйста.

Файлы:
 
StSpirit писал(а) >>

Нарисовал индикатор, суть его в том, что считает среднюю цену открытия всех ордеров по инструменту, к которому прикреплен (предполагается что все ордера либо buy, либо sell). Потом напишу для любых ордеров, просто сказали что это пока не нужно. Проблема заключается в следующем, при каждом новом тике, эта сволочь плюсует количество ордеров и их цен открытия, качество показания индикатора от этого не ухудшается, так как высчитывается среднее арифметическое, но double тоже не резиновый, да и вобще выводит из себя растущее кол-во лотов. Догадываюсь что ошибка какая-то детская, но голова совсем уже что-то не варит. Кто увидит ошибку, подскажите, как поправить, пожалуйста.

Посмотри этот вариант

Я перенес эту строку double a=0, b=0, price_ask=0, price_bid=0; в функцию старт. Так как не было инициализации переменных, могло произойти их переполнение.

Файлы:
 
Спасибо, Виктор, да, так все работает нормально.