Пиши и зарабатывай на MQL5 - страница 56

 
Rashid Umarov:
Текущий список статей

#
Тема
Автор
 55 Распарсивание и автоматическая модификация исходных кодов MQL5 с помощью RegularExpressions 
 Получение списка  функций, глобальный переменных, дефайнов, классов и т.д.
 
 56 Создание круговых диаграм, гистограмм и линейных графиков с использованием Canvas.
 Смотрите пример в Рисование стрелочных индикаторов с использованием класса CCanvas и мой комментарий https://www.mql5.com/ru/forum/542/page52#comment_2826105
 Andrey Barinov
Кстати, я бы п.55 парсил с помощью Doxygen. Все же это free program, существует точно более 10 лет, рисует диаграммы классов, документацию в куче форматов, в т.ч. .chm, html и других. Я бы мог написать небольшую статью на эту тему, с цифровой обработкой сигналов (п.11) дела двигаются, эта тема не помешает, она простая..
Делать тот же функционал на RegularExpressions, это весьма трудно и качество все равно будет хуже на порядок.
 
Dennis Kirichenko:

Имхо, такие вещи лучше контролировать ручками... для этого создаём параметр советника типа "Event1", где прописываем дату и время выхода новости. Важных новостей в неделю не так уж и много. Штуки 3-5.

В начале недели прописали запретное время, и робот всю неделю учитывает это дело.

Для этого нужно или пересинхронизировать терминал с советником, а это все предыдущая работа кода , накопление тиковой истории, коту под хвост, или каким то "языком жестов", костылями отложек задать время.
 
Alexey Volchanskiy:
Кстати, я бы п.55 парсил с помощью Doxygen. Все же это free program, существует точно более 10 лет, рисует диаграммы классов, документацию в куче форматов, в т.ч. .chm, html и других.
Doxygen можно использовать только если предварительно обрабатывать на лету исходники под него. Была такая идея,  но пока не горит.
 
Alexey Volchanskiy:
Делать тот же функционал на RegularExpressions, это весьма трудно и качество все равно будет хуже на порядок.

Уверен, есть готовые шаблоны на регулярках для распарсивания кодов, осталось только на MQL5 перенести с использованием библиотеки RegularExpressions

Мы же MQL5 продвигаем, а не Doxygen

 
Rashid Umarov:

Уверен, есть готовые шаблоны на регулярках для распарсивания кодов, осталось только на MQL5 перенести с использованием библиотеки RegularExpressions

Мы же MQL5 продвигаем, а не Doxygen

Да, это понятно, просто я сужу со своей колокольни, не люблю изобретать велосипеды. )) А регулярные выражения хороши для парсинга web-страниц (WebRequest), тем более сегодня об этом вроде в этой ветке писали. И примеров куча в инете для C#, перевести на MQL5 было бы нетрудно.

Кстати, впомнил, код парсинга я использовал на PHP, когда у меня был сайт, использовал для подсветки MQL4.

Я сначала статью п.11 добью, там видно будет. 

 
Alexey Volchanskiy:

Кстати, впомнил, код парсинга я использовал на PHP, когда у меня был сайт, использовал для подсветки MQL4.

Ну вот, я же гвоорил, что есть готовые решения )
 
Rashid Umarov:

Уверен, есть готовые шаблоны на регулярках для распарсивания кодов, осталось только на MQL5 перенести с использованием библиотеки RegularExpressions

Мы же MQL5 продвигаем, а не Doxygen

А что-бы авторам MQL не опубликовать его BNF ? Помниться это нормальная практика для ЯП (для которых это вообще возможно)

https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form

 
Maxim Kuznetsov:

А что-бы авторам MQL не опубликовать его BNF ? Помниться это нормальная практика для ЯП (для которых это вообще возможно)

https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form

Вот именно. Исходник нужно парсить в синтаксическое дерево. Из него можно уже генерить разные выходные форматы, в том числе, не только списки разных терминальных символов, но и например, портировать из МТ4 в МТ5 и обратно.

У меня другой вопрос - каким образом MQL сможет из своей песочницы читать исходники, лежащие вне каталога /Files?

 
Stanislav Korotky:

Вот именно. Исходник нужно парсить в синтаксическое дерево. Из него можно уже генерить разные выходные форматы, в том числе, не только списки разных терминальных символов, но и например, портировать из МТ4 в МТ5 и обратно.

У меня другой вопрос - каким образом MQL сможет из своей песочницы читать исходники, лежащие вне каталога /Files?

Или win api, или ручками копировать в песочницу. Но я смысла в этом парсинге не вижу. Зачем чесать пяткой ухо через спину, если есть doxygen? Только для показа возможностей MQL и библиотеки рег. выражений?
 
Alexey Volchanskiy:
Или win api, или ручками копировать в песочницу. Но я смысла в этом парсинге не вижу. Зачем чесать пяткой ухо через спину, если есть doxygen? Только для показа возможностей MQL и библиотеки рег. выражений?
которая к тому лихо сядет в лужу с вложенными скобками {((привет)(мир))} - регулярки этого физически не умеют :-)
Причина обращения: