int iMA(
string symbol, // имя символа
ENUM_TIMEFRAMES period, // период
int ma_period, // период усреднения
int ma_shift, // смещение индикатора по горизонтали
ENUM_MA_METHOD ma_method, // тип сглаживания
ENUM_APPLIED_PRICE applied_price // тип цены или handle
);
используя которую, можно получить тот же результат. Но. Как получить applied_price при использовании короткой формы int OnCalculate(). Иными словами, как добраться до значений во вкладке "Параметры" при инициализации индикатора?
Спасибо.
Спасибо. Это очень понятно и полезно для начинающих.
if(prev_calculated==0) // проверяем первый старт индикатора
first=MAPeriod-1+begin; // индекс старта для всех баров
else first=prev_calculated-1; // индекс старта для новых баров
when first=MAPeriod-1+begin; какой бар является текущим ? [0] или [rates_total] ?
when first=prev_calculated-1; это большое число, нужно повторить вычисление?
- 2010.03.03
- Nikolay Kositsin
- www.mql5.com
Спасибо за статью! Очень полезно материал для новичка и
для того кто переходит с другого языка.
Компьютерный перевод? Придумайте.
По сравнению с MQL4, субскрипты массива метрик вычисляются из прошлого и являются фиксированными, а не динамическими. Интересно, что произойдет, если запустить его на неделю или месяц? Все ли данные находятся в памяти? Если все в памяти, не будет ли он работать все медленнее и медленнее?
Однако на сайте https://www.mql5.com/zh/articles/31中又说:
- "Установка индекса элемента как последовательности такая же, как и в MQL4" - Что это значит? В нашем примере мы используем индекс элемента как временную последовательность. Другими словами, текущий столбец (еще не сформированный) всегда имеет индекс [0], предыдущий (уже сформированный) - индекс [1] и так далее.
Поэтому будьте внимательны к тому, какой регистр используется на самом деле. В большинстве примеров на MQL4 используется индексный массив с индексом current равным 0, в большинстве примеров на MQL5 используется подскрипт индексного массива с индексом past равным 0.
- 2013.09.04
- Sergey Pavlov
- www.mql5.com
Компьютерный перевод? Придется обойтись.
По сравнению с MQL4, субскрипты массива метрик вычисляются из прошлого и являются фиксированными, а не динамическими. Интересно, что произойдет, если запустить его на неделю или месяц? Все ли данные находятся в памяти? Если все в памяти, не будет ли он работать все медленнее и медленнее?
Однако на сайте https://www.mql5.com/zh/articles/31中又说:
- "Установка индекса элемента как последовательности такая же, как в MQL4" - что это значит? В нашем примере мы используем индекс элемента как временную последовательность. Другими словами, текущий столбец (еще не сформированный) всегда имеет индекс [0], предыдущий (уже сформированный) - индекс [1] и так далее.
Поэтому будьте внимательны, какой случай используется на самом деле. В большинстве примеров на MQL4 используется массив индикаторов с текущим значением 0, а в большинстве примеров на MQL5 - массив индикаторов с подстрочными индексами с прошлым значением 0.
Функция ArraySetAsSeries() используется в MQL5 для преобразования динамических массивов (выделение памяти для хранения последних значений в направлении большего индекса) в форму временного ряда, то есть самые новые данные хранятся по индексу 0, следующие самые новые данные - по индексу 1, и так далее, причем самые новые данные будут храниться по индексу 0 вечно.
Читаем с помощью функции copybuffer (), с позиции индекса 0 начинаем читать назад элементы массива, читаем, сколько собственных определений в строке.
Николай!
Не подскажешь мне почем у при попытке заполнить в цикле индикаторный массив по формуле Mass[ i ]= Mass[ i+1]+А; где А переменная, компиляция проходит без ошибок а при присоединению к окну выходит сообщение array out of range (выход из размера массива)?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Пользовательские индикаторы в MQL5 для начинающих:
Любой новый предмет для новичка с первого взгляда кажется сложным для понимания. Нам кажется простым и ясным то, что мы уже знаем. Но мы просто не помним, что всем нам когда-то приходилось изучать с нуля, даже родной язык, на котором мы разговариваем. Так и язык MQL5, таящий в себе огромные возможности для написания торговых стратегий, можно начать изучать с базовых понятий и примеров. Мало-помалу, и настанет тот день, когда владение им будет таким же естественным и простым, как умение ходить. В этой статье на примере пользовательского индикатора SMA рассматривается взаимодействие технического индикатора с клиентским терминалом MetaTrader 5.
Автор: Nikolay Kositsin