Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Николай!
Не подскажешь мне почем у при попытке заполнить в цикле индикаторный массив по формуле Mass[ i ]= Mass[ i+1]+А; где А переменная, компиляция проходит без ошибок а при присоединению к окну выходит сообщение array out of range (выход из размера массива)?
Николай, спасибо. Это отличный учебник!
Но я думаю, что переменная
в коде всегда будет иметь нулевое значение. Это важно для расчета?
Николай, спасибо. Это отличный учебник!
Но я думаю, что переменная
в коде всегда будет иметь нулевое значение. Это важно для расчета?
Значение "begin" будет разным в зависимости от того, к какому индикатору применяется. Если вы применяете RSI, то"begin" будет 14, например.
При первой попытке компиляции может возникнуть ошибка буфера. Поэтому, пожалуйста, измените количество буферов:
#property indicator_buffers 2
В дальнейшем вы можете вернуться к 1 (одному) буферу:
#property indicator_buffers 1
Я не понимаю. Предположим,
rates_total == MA_Period - 1
и это первый вызов функции, поэтому
prev_calculated == 0
а также begin == 0
тогда условие в первом if(rates_total < MA_Period - 1 + begin) оценивается как false
тогда
first = MA_Period - 1 будет выполнено
но тогда НЕТ РАСЧЕТОВ, потому что условие в первом цикле for оценивается как ложное.
Я думаю, что первое условие if должно быть следующим
if( rates_total < MA_Period + begin )
Я что-то упустил?
И еще одно. Почему я должен начинать расчеты с бара с номером (prev_calculated - 1), если я уже рассчитал индикатор prev_calculated раз?
Например, я рассчитал индикатор 5 раз для баров 0, 1, 2, 3 и 4. Мне не нужно снова рассчитывать его на баре 4. Я должен продолжить с бара 5.
И еще одно. Почему я должен начинать расчеты с бара с номером (prev_calculated - 1), если я уже рассчитывал индикатор prev_calculated раз?
Например, я рассчитал индикатор 5 раз для баров 0, 1, 2, 3 и 4. Мне не нужно снова рассчитывать его на баре 4. Я должен продолжить с бара 5.