Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И еще. В тестере стратегий MT5 PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) инициализирует буфер и проблем с отрисовкой нет.
Почему тогда в тестере стратегий работает?
PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) никогда не был предназначен для ИНИЦИАЛИЗАЦИИ. Это только управление отрисовкой, если в буфере есть значение EMPTY_VALUE. Если что-то там инициализировалось - то это только случайное совпадение.
А если прикрепить просто индикатор на график, тоже инициализации буферов нет. А в МТ4 есть.
Кто еще из нас разводит цирк?
Пора бы уже показать ПРОСТОЙ индикатор MQL5. Там сразу и разберём пример применения и PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) и инициализации при первом старте или при подкачке истории.
PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) никогда не был предназначен для ИНИЦИАЛИЗАЦИИ. Это только управление отрисовкой, если в буфере есть значение EMPTY_VALUE. Если что-то там инициализировалось - то это только случайное совпадение.
В программировании совпадений нет
Когда Выделятся память под переменную или массив, эта память может содержать любой мусор. Иногда этот мусор может быть даже "0.0", а иногда какое-то случаное число. И задача писателя в индикаторе как раз отловить момент первого запуска или подкачки истории и проинициализировать индикаторный буфер.
Ладно если вы так не считаете, решение есть, можно тему закрыть.
Спасибо за ответы!
Ладно если вы так не считаете, решение есть, можно тему закрыть.
Спасибо за ответы!
Если не хотите публичности - позвоните по скайпу, покажу и научу.
Если не хотите публичности - позвоните по скайпу, покажу и научу.
Я знаю как буферы инициализировать я кусок кода выложил. Но повторюсь, что в МТ4 аналогичная функция инициализировала буфер новым значением.
Это значит что в МТ4 было сделано не правильно?
Там то же самое, что и в МТ5. Нет практически никакой разницы - лишь в нюансах. А логика та же самая. Но вот если вы в МТ4 не инициализировали буферы индикатора при первом старте или подкачке истории, то это баг вашей программы, а не МТ4 или МТ5.
Там то же самое, что и в МТ5. Нет практически никакой разницы - лишь в нюансах. А логика та же самая. Но вот если вы в МТ4 не инициализировали буферы индикатора при первом старте или подкачке истории, то это баг вашей программы, а не МТ4 или МТ5.
А вы всегда инициализируете буферы в функции OnCalculate() ? Скажу больше и никто не инициализирует в MT4 и в МТ5. Я много индикаторов за все время повидал. Откройте примеры МТ5 и МТ4 и посмотрите сначала.
При этом при вычислениях не обязательно также заполнять буфер значением EMPTY_VALUE в MT4 и в МТ5. Нужно лишь заполнить нужные значения индикатора. А это значит, что буфер был инициализирован изначально.