
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
for(int i=1;i<rates_total;i++)
{
MTMBuffer[i]=price[i]-price[i-1];
AbsMTMBuffer[i]=fabs(MTMBuffer[i]);
}
Зачем использовать [i-1] для вычисления [i] и начинать i=1 ? нет [0] ?
MTMBuffer[i]=price[i]-price[i-1];
Здравствуйте.
В общем случае, если вы используете одну из родных функций индикатора mql5, которая начинается с "i", то вам не нужно обращать внимание на маршрут. Копировальный буфер сделает это за вас.
С другой стороны, если вы идете по определенному маршруту, вы должны обратить внимание на количество баров, особенно при первом проходе, потому что иначе вы рискуете выйти за пределы диапазона
Посмотрите на код этого rsi , который использует Irsi, нет позиции для курса и все идет хорошо.
С другой стороны, этот Rsi не проходит через функцию.
Все рассчитывается, так сказать, вручную, и вы должны хорошо выполнить позиционирование, чтобы все прошло гладко.
Почему в oninit
нужно возвращать 0?
Почему в oninit
нужно возвращать 0?
В MQL5 функция OnInit() вызывается при инициализации индикатора, советника (EA) или скрипта. Ожидается, что она вернет целочисленное значение, сигнализирующее об успехе или неудаче процесса инициализации.
Если OnInit() возвращает 0, это означает, что инициализация прошла успешно. Если вам нужно сигнализировать о том, что во время инициализации что-то пошло не так, вы можете вернуть ненулевое значение, которое не позволит индикатору, советнику или скрипту работать правильно.