
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
r+s-1
why
-1
, please?
Thanks so much.
Hello, someone could explain me in
why
, please?
Thanks so much.
Да, проще русский язык выучить.
Я согласен с @okwh. Я все еще озадачен, почему цикл начинается с 1?
Я прочитал статью, на которую указал @Rashid Umarov. В ней говорится следующее:
По умолчанию все массивы и индикаторные буферы индексируются слева направо. Индекс первого элемента всегда равен нулю. Таким образом, самый первый элемент массива или индикаторного буфера с индексом 0 по умолчанию находится в крайней левой позиции, а последний элемент - в крайней правой позиции.
Я согласен с @okwh. Я все еще озадачен, почему цикл начинается с 1?
Я прочитал статью, на которую указал @Rashid Umarov. В ней говорится следующее:
По умолчанию все массивы и индикаторные буферы индексируются слева направо. Индекс первого элемента всегда равен нулю. Таким образом, самый первый элемент массива или индикаторного буфера с индексом 0 по умолчанию находится в крайней левой позиции, а последний элемент - в крайней правой позиции.
Потому что в данном конкретном примере индикатору нужно вычислить Close[1]-Close[0]. Тогда, если начало равно 0, это приведет к тому, что индикатор рассчитает отрицательный индекс: Close[0] - Close[-1]. Поэтому начало должно быть равно 1. Таким образом, индикатор вычислит: Close[1] - Close[0]. Что-то вроде: Close[start] - Close[start-1] написано в коде.
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];
Существует ли это на немецком языке?
В самой статье вы можете переключаться между различными доступными языками.
https://www.mql5.com/de/articles/10