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