Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1229
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет, не обязательно.
Но что заметил - это обязательно все расчётные буферы (INDICATOR_CALCULATIONS) должны идти после буферов с данными для отрисовки (INDICATOR_DATA)
Стоит хоть один расчётный буфер вставить между буферами для отрисовки, и все буферы, которые идут после расчётного, перестают отображаться на графике, но в окне данных их значения отображаются.
Как у вас в коде - не смотрел, но вдруг поможет...
Спасибо за ответ.
Да, видимо, это должно быть так, т.е. все гистограммы нужно собрать в конце.
Хотя я и не понимаю смысла этого требования. Но теперь проверю, конечно.
Спасибо.
Спасибо за ответ.
Да, видимо, это должно быть так, т.е. все гистограммы нужно собрать в конце.
Хотя я и не понимаю смысла этого требования. Но теперь проверю, конечно.
Спасибо.
Нет, не должно быть так. Вы внимательно мой предыдущий ответ прочитали?
Смысл вы сами себе придумали из-за своей же ошибки.
Привет.
Подскажите пожалуйста. В терминал МТ5 не загружаются демо версии советников из маркета, в журнале пишет:
2020.07.21 01:53:40.600 MQL5 Market failed to get of info product (www.mql5.com:443 send failed [404: Not Found])
2020.07.21 01:53:40.600 MQL5 Market product [ ХХХХХ ] not found in the database
Нет, не должно быть так. Вы внимательно мой предыдущий ответ прочитали?
Смысл вы сами себе придумали из-за своей же ошибки.
Да, я немного плаваю..
В моём индикаторе много расчётных буферов, все они имеют индекс меньше, чем все рисующие. В моём случае это работает нормально.
Проблема в отрисовках типа DRAW_HISTOGRAM2. Видимо, если их собрать внизу списка, это должно помочь.
Поэкспериментирую.
Спасибо.
Пытаюсь простейший вход сделат. Как я хотел - если цена открытия меньше цены закрытия на количество пунктов padenie (на предыдущем баре), то покупаем с началом нового бара, с учётом тейк профита и стоп лосса. Но что-то работает похоже совсем не так как я хотел. Помогите разобраться
Пытаюсь простейший вход сделат. Как я хотел - если цена открытия меньше цены закрытия на количество пунктов padenie (на предыдущем баре), то покупаем с началом нового бара, с учётом тейк профита и стоп лосса. Но что-то работает похоже совсем не так как я хотел. Помогите разобраться
Ошибка 1: Вы копируете ОДИН элемент - следовательно индекс элемента будет [0]
Open 100, Close 105 - бычий бар. Open - Close = 100 - 105 = - 5. '-5' всегда будет меньше Вашего заданного значения, так как результат получился отрицательное число.
Open 110, Close 103 - медвежий бар. Open - Close = 110 - 103 = 7. '7' положительное число и это уже будет работать правильно.
Итог: исправить обращение по индексу (вместо [1] нужно обращаться к индексу [0]. Перед расчетом учитывать тип свечи: бычья она или медвежья.
Продолжение вопроса о построениях DRAW_HISTOGRAM2.
Пример:
В представленном индикаторе удалось построить обе гистограммы. Неожиданной особенностью стало следующее:
Для обычных линий в записях #property indicator_colorn, #property indicator_typen и т.п. значение n на 1 больше индекса буфера.
Причём это требование сохраняется и для случая, если индексы буферов указаны не подряд, а между соседними есть свободные места.
Например, если используются индексы 0, 1, 2, 3, 8, то все пять линий благополучно отображаются.
Для построений типа DRAW_HISTOGRAM2 иное требование, а именно:
Если гистограммы указаны подряд, то в записях #property indicator_colorn, #property indicator_typen и т.п.
значение n рассчитывается по количественному счёту, а не от индекса буфера. В примере указаны индексы 5 и 6, хотя по логике ожидается 5 и 7.
Вся эта галиматНя приводит к тому, что понять каким должно быть значение n для обычной линии (красная), следующей за двумя гистограммами, вообще не представляется возможным.
В данном примере указано значение n=9, но это не работает, поэтому все строки, касающиеся буфера 8, закомментированы. Не получилось также и при других значениях n.
Вывод: все гистограммы должны быть указаны подряд в конце списка буферов. Причём, рассчитывать их значения следует просто подряд по количественному счёту (несмотря на индексы их буферов).
Понять это нельзя, но жить с этим можно.
Попутно: влияние порядка следования буферов типов INDICATOR_CALCULATIONS и INDICATOR_DATA не обнаружено.
Спасибо Владимиру Карпутову и Артёму Тришкину за участие в решении вопроса.
Продолжение вопроса о построениях DRAW_HISTOGRAM2.
Пример:
В представленном индикаторе удалось построить обе гистограммы. Неожиданной особенностью стало следующее:
Для обычных линий в записях #property indicator_colorn, #property indicator_typen и т.п. значение n на 1 больше индекса буфера.
Причём это требование сохраняется и для случая, если индексы буферов указаны не подряд, а между соседними есть свободные места.
Например, если используются индексы 0, 1, 2, 3, 8, то все пять линий благополучно отображаются.
Для построений типа DRAW_HISTOGRAM2 иное требование, а именно:
Если гистограммы указаны подряд, то в записях #property indicator_colorn, #property indicator_typen и т.п.
значение n рассчитывается по количественному счёту, а не от индекса буфера. В примере указаны индексы 5 и 6, хотя по логике ожидается 5 и 7.
Вся эта галиматНя приводит к тому, что понять каким должен быть индекс для обычной линии (красная), следующей за двумя гистограммами, вообще не представляется возможным.
В данном примере указано значение n=9, но это не работает, поэтому все строки, касающиеся буфера 8, закомментированы. Не получилось также и при других значениях n.
Вывод: все гистограммы должны быть указаны подряд в конце списка буферов. Причём, рассчитывать их значения следует просто подряд по количественному счёту (несмотря на индексы их буферов).
Понять это нельзя, но жить с этим можно.
Попутно: влияние порядка следования буферов типов INDICATOR_CALCULATIONS и INDICATOR_DATA не обнаружено.
Спасибо Владимиру Карпутову и Артёму Тришкину за участие в решении вопроса.
Пожалуйста. Но вы не решили вопрос.
В индикаторах нет зависимости от порядка следования разных типов буферов. Лишь расчётные должны быть после рисуемых.
Пожалуйста. Но вы не решили вопрос.
В индикаторах нет зависимости от порядка следования разных типов буферов. Лишь расчётные должны быть после рисуемых.
Без особой уверенности, но всё же полагаю, что оба эти утверждения ошибочны.
На счёт "нет зависимости". У меня не получилось никаким способом отобразить 8й буфер в последнем примере . Каким должен быть этот порядок.. Может быть, у Вас получится?
На счёт "расчётные .. после рисуемых". В моём индикаторе используется более 200 буферов, первые 100 из которых, - расчётные.
В моём случае это всё простые линии, поэтому расчёт n для #property ведётся от значения индекса буфера: n=b+1. И простые линии при этом отображается. Непонятки начинаются с появления гистограмм.
Без особой уверенности, но всё же полагаю, что оба эти утверждения ошибочны.
На счёт "нет зависимости". У меня не получилось никаким способом отобразить 8й буфер в последнем примере . Каким должен быть этот порядок.. Может быть, у Вас получится?
На счёт "расчётные .. после рисуемых". В моём индикаторе используется более 200 буферов, первые 100 из которых, - расчётные.
В моём случае это всё простые линии, поэтому расчёт n для #property ведётся от значения индекса буфера: n=b+1. И простые линии при этом отображается. Непонятки начинаются с появления гистограмм.
Не буду спорить. Создаю рисуемые буферы в абсолютно любой последовательности. Но стоит межу ними добавить расчётный буфер, как графические построения рисуемых индикаторов перестают отображаться на графике. В окне данных их значения остаются. Проводил множество тестов для описания в статьях создания индикаторов и их буферов. Пришёл к выводу, что только расчётные буферы (их расположение в порядке объявления индикаторных буферов) каким-то образом влияют на отображение/неотображение рисуемых.