Непонятно. Почему так?

 

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

Тот который с функцией - сливает,


а с массивами - всё нормально:

Символ EURUSD (Euro vs US Dollar)
Период 15 Минут (M15) 2008.01.02 10:00 - 2008.12.29 23:59 (2008.01.01 - 2008.12.30)
Модель По ценам открытия (только для советников с явным контролем открытия баров)
Параметры FIXLOT=0.1; MAXIMUMRISK=0.1; MyPeriod=12; AngleLimit=4.5;
Почему?

p/s: Индикатор не перерисовывающийся

 
А здесь я прикрепляю прибыльный советник
Файлы:
mlsnv7.mq4  8 kb
 
нулевой бар это абстракция которая при работе функции формируется, а в истории лежит как данное
 

Так я не нулевой бар запрашиваю, а первый.

В первом варианте это:

double Angle(int index) {
  return(iCustom(NULL,0,"MLS-HL4-Angle",MyPeriod,0,index+1));
}

А во втором:

Angle[0]=iCustom(NULL,0,"MLS-HL4-Angle",MyPeriod,0,1);

 
значит - кастом перерисовывается, ну чем еще история отличается от вживую
 
Вот индикаторы, которые я использую. Пока откомпелированные. Позже выложу в Code Base с описанием, если времени хватит. В основе индикаторов лежит метод наименьших квадратов.
Файлы:
 
static double stoplimit, spread, MINLOTS, MAXLOTS, LOTVAL, round, Angle[3];
В массиве Angle должно быть три элемента, у вас два.
 
ОООООООО!!! огромное спасибо! действительно так. А то я в шоке уже два дня хожу. С Наступающим всех!
Причина обращения: