Подскажите плиз как определить max и min скользящей средней которые сформировались в тикущей сессии (дня), к примеру, на 5 мин графике
не могу разобраться с этой функцией ArrayMaximum () , как её использавать
Заранее Благодарен
Создай буфер-туда запихни данные МА-потом ArrayMaximum ()
хотя логичней тогда перебрать бары которые находятся в дипазоне времени и там найти наибольший МА
Подскажите плиз как определить max и min скользящей средней которые сформировались в тикущей сессии (дня), к примеру, на 5 мин графике
не могу разобраться с этой функцией ArrayMaximum () , как её использавать
Заранее Благодарен
для работы функции, нужен дополнительный массив с данными индикатора
int bars=50; double IndMa[bars];
Забиваем массив данными
for (int i=0; i<=bars-1; i++) { IndMa[i]=iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // Запишем данные инд. }
И
int max=ArrayMaximum(IndMa,WHOLE_ARRAY,0); int min=ArrayMinimum(IndMa,WHOLE_ARRAY,0); Print("Min = ",IndMa[min]); Print("Max = ",IndMa[max]);
Как то так.
Подскажите плиз как определить max и min скользящей средней которые сформировались в тикущей сессии (дня), к примеру, на 5 мин графике
не могу разобраться с этой функцией ArrayMaximum () , как её использавать
Заранее Благодарен
Пишем индикатора, в индикаторе значение МА складываем в индикаторный буфер, потом применяем к этому буферу ArrayMaximum (), значение складываем еще в один буфер. Из эксперта вызываем индикатора через iCustom и смотрим значения буфера с максимумами. Это единственный нормальный вариант. Остальные варианты или тормозные или ненадежные.
Пишем индикатора, в индикаторе значение МА складываем в индикаторный буфер, потом применяем к этому буферу ArrayMaximum (), значение складываем еще в один буфер. Из эксперта вызываем индикатора через iCustom и смотрим значения буфера с максимумами. Это единственный нормальный вариант. Остальные варианты или тормозные или ненадежные.
Не нужны, ни массивы, ни индикаторы. Пишу "на коленке"
// на глобальном уровне определяем переменные, в которые будем записывать // номера баров, на которых достигаются максимум и минимум МА // Наверняка, интересно, в какой последовательности, и когда произошли события int nmax, nmin; // процедура вычисляет номера баров, на которых МА достигает минимума и максимума за интервал баров // входящий параметр nlimit // если nlimit <= 0, то значения экстремумов вычисляются в течение текущих суток, начиная с // нуля часов по серверному времени // иначе, для расчета берется nlimit баров void minmaxMA( int nlimit ) { double r, rmax, rmin; // рабочие переменные int i, limit; // i - индекс, limit - количество баров для расчета минимума и максимума limit = nlimit: if ( limit <= 0 ) { // расчет будет вестись только в пределах текущих суток // вычисляем номер последнего бара в предыдущих сутках nlimit = iBarShift( NULL, 0, iTime( NULL, PERIOD_D1, 0 ) ); // корректируем nlimit, если ближайший бар попал в текущие сутки if ( Time[ nlimit ] >= iTime( NULL, PERIOD_D1, 0 ) ) nlimit ++; } // вычисляем стартовые значения цикла для нулевого бара nmax = 0; nmin = 0; // ... - это параметры МА: ma_period, ma_shift, ma_method, applied_price. r = iMA( NULL, 0, ..., ..., ..., ..., 0); rmax = r; rmin = r; // поиск максимума и минимума for ( i = 1; i < nlimit; i ++ ) { r = iMA( NULL, 0, ..., ..., ..., ..., i); if ( r > rmax ) //новый максимум { rmax = r; nmax = i}; if ( r < rmin ) //новый минимум { rmin = r; nmin = i}; } }
Пишем индикатора, в индикаторе значение МА складываем в индикаторный буфер, потом применяем к этому буферу ArrayMaximum (), значение складываем еще в один буфер. Из эксперта вызываем индикатора через iCustom и смотрим значения буфера с максимумами. Это единственный нормальный вариант. Остальные варианты или тормозные или ненадежные.
Не нужны, ни массивы, ни индикаторы. Пишу "на коленке"
Если используете динамический расчет скользящей средней (по значению ее производной), то размер кода и вычислительную сложность сократите на порядок.
Это все понятно. Я пишу простой и понятный код для топикстартера.
В наши дни мы учились на "Построение и анализ вычислительных алгоритмов". А. Ахо и прочие. Для венчурных решений оптимальность не обязательна.
Это все понятно. Я пишу простой и понятный код для топикстартера.
В наши дни мы учились на "Построение и анализ вычислительных алгоритмов". А. Ахо и прочие. Для венчурных решений оптимальность не обязательна.
МВА?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите плиз как определить max и min скользящей средней которые сформировались в тикущей сессии (дня), к примеру, на 5 мин графике
не могу разобраться с этой функцией ArrayMaximum () , как её использавать
Заранее Благодарен