Light Style© by Fisana

Перейти к содержимому


РАММ сервис NordFx: копируй сделки лучших трейдеров форекс


NordFX

Фотография
- - - - -

Программа для рисования в МТ5

Рисование обосуждение Вопросы доработка

  • Пожалуйста, авторизуйтесь, чтобы ответить
75 ответов в этой теме

#1 MiKSer

MiKSer

    vip участник Академии

  • Пользователи ST test (off)
  • PipPipPipPipPip
  • 4 501 сообщений

Опубликовано 30 Июнь 2013 - 04:43

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


Участникам:
- получить советы по рисованию в МТ5
- вопросы, просьбы о помощи
- советы из личной практики
- рекомендации в доработке

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

#2 vladkopanov

vladkopanov

    прописался

  • Пользователи ST test (off)
  • PipPipPip
  • 59 сообщений

Опубликовано 01 Июль 2013 - 10:30

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

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

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


Затем программу и индикатор нужно скомпилировать. Для этого нужно открыть Metaeditor. В МТ5 его можно открыть, щелкнув в меню Сервис и выбрать Редактор MetaQuotes Language.
Размещенное изображение
В Metaeditor щелкаем в меню Файл и выбираем Открыть. Находим программу в \MQL5\Experts и открываем ее.
Размещенное изображение
В Metaeditor щелкаем в меню Файл и выбираем Компилировать.
То же самое повторяем с индикатором.
Размещенное изображение

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

В итоге дожно получиться вот так.
Размещенное изображение

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

Вложенные файлы



#3 vladkopanov

vladkopanov

    прописался

  • Пользователи ST test (off)
  • PipPipPip
  • 59 сообщений

Опубликовано 01 Июль 2013 - 10:35

При выделении метки 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,--Т,Т-- включаются соответственно режимы создания наклонного канала, вертикальной линии, горизонтальной линии, обычной линии, фибо-сетки, прямоугольника, текстовой надписи, линии со стрелкой, левой ценовой метки, правой ценовой метки, текстовой надписи с горизонтальной линией.

Горячие клавиши
Размещенное изображение
Если для создания графического объекта нужна только одна точка (вертикальная линия, горизонтальная линия, текстовая надпись, ценовые метки), то при последующем клике по графику в указанном месте будет создан требуемый графический объект. Если для создания графического объекта нужны две точки, то для создания объекта нужно кликнуть по графику два раза.
Если при создании графического объекта нет выделенных меток свойств («Заливка», стиль линии, св-во «Луч», толщина линии, текстовые метки, размер шрифта, цветовые метки), то объект создается со свойствами по умолчанию.
Если при создании графического объекта есть выделенные метки свойств, то объект создается с выделенными свойствами.
При создании ценовой метки (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 правой кнопкой мыши, выбрать Открыть с помощью\Выбрать программу и т.д.
Размещенное изображение
Размещенное изображение
Сделал на всякий случай скрипт "Скриншот", делает то же самое.

Вложенный файл  Скриншот.rar   2,01 КБ   578 Скачано

#4 vladkopanov

vladkopanov

    прописался

  • Пользователи ST test (off)
  • PipPipPip
  • 59 сообщений

Опубликовано 01 Июль 2013 - 10:50

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

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

#5 Stock

Stock

    прописался

  • Пользователь
  • PipPipPip
  • 73 сообщений

Опубликовано 01 Июль 2013 - 03:34

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

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

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

1.png

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

Сообщение изменено: Stock, 01 Июль 2013 - 06:24 .

С уважением, Алексей.

#6 vladkopanov

vladkopanov

    прописался

  • Пользователи ST test (off)
  • PipPipPip
  • 59 сообщений

Опубликовано 01 Июль 2013 - 09:18


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

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

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


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

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

#7 Stock

Stock

    прописался

  • Пользователь
  • PipPipPip
  • 73 сообщений

Опубликовано 02 Июль 2013 - 12:50



Для пользователей с 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 и становиться все красиво))):
С уважением, Алексей.

#8 vladkopanov

vladkopanov

    прописался

  • Пользователи ST test (off)
  • PipPipPip
  • 59 сообщений

Опубликовано 03 Июль 2013 - 07:02




Для пользователей с 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 и становиться все красиво))):

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

#9 Карлсон

Карлсон

    Трейдер

  • Пользователи ST test (off)
  • PipPipPipPipPip
  • 1 463 сообщений

Опубликовано 04 Июль 2013 - 01:06

Плодотворно,но стоила ли игра свеч.. )) Рисовалок много простых..
Я пользовался ранее Paint.NET.Потом SnagIt.Теперь Joxi.Проще некуда.
С уважением,Олег.
Подготовительный фаультет
Деятельность факультета основана на взаимопомощи учащихся в изучении ТС МФ,
последовательном самостоятельном рассмотрении имеющегося на форуме материала,
обсуждении торговых ситуаций на начальном этапе.
Программирование MQL5

#10 Stock

Stock

    прописался

  • Пользователь
  • PipPipPip
  • 73 сообщений

Опубликовано 04 Июль 2013 - 06:57

Плодотворно,но стоила ли игра свеч.. )) Рисовалок много простых..
Я пользовался ранее Paint.NET.Потом SnagIt.Теперь Joxi.Проще некуда.

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

Сообщение изменено: Stock, 05 Июль 2013 - 09:20 .

С уважением, Алексей.

#11 Карлсон

Карлсон

    Трейдер

  • Пользователи ST test (off)
  • PipPipPipPipPip
  • 1 463 сообщений

Опубликовано 05 Июль 2013 - 01:54

1.Если вам программа нужна такого рода ,то имеет смысл быть.
2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.
3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.

Размещенное изображение
С уважением,Олег.
Подготовительный фаультет
Деятельность факультета основана на взаимопомощи учащихся в изучении ТС МФ,
последовательном самостоятельном рассмотрении имеющегося на форуме материала,
обсуждении торговых ситуаций на начальном этапе.
Программирование MQL5

#12 vladkopanov

vladkopanov

    прописался

  • Пользователи ST test (off)
  • PipPipPip
  • 59 сообщений

Опубликовано 05 Июль 2013 - 10:43

1.Если вам программа нужна такого рода ,то имеет смысл быть.
2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.
3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.


Олег,здравствуй!
Ты, наверное, прав, что через год такая программа мне не будет нужна.
Но в данный момент, так как я начинающий, она мне очень помогает.
Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

#13 Tion

Tion

    живет тут

  • Пользователи ST test (off)
  • PipPipPipPipPip
  • 423 сообщений

Опубликовано 06 Июль 2013 - 04:29


1.Если вам программа нужна такого рода ,то имеет смысл быть.
2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.
3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.


Олег,здравствуй!
Ты, наверное, прав, что через год такая программа мне не будет нужна.
Но в данный момент, так как я начинающий, она мне очень помогает.
Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

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

#14 Stock

Stock

    прописался

  • Пользователь
  • PipPipPip
  • 73 сообщений

Опубликовано 07 Июль 2013 - 04:57



1.Если вам программа нужна такого рода ,то имеет смысл быть.
2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.
3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.


Олег,здравствуй!
Ты, наверное, прав, что через год такая программа мне не будет нужна.
Но в данный момент, так как я начинающий, она мне очень помогает.
Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

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



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

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

Вложенный файл  Test.rar   2,19 КБ   63 Скачано

Сообщение изменено: Stock, 07 Июль 2013 - 12:07 .

С уважением, Алексей.

#15 vladkopanov

vladkopanov

    прописался

  • Пользователи ST test (off)
  • PipPipPip
  • 59 сообщений

Опубликовано 07 Июль 2013 - 12:28




1.Если вам программа нужна такого рода ,то имеет смысл быть.
2.Сомневаюсь ,что она будет востребована людми,и даже создателем по прошествии года торгов и даже ранее.
3.Да,просто принцип рисования на скриншоте для обмена мнениями.Нарисовал чисто теоретически.


Олег,здравствуй!
Ты, наверное, прав, что через год такая программа мне не будет нужна.
Но в данный момент, так как я начинающий, она мне очень помогает.
Рисовалку сделал для себя, лавры или какие-то баллы мне не нужны.

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



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

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

Вложенный файл  Test.rar   2,19 КБ   63 Скачано

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




Посетителей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных пользователей

Рейтинг брокеров форекс: кто лидер, кто аутсайдер и почему?




Masterforex-V NordFX

Rambler's Top100

Принимаем Z-Payment