doubleMA_temp[];
doubleMA_min[];
doubleMA_max[];
intMA_min_pos;
intMA_max_pos;
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intstart(){intcounted_bars=IndicatorCounted();
//---- last counted bar will be recountedif(counted_bars>0)counted_bars--;
intlimit;
limit=Bars-counted_bars;
//----for(intj=limit; j>=0; j--){MA_temp[j]=iMA(0,0,MA_Period,MA_Shift,MA_Method,MA_Price,j);
}for(inti=limit-30-MA_Period; i>=0; i--){MA_min_pos=ArrayMinimum(MA_temp,29,i);
MA_max_pos=ArrayMaximum(MA_temp,29,i);
MA_min[i]=MA_temp[MA_min_pos];
MA_max[i]=MA_temp[MA_max_pos];
}return(0);
}
в индикаторе работает безупречно- в окне данных отображаются все три буфера
однако, если индикатор вызывается с советника- передаётся только первый буфер, ( вот вывод через Print() ), почему ??? а второй и третий выдают какую то ерунду. Что я опять напутал ? Никак не могу понять в чём дело
Во-первых, limit=Bars-30-MA_Period-counted_bars
А во-вторых, MA_min[i]=MA_temp[MA_min_pos] а MA_max = MA_temp[MA_max_pos]
Наконец разобрался - чуть не посинел :)
Интерестная штука - вот эта вот вещь
limit=Bars-30-MA_Period-counted_bars;
в индикаторе работает безупречно, а вот из советника делает
проблемы - непонятно.
и выходит, все переменные, зависящие от цикла, где limit тким образом
представлен - не передаютсья
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
в индикаторе работает безупречно- в окне данных отображаются все три буфера
однако, если индикатор вызывается с советника- передаётся только первый буфер, ( вот вывод через Print() ), почему ???
а второй и третий выдают какую то ерунду. Что я опять напутал ?
Никак не могу понять в чём дело
Where is the Print() here? And where EA?
параметры в индикатор не передаю, так как экстерных переменных нет
Во-первых, limit=Bars-30-MA_Period-counted_bars
А во-вторых, MA_min[i]=MA_temp[MA_min_pos] а MA_max = MA_temp[MA_max_pos]
Интерестная штука - вот эта вот вещь
в индикаторе работает безупречно, а вот из советника делает проблемы - непонятно.
и выходит, все переменные, зависящие от цикла, где limit тким образом представлен - не передаютсья
параметры в индикатор не передаю, так как экстерных переменных нет
Пользовательские индикаторы можно вызывать только с указанием имени инструмента (тип string ) или с указанием макроподстановки NULL. То есть:
Пользовательские индикаторы можно вызывать только с указанием имени инструмента (тип string ) или с указанием макроподстановки NULL. То есть:
правда результат на данный момент не меняетсья
ошибка была действительно в лимите
Пользовательские индикаторы можно вызывать только с указанием имени инструмента (тип string ) или с указанием макроподстановки NULL. То есть:
правда результат на данный момент не меняетсья
ошибка была действительно в лимите
Я никогда не иду в глубь кода(читай - анализ алгоритма), если вижу ошибку уже на поверхности (читай - синтаксис ) - нет смысла.