Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 481
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может быть у кого-нибудь есть пример кода, который рисует какие-нибудь значки, например, стрелки на графике индикатора, при пересечении линий, если их две, или при пересечении "0" линии, или при любом другом критерии? Желательно, у верхней и нижней границы самомасштабирующегося индикаторного окна.
Нажмите "Загрузить". Автоматически загружаются только последние 2048 баров, остальные нужно пнуть.
Так это и вышло после "Загрузить" ...
Здравствуйте!
Может быть у кого-нибудь есть пример кода, который рисует какие-нибудь значки, например, стрелки на графике индикатора, при пересечении линий, если их две, или при пересечении "0" линии, или при любом другом критерии? Желательно, у верхней и нижней границы самомасштабирующегося индикаторного окна.
Вот из моего индюка, может, поможет. Код для МТ4, выкладываю, как есть. Там еще работа с логами.
Вот из моего индюка, может, поможет. Код для МТ4, выкладываю, как есть. Там еще работа с логами.
В Ваше примере это через объекты. Интересно, а можно это делать через массивы, чтобы при изменении масштаба, они всегда находились у верхней и нижней границ окна ?
Alexey Volchanskiy:
Спасибо Вам Алексей, что откликнулись!
В Ваше примере это через объекты. Интересно, а можно это делать через массивы, чтобы при изменении масштаба, они всегда находились у верхней и нижней границ окна ?
Насчет массивов не понял. Смотрите комменты, я добавил
Далее, если надо рисовать на верхней границе, делаем так
И почитайте справку в редакторе, тут подробно расписано с примерами
Справочник MQL4 / Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Насчет массивов не понял. Смотрите комменты, я добавил
Далее, если надо рисовать на верхней границе, делаем так
И почитайте справку в редакторе, тут подробно расписано с примерами
Справочник MQL4 / Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
С изменением
объекты нужно будет принудительно перерисовывать на заданном расстоянии от границ окна
С изменением
объекты нужно будет принудительно перерисовывать на заданном расстоянии от границ окна
Старые объекты остануться на своих местах - на старых ценах. Если надо их перемещать к границам, надо перерисовывать ручками. Просто я вашей задачи полностью не знаю.
Отследить изменение окна можно через OnChartEvent.
Старые объекты остануться на своих местах - на старых ценах. Если надо их перемещать к границам, надо перерисовывать ручками. Просто я вашей задачи полностью не знаю.
Отследить изменение окна можно через OnChartEvent.
Есть линия любого осциллятора в индикаторном окне, которая болтается относительно "0" с различной амплитудой.
Собственно, задача:
- при пересечении "0" снизу вверх, нарисовать стрелку у нижней границы индикаторного окна,
- при пересечении "0" сверху вниз, нарисовать стрелку у верхней границы индикаторного окна,
- при самомасштабировании графика осциллятора в индикаторном окне, стрелки должны автоматически оставаться у своих границ индикаторного окна.
Т.е. прокручивая чарт по истории взад-вперёд или меняя его горизонтальный масштаб, стрелки всё время у своих границ индикаторного окна.
На первый взгляд, задача простая, как три копейки. НО!....
Есть линия любого осциллятора в индикаторном окне, которая болтается относительно "0" с различной амплитудой.
Собственно, задача:
- при пересечении "0" снизу вверх, нарисовать стрелку у нижней границы индикаторного окна,
- при пересечении "0" сверху вниз, нарисовать стрелку у верхней границы индикаторного окна,
- при самомасштабировании графика осциллятора в индикаторном окне, стрелки должны автоматически оставаться у своих границ индикаторного окна.
Т.е. прокручивая чарт по истории взад-вперёд или меняя его горизонтальный масштаб, стрелки всё время у своих границ индикаторного окна.
Задача и есть довольно простая.
При изменении или прокрутке окна вызывается OnChartEvent, в ней передается событие без параметров:
Событие изменения графика CHARTEVENT_CHART_CHANGE
Если такое событие пришло, определяем левый и правый видимый бар и в этих пределах в индикаторном окне находим все стрелки. Если нашлась - передвигаем ее к нужной границе. Стрелкам при создании давать имена типа UpArrow***** и DownArrow*****, чтобы не парится с анализом. Потом на всякий вызвать ChartRedraw.