Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»

Рекомендуемые сообщения

Тема создана для форумянина - vladkopanov - для ведения ветки по рисованию в МТ5

 

 

Участникам:

- получить советы по рисованию в МТ5

- вопросы, просьбы о помощи

- советы из личной практики

- рекомендации в доработке

 

Посты на другие темы (флейм) не писать

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 75
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Всем здравствуйте!

 

Идея создания программы возникла после недели рисования по ТС МФ в МТ5. Приветствуются все грамотные пожелания по поводу программы. Т.к. программа для начинающих (я сам – начинающий), то девиз программы – «Как можно проще». Чтобы человек ,скопировав файл программы, открыл MetaEditor, скомпилировал программу и начал работать. При желании можно в начале программы отредактировать цвета, св-ва по умолчанию, цвет выделенной и не выделенной метки, цвет фона, а уже потом ее скомпилировать.

 

Программу нужно скопировать в папку терминала \MetaTrader 5\MQL5\Experts. Для тех, кто не знает, где она, нужно кликнуть в МТ5 в меню Файл и выбрать Открыть каталог данных. Откроется папка \MetaTrader 5. Дальше проходим в \MQL5\Experts и копируем туда программу. Библиотеку GetXY.mqh (для примагничивания) кидаем в папку \MQL5\Include\. А индикатор (для служебной панели) кидаем в папку \MQL5\Indicators\

http://s58.radikal.ru/i162/1307/e6/91f80eaece74.png

 

 

Затем программу и индикатор нужно скомпилировать. Для этого нужно открыть Metaeditor. В МТ5 его можно открыть, щелкнув в меню Сервис и выбрать Редактор MetaQuotes Language.

http://s58.radikal.ru/i160/1307/4a/5b2c59111139.png

В Metaeditor щелкаем в меню Файл и выбираем Открыть. Находим программу в \MQL5\Experts и открываем ее.

http://i036.radikal.ru/1307/bb/c5a498c03993.png

В Metaeditor щелкаем в меню Файл и выбираем Компилировать.

То же самое повторяем с индикатором.

http://s50.radikal.ru/i127/1307/1a/f76de2b1f9a5.png

 

Уже в МТ5 находим скомпилированную программу и кидаем на график.

http://s019.radikal.ru/i616/1307/73/5106f19d5cf3.png

 

В итоге дожно получиться вот так.

http://s019.radikal.ru/i644/1307/59/dc7c91e5aef3.png

 

При клике по меткам 1, 2 ,3 сворачиваются и разворачиваются служебные окна 1 или 2.

При клике по меткам ↑,↓ (гор.клавиши "стрелка вверх" и "стрелка вниз") соответственно, разворачиваются и сворачиваются все служебные окна

http://s60.radikal.ru/i170/1307/95/75bd6b7eb86b.png

Ссылка на комментарий
Поделиться на другие сайты

При выделении метки Del (гор.клавиша ~, русская Ё) – включается режим удаления объектов, и при следующих кликах по графическим объектам, объекты удаляются. Режим удаления выключается снятием выделения Del.

 

При выделении Hide – включается режим скрытия объектов, и при следующих кликах по графическим объектам, объекты скрываются. Режим скрытия выключается снятием выделения Hide. Отобразить скрытые объекты можно кликнув по метке DisplayAll.

 

При выделении FillOn включается режим копирования св-ва прямоугольника «Заливка цветом». При следующем клике по прямоугольнику (Rectangle), прямоугольник будет залит цветом.

При выделении FillOff и следующем клике по прямоугольнику с «заливкой», заливка будет убрана.

 

При выделении Solid или Dash – включается режим копирования стиля линии. Solid (сплошная линия), Dash (прерывистая).

 

При выделении RayOn (гор.клавиша - V) или RayOff (гор.клавиша - В) - включается и выключается режим копирования св-ва «Луч» линии.

 

При выделении одной из меток 1, 2, 3, 4, 5 – включается режим копирования толщины линии. (гор.клавиши 1,2,3,4,5)

 

При выделении одной из текстовых меток включается режим копирования текста.

 

При выделении одной из меток 12, 16, 20, 24, 28, 32 включается режим копирования размера шрифта.

 

При выделении одной из цветовых меток включается режим копирования цвета.

 

При выделении одной из меток НК, ׀ , --, /, F, R, T, ->, LPrice, RPrice,--Т,Т-- включаются соответственно режимы создания наклонного канала, вертикальной линии, горизонтальной линии, обычной линии, фибо-сетки, прямоугольника, текстовой надписи, линии со стрелкой, левой ценовой метки, правой ценовой метки, текстовой надписи с горизонтальной линией.

 

Горячие клавиши

http://s52.radikal.ru/i136/1307/38/527c93a62bb8.png

Если для создания графического объекта нужна только одна точка (вертикальная линия, горизонтальная линия, текстовая надпись, ценовые метки), то при последующем клике по графику в указанном месте будет создан требуемый графический объект. Если для создания графического объекта нужны две точки, то для создания объекта нужно кликнуть по графику два раза.

Если при создании графического объекта нет выделенных меток свойств («Заливка», стиль линии, св-во «Луч», толщина линии, текстовые метки, размер шрифта, цветовые метки), то объект создается со свойствами по умолчанию.

Если при создании графического объекта есть выделенные метки свойств, то объект создается с выделенными свойствами.

При создании ценовой метки (LPrice, RPrice) и текстовой надписи с горизонтальной линией (--Т, Т--) создается также горизонтальный отрезок, привязанный к середине ценовой метки. У данного отрезка можно менять св-ва, как у обычной линии (стиль линии, св-во «Луч», цвет, толщина линии).

Также на уровнях создаваемой фибо-сетки, кроме % отображаются цены уровней. При перетаскивании фибо-сетки цены уровней автоматически изменяются.

После создания объекта (кроме обычной линии) с выделенной метки снимается выделение.

После создания обычной линии с выделенной метки «/» не снимается выделение. И при последующем клике на графике будет создаваться линия, начинающаяся в конце предыдущей линии и т.д., пока не снимем выделение с выделенной метки.

 

При создании трендовой линии, фибо-сетки и НК в основном окне графика работает примагничивание. При создании трендовой линии и НК не в основном окне примагничивание не работает.

 

При клике по метке Clear (гор.клавиша - Esc) отключаются все режимы и со всех меток снимается выделение.

 

При выделении метки «на всех ТФ» включается режим отображения объектов на всех ТФ.

При выделении метки « не на всех ТФ» включается режим отображения объектов только на выбранных ТФ (т.е. объекты, созданные на М5, не будут видны на Н4 и т.п., настраивается редактированием в MetaEditor). Ценовые метки видны на всех ТФ, независимо от того на каких ТФ они созданы. Режим видимости также переключается гор. клавишей Tab/

 

 

При клике по метке «DeleteTF<M12» будут удаляться все объекты, созданные на ТФ<М12 (настраивается редактированием в MetaEditor).

 

При кликам по меткам «DisplayAll», «HideAll», «DeleteAll» будут соответственно отображаться, скрываться или удаляться все графические объекты. При этом, если будет выделена одна из меток создания объекта, то будет соответственно отображаться, скрываться или удаляться только объекты с выделенным типом. Т.е. если выделена метка «F» (фибо-сетка) и кликаем по HideAll, то будут скрыты все фибо-сетки. Или если выделена метка «T» и кликаем по «DeleteAll», то будут удалены все текстовые надписи.

 

Если при создании объекта не выделить цветную метку, то объект будет создан с цветом по умолчанию для данного ТФ. При наведении на цветную метку всплывает подсказка с названием цвета и ТФ.

 

При клике по метке «Screenshot» (горячая клавиша - Insert) будет создан скриншот в папке \Metatrader 5\MQL5\Files\ Screenshots\имя валютной пары\дата\ в формате *.png. Затем появляется диалоговое окно "Будешь открывать скриншот ?". Если нажать "Да", то файл скриншота открывается программой по умолчанию. У себя я настроил на Paint.Net.

 

Для настройки программы по умолчанию необходимо зайти в Панель управления\Программы по умолчанию и установить для файлов с расширением png необходимую программу. Это можно сделать и по-другому: кликнуть по файлу с расширением png правой кнопкой мыши, выбрать Открыть с помощью\Выбрать программу и т.д.

http://s002.radikal.ru/i198/1308/3d/49fe7309ce13.png

http://s019.radikal.ru/i630/1308/db/7742d46b72df.png

Сделал на всякий случай скрипт "Скриншот", делает то же самое.

 

Скриншот.rar

Ссылка на комментарий
Поделиться на другие сайты

Для пользователей с 19-дюймовыми мониторами: сделайте скриншот, переделаю программу под вас, если нужно (уберу несколько цветовых меток).

 

На всякий случай (чтобы не искать) прилагаю индикатор АО 3/34. Его нужно скопировать в \MetaTrader 5\MQL5\Indicators, скомпилировать и т.д.

Ссылка на комментарий
Поделиться на другие сайты

Для пользователей с 19-дюймовыми мониторами: сделайте скриншот, переделаю программу под вас, если нужно (уберу несколько цветовых меток).

 

На всякий случай (чтобы не искать) прилагаю индикатор АО 3/34. Его нужно скопировать в \MetaTrader 5\MQL5\Indicators, скомпилировать и т.д.

Спасибо за программу, интересное решение, полезное, а еще на МТ5. Скриншут на маленьком мониторе:

 

post-190698-0-50457400-1372692553_thumb.png

 

Может по выбору сворачивать-разворачивать еще панельку?

PS:При компилировании, эдитор выдал 87 предупреждений. По моему , не согласованность типов данных.

Изменено пользователем Stock
Ссылка на комментарий
Поделиться на другие сайты

Для пользователей с 19-дюймовыми мониторами: сделайте скриншот, переделаю программу под вас, если нужно (уберу несколько цветовых меток).

 

На всякий случай (чтобы не искать) прилагаю индикатор АО 3/34. Его нужно скопировать в \MetaTrader 5\MQL5\Indicators, скомпилировать и т.д.

Спасибо за программу, интересное решение, полезное, а еще на МТ5. Скриншут на маленьком мониторе:

 

 

Может по выбору сворачивать-разворачивать еще панельку?

PS:При компилировании, эдитор выдал 87 предупреждений. По моему , не согласованность типов данных.

Главное все работает как надо. Для 19-дюймового монитора через неделю сделаю. Уже есть для 17-дюймового.

Ссылка на комментарий
Поделиться на другие сайты

Для пользователей с 19-дюймовыми мониторами: сделайте скриншот, переделаю программу под вас, если нужно (уберу несколько цветовых меток).

 

На всякий случай (чтобы не искать) прилагаю индикатор АО 3/34. Его нужно скопировать в \MetaTrader 5\MQL5\Indicators, скомпилировать и т.д.

Спасибо за программу, интересное решение, полезное, а еще на МТ5. Скриншут на маленьком мониторе:

 

 

Может по выбору сворачивать-разворачивать еще панельку?

PS:При компилировании, эдитор выдал 87 предупреждений. По моему , не согласованность типов данных.

Главное все работает как надо. Для 19-дюймового монитора через неделю сделаю. Уже есть для 17-дюймового.

Будем ждать с нетерпением, спасибо!

PS: Предупреждения связаны с конвертацией данных, если тип данных уточнять при приеме в переменную (не знаю почему, но компилятор в некоторых случаях сам не догоняет), например так: было SubwindowHeight=ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS,Subwindow); сделать как: SubwindowHeight=(int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS,Subwindow), тогда эдитору все нравиться, компилирует без warnings и становиться все красиво))):

Ссылка на комментарий
Поделиться на другие сайты

Для пользователей с 19-дюймовыми мониторами: сделайте скриншот, переделаю программу под вас, если нужно (уберу несколько цветовых меток).

 

На всякий случай (чтобы не искать) прилагаю индикатор АО 3/34. Его нужно скопировать в \MetaTrader 5\MQL5\Indicators, скомпилировать и т.д.

Спасибо за программу, интересное решение, полезное, а еще на МТ5. Скриншут на маленьком мониторе:

 

 

Может по выбору сворачивать-разворачивать еще панельку?

PS:При компилировании, эдитор выдал 87 предупреждений. По моему , не согласованность типов данных.

Главное все работает как надо. Для 19-дюймового монитора через неделю сделаю. Уже есть для 17-дюймового.

Будем ждать с нетерпением, спасибо!

PS: Предупреждения связаны с конвертацией данных, если тип данных уточнять при приеме в переменную (не знаю почему, но компилятор в некоторых случаях сам не догоняет), например так: было SubwindowHeight=ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS,Subwindow); сделать как: SubwindowHeight=(int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS,Subwindow), тогда эдитору все нравиться, компилирует без warnings и становиться все красиво))):

Сделал третье окно и исправил прогу на предмет конвертации данных. Теперь все красиво. Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Плодотворно,но стоила ли игра свеч.. )) Рисовалок много простых..

Я пользовался ранее Paint.NET.Потом SnagIt.Теперь Joxi.Проще некуда.

Ссылка на комментарий
Поделиться на другие сайты

Плодотворно,но стоила ли игра свеч.. )) Рисовалок много простых..

Я пользовался ранее Paint.NET.Потом SnagIt.Теперь Joxi.Проще некуда.

Применение простых рисовалок не эффективно, т.к. их функционал достаточно ограничен . Они рисуют либо поверх графика, а не на нем, либо на скриншуте. Отсутствует возможность пиривязывать разметку к живому графику, по необходимости скрывать или отображать созданные объекты на требуемых временных интервалах и т.п. При смене фрейма, вся произведенная разметка с помощью сторонних приложений съезжает, и имеет далекое отношение к полезности))): То есть при их использовании получается, что разметка существует сама по себе, а график цены, сам по себе.

Разработка однозначно нужная и полезная, т.к. сторонние рисовалки подходят для разметки с большим скрипом и только в отдельных ситуациях.

Изменено пользователем Stock
Ссылка на комментарий
Поделиться на другие сайты

1.Если вам программа нужна такого рода ,то имеет смысл быть.

2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.

3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.

 

http://joxi.ru/media/cache/thumbnail/uploads/prod/20130705/5b0/324/69db5e250d1114526f20cc2093eb690489437655.png.jpg

Ссылка на комментарий
Поделиться на другие сайты

1.Если вам программа нужна такого рода ,то имеет смысл быть.

2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.

3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.

 

 

Олег,здравствуй!

Ты, наверное, прав, что через год такая программа мне не будет нужна.

Но в данный момент, так как я начинающий, она мне очень помогает.

Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

Ссылка на комментарий
Поделиться на другие сайты

1.Если вам программа нужна такого рода ,то имеет смысл быть.

2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.

3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.

 

 

Олег,здравствуй!

Ты, наверное, прав, что через год такая программа мне не будет нужна.

Но в данный момент, так как я начинающий, она мне очень помогает.

Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

А зачем зачем отвечать за других. Через год и увидим нужна или нет. Очень часто программы созданные просто для себя имеют долгую жизнь, а которые создавались под заказ и с расчетом на долгую жизнь, так и не прижились. И пылятся где-то на задворках архивов.

Ссылка на комментарий
Поделиться на другие сайты

1.Если вам программа нужна такого рода ,то имеет смысл быть.

2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.

3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.

 

 

Олег,здравствуй!

Ты, наверное, прав, что через год такая программа мне не будет нужна.

Но в данный момент, так как я начинающий, она мне очень помогает.

Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

А зачем зачем отвечать за других. Через год и увидим нужна или нет. Очень часто программы созданные просто для себя имеют долгую жизнь, а которые создавались под заказ и с расчетом на долгую жизнь, так и не прижились. И пылятся где-то на задворках архивов.

 

 

Да, можно долго дискутировать о полезности/бесполезности программы. А можно делать что-либо конструктивное, кроме того как критиковать, то, что делают другие))

По делу. Влад, пользовался программой, спасибо. Есть мысль: не плохо бы сделать, что бы объекты привязывались точно к графику по цене и времени (примагничивались). Сварганил класс (как вариант), который может помочь решить эту задачу (конечно если вы посчитаете это целесообразным). В классе один метод который на входе принимает цену и время, а на выходе выдает примагниченную дату и время. Пример использования класса применительно к трендовым линиям в прилагаемом скрипте. Для тестирования класса название линии должно начинаться со слова “Test”, а в настройках терминала параметр “точная шкала времени “ должен быть false, для корректного отображения объекта на любом таймфрейме. Предполагаю, что с помощью класса можно просто обрабатывать координаты клика мыши.

Класс протестировал, но гипотетически могут быть ситуации при которых он будет работать не корректно. Думаю, что вносить изменения в код стоит в случае некорректной работы класса на практике, анализируя конкретные внешние условия ситуации. Также класс потребуется несколько видоизменить для нанесения пивотов.

 

Test.rar

Изменено пользователем Stock
Ссылка на комментарий
Поделиться на другие сайты

1.Если вам программа нужна такого рода ,то имеет смысл быть.

2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.

3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.

 

 

Олег,здравствуй!

Ты, наверное, прав, что через год такая программа мне не будет нужна.

Но в данный момент, так как я начинающий, она мне очень помогает.

Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

А зачем зачем отвечать за других. Через год и увидим нужна или нет. Очень часто программы созданные просто для себя имеют долгую жизнь, а которые создавались под заказ и с расчетом на долгую жизнь, так и не прижились. И пылятся где-то на задворках архивов.

 

 

Да, можно долго дискутировать о полезности/бесполезности программы. А можно делать что-либо конструктивное, кроме того как критиковать, то, что делают другие))

По делу. Влад, пользовался программой, спасибо. Есть мысль: не плохо бы сделать, что бы объекты привязывались точно к графику по цене и времени (примагничивались). Сварганил класс (как вариант), который может помочь решить эту задачу (конечно если вы посчитаете это целесообразным). В классе один метод который на входе принимает цену и время, а на выходе выдает примагниченную дату и время. Пример использования класса применительно к трендовым линиям в прилагаемом скрипте. Для тестирования класса название линии должно начинаться со слова “Test”, а в настройках терминала параметр “точная шкала времени “ должен быть false, для корректного отображения объекта на любом таймфрейме. Предполагаю, что с помощью класса можно просто обрабатывать координаты клика мыши.

Класс протестировал, но гипотетически могут быть ситуации при которых он будет работать не корректно. Думаю, что вносить изменения в код стоит в случае некорректной работы класса на практике, анализируя конкретные внешние условия ситуации. Также класс потребуется несколько видоизменить для нанесения пивотов.

 

Test.rar

Дело в том, что я не программист. Когда учился пятнадцать лет назад, то маленько программировал на Паскале. И пока рисовал эту програмку, по-ходу разбирался с MQL5. В данный момент с ООП у меня проблемы. Но обязательно разберусь. Предложение: если есть желание и время, можешь сам модифицировать програмку на предмет примагничивания. У меня была по поводу примагничивания мысль. В программе там все закомментировано. Если нужно, то могу нарисовать схему программы с подробными объяснениями. Просьба всем: какие идеи появятся, то сразу пишем сюда. Организованно доведем програмку до ума. И еще чего-нибудь напишем. Пишу во множественном числе потому, что я не один: Stock, xFriendDx и т.д. И вообще надо переходить на MQL5. У него возможностей гораздо больше.

Ссылка на комментарий
Поделиться на другие сайты


×
×
  • Создать...