_new-rena:
Или по старинке методом сравнения :)
Проще использовать такое (поскольку код выше на MQL4)
Alexey:
Или по старинке методом сравнения :)
по разному можно. код у человека слишком крут для решения элементарной задачи, вот и советуем...
Или по старинке методом сравнения :)
_new-rena:
по разному можно. код у человека слишком крут для решения элементарной задачи, вот и советуем...
Тогда надо было посоветовать, чтобы хотя бы недельку подумал и попытался сам разобраться. Это бы пошло на пользу!
по разному можно. код у человека слишком крут для решения элементарной задачи, вот и советуем...
MaaForex:
Добрый день, в программировании новичек (1й день пытаюсь что-то сделать), хотел бы создать индикатор, который бы вычислял самый максимальный High свечи в промежутке +/- n свечей от анализируемой. Вроде написал, вроде верно, но считает не правильно, подскажите пожалуйста в чем причина, текст индикатора вот такой:
Помогите пожалуйста разобраться в чем причина, ума не приложу, где ошибка.
Сегодня, как раз, что-то подобное делал. Получилось не совсем, что предполагал увидеть. Видно, что когда сдвигается индекс бара, находится экстремум совсем рядом, меньше или больше предшествующего.
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Magenta #property indicator_color2 Aqua //--- input parameters extern int istart =0;//откуда начинается поиск минимума цены extern int q =49;//кол-во элементов для поиска //--- buffers double Max[]; double Min[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(2); SetIndexBuffer(1,Min); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,116); SetIndexEmptyValue(1,0.0); SetIndexBuffer(0,Max); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,116); SetIndexEmptyValue(0,0.0); IndicatorDigits(Digits+1); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(),limit, i,minbar,maxbar; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars-1; for(i=0;i<limit;i++) { double Low_[]; double High_[]; ArraySetAsSeries(Low_,true); ArraySetAsSeries(High_,true); int start_=istart ;//откуда ищем CopyLow(_Symbol,_Period,i+start_,q,Low_); CopyHigh(_Symbol,_Period,i+start_,q,High_); minbar=ArrayMinimum(Low_)+start_; maxbar=ArrayMaximum(High_)+start_; Max[i+maxbar]=High[i+maxbar]; Min[i+minbar]=Low[i+minbar]; } return(0); } //+------------------------------------------------------------------+
можно вывести эти строки за пределы цикла, тогда будет находится текущие экстремумы
Max[i+maxbar]=High[i+maxbar];
Min[i+minbar]=Low[i+minbar];
Проще всего использовать iHighest - ничего сложного
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день, в программировании новичек (1й день пытаюсь что-то сделать), хотел бы создать индикатор, который бы вычислял самый максимальный High свечи в промежутке +/- n свечей от анализируемой. Вроде написал, вроде верно, но считает не правильно, подскажите пожалуйста в чем причина, текст индикатора вот такой:
Помогите пожалуйста разобраться в чем причина, ума не приложу, где ошибка.