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

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

регулярки не умеют учитывать "вложенные скобки" это раз.

без разбора синтаксиса нельзя понять к чему относится конкретный идентификатор и например где нужно было учитывать ';' а где нет, это два.

То есть границ выражений без полноценного парсера не найти.

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

PS. кстати, "выделить" пишется слитно :-) Иначе смешно получается..

 
Maxim Kuznetsov:

регулярки не умеют учитывать "вложенные скобки" это раз.

без разбора синтаксиса нельзя понять к чему относится конкретный идентификатор и например где нужно было учитывать ';' а где нет, это два.

То есть границ выражений без полноценного парсера не найти.

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

PS. кстати, "выделить" пишется слитно :-) Иначе смешно получается..

Зачем регуляркам учитывать вложенные скобки?

Чтобы найти функцию не нужно форматирования. Самая та задача для регулярок. Для определения начала функции нужно найти первую открывающую фигурную скобку. Сначала void, потом любое количество пробелов и табуляций, имя функции, снова любое количество пробелов и табуляций, открывающая скобка, любая последовательность знаков, закрывающая скобка, любое количество пробелов, табуляций и переходов на новую строку и фигурная открывающая скобка. Конечно, если докалупаться можно всегда найти до чего. А вообще где вы видели идеальную регулярку?

А вот про "выделить", вот спасибо, вот не знал. Тоже открою одну тайну, иногда случаются не только ошибки, а просто опечатки. Но сама мысль о том, что "Вы делить" это не опечатка, очень интересна.

 
Dmitry Fedoseev:
Для автоматического подключения дополнительных модулей расширяющих функциональность экспертов. Запустил скрипт, он сделал доработку советника. Сложного парсинга здесь не надо. Нужно найти начало или конец функции.
Для маркета этот вариант не пойдет, согласны? Для собственного применения давным-давно придуман механизм плагинов. Сам успешно делал еще на С++ Builder давным -давно. Конечно, если программист не знает ООП, а пишет спагетти-код, будет тяжело.
 
Dmitry Fedoseev:

А вообще где вы видели идеальную регулярку?

Прочитал ответ, еще мысль возникла для регулярок - форматирование исходников в удобном формате. Я видел только одну программу, которая мне нравилась, но она работала только на Win XP и ниже, на Семерке уже не пахала. Зато была вещь, куча стилей, от Керниган-Ричи, которые, кстати, используют MQ, до удобного лично мне codestyle от MS. И неслабый набор языков, не только С++.

Потом пробовал найти замену, так с таким качеством и не нашел. 

 
Alexey Volchanskiy:
Для маркета этот вариант не пойдет, согласны? Для собственного применения давным-давно придуман механизм плагинов. Сам успешно делал еще на С++ Builder давным -давно. Конечно, если программист не знает ООП, а пишет спагетти-код, будет тяжело.
В общем-то да, согласен.
 
Текущий список статей

#
Тема
Автор
1
Управление оптимизацией
Графический интерфейс для запуска второго терминала . MQL5
 Andrey Dik
2
100 лучших проходов оптимизации
Графический интерфейс на MQL5, парсим отчет оптимизации и прогоняем каждый проход отдельно, записываем в базу данных (например, XML-файл). Используем наработки статьи #1
 Andrey Dik
3
Анализ торговли по HTML-отчетам
Парсим отчет и делаем свои отчеты. Можно с отправкой на сайт.
 Andrey Dik
4
Непрерывная скользящая оптимизация
форвардные тесты со смещением 1неделя/1 месяц.  Используем наработки статьи #1
 Andrey Dik
5
Оценка торговых систем через оптимизацию
обрабатываем лучшие параметры скользящей оптимизации и смотрим как они "плывут". Используем наработки статьи #4
 Andrey Dik
6
Разворачиваем торговые сигналы
строим класс от CTrade с реверсивным исполнением. Гоняем сначала оптимизацию с прямым исполнением, потом разоврачиваем в обратную сторону
 
7
Универсальный канал
Собираем все канальные индикаторы и создаем класс для работы с ним. Три буфера:
  1. верхняя граница
  2. середина
  3. нижняя граница
GUI для выбора типа канала и задания параметров канала в зависимости от типа. Ответы на запросы типа и параметров от советника через невидимый служебный буфер, в котором символы записаны как числовые значения
 Dmitry Fedoseev
8
Универсальный тренд
Собираем все трендовые индикаторы, рисуем тренд в отдельном окне цветной полоской. GUI для выбора типа индикатор и задания параметров канала в зависимости от типа.
 Dmitry Fedoseev
9
Скользящие каналы
Автоматическое построение линейных каналов
 
10
Парный трейдинг
Использование ALGLIB для выбора символов (вот популярное объяснение на хабре http://smart-lab.ru/blog/350528.php, в инете также есть видео с вебинаров на эту тему.)
 
11
Использование цифровой обработки сигналов (DSP)  в трейдинге
 Методы  DSP
 Alexey Volchanskiy
12
 Торговые сигналы пивотов

 Dennis Kirichenko
13
Обработка результатов оптимизации в картах Кохонена
обрабатываем детальные отчеты по статье #2
 
14
Разметка графиков по Демарку
Последовательность Демарка
 Andrey F. Zelinsky
15
Волны Вульфа
Автоматический поиск на графиках (желательно на универсальном зигзаге, эта тема ниже)
 Dmitry Fedoseev
16
Основы программирования на MQL5: Работа с файлами

  Dmitry Fedoseev
17
Торговая система 5-dimensions
Цифровые фильтры по системе Кравчука
 
18
Паттерн прорыва канала
поиск на графике и статистика продолжения движения
 
19
Паттерн Флаг
поиск на графике и статистика продолжения движения
 Dmitry Fedoseev
20
Автоматическое построение линий поддержки и сопротивления
 
21
Анализ силы и слабости валют по валютным парам
берем наборы валютных пар EURUSD/EURGBP/EURCHF/EURJPY и смотрим корреляции, например, Спирмена
 Mihail Lagutin 
22
Анализ торговых входов по развитию прибыли
строим средний график прибыли по времени (старая идея - 11 лет назад)
 
23
Управление капиталом по Винсу
несколько стратегий управления размером лота , реализация в виде модуля Мастера MQL5
 
24
Ночная торговля
торгуем в рейндже после окончания дневного тренда
 
25
10 трендовых стратегий
обзор 10-ти стратегий, отчеты тестера
 
26
10 флетовых стратегий
обзор 10-ти стратегий, отчеты тестера
 
27
Комбинируем трендовую и флетовую стратегии
перебираем результаты из статей №№25 и 26
 
28
Строим ZigZag-и по осцилляторам
Cпособ построения зигзага на разных осцилляторах. Лучше сделать GUI
 Dmitry Fedoseev
29
Автоматический подбор перспективных сигналов
Поиск с помощью функций MQL5 сигналов по заданным критериям
 
30
Восстановдение торговой истории сигналов
снимаем все метки входа/выхода с графиков визуализации и прогоняем через плеер торговли
 
31
Раскладываем входы по индикаторам
Парсим торговый отчет и записываем значения 10-30 индикаторов в момент входа. Строим графики
 
32
Индикатор тестирования входов
Индикатор, который записывает значения важных индикаторов во время тестирования. Создаем шаблон тестирования с этим индикатором и шпионим за стратегией входов
 
33
Вычисление коэффициента Херста
Для валютных пар или вообще всего что есть в терминале
 Dmitriy Skub
34
Сравниваем скользящие средние в торговле
Оптимизируем стратегии на разных скользящих средних и сравниваем усредненные графики эквити и баланса. Убеждаемся, что все средние одинаково полезны для торговли
 
35
Торговля по каналам Дончиана
 
36
Торговая система SilverTrend
Анализ торговых прогнозов на Forex Magazin в прошлые годы
 
37
24 метода сортировки на MQL5
Идея показана в видео https://www.mql5.com/ru/forum/542/page58#comment_2867044
 
38
Раздельная оптимизация стратегии на тренде и флете
Смотрим, как отличаются параметры на аптренде/даунтренде/флете
 
39
Основы программирования на MQL5: Работа с глобальными переменным
  Dmitry Fedoseev
40
Торговля по NRTR
индикатор NRTR + разные индикаторы тренда. Торговый модуль для Мастера MQL5
 
41
3D моделирование на MQL5
Пишем класс для 3D визуализации
 Sergey Pavlov
42
Цветная оптимизация
Раскрашиваем 2D плоскость в RGB (R-прибыль, G - просадка, B - профит фактор)
 
43
Оптимизация методом отжига
Используем управляемую оптимизацию, может быть sinput-ы
 
44
Сколько длится тренд?
Считаем статистику тренда и флета. По книгам 30%/70%
 
45
Универсальный осциллятор
Строим GUI для выбора и показа нужного осциллятора (собираем все осцилляторы)
 
46
Автоматический поиск дивергенций и конвергенций
На основе универсального осциллятора
 Andrey F. Zelinsky
47
Классификация торговой стратегии на основе истории сделок

 Andrey Barinov
48
Путь Черепах и черепаховый суп
По книге Линды Рашки. Написать и протестировать на несколько символах и длительных сроках
 Alexander Puzanov
49
Торговая система 80-20's
По книге Линды Рашки.
 Alexander Puzanov
50
Моментум Пинболл
По книге Линды Рашки.
 Alexander Puzanov
 51Святой Грааль
По книге Линды Рашки.
 Alexander Puzanov
 52Сокращение диапазона
По книге Линды Рашки.
 Alexander Puzanov
53
 Торговля по уровням Динаполли 
 54 Фильтр Кальмана (предсказание направления цены и пример советника)
есть статья на хабре (и много еще где),
 
 55 Распарсивание и автоматическая модификация исходных кодов MQL5 с помощью RegularExpressions 
 Получение списка  функций, глобальный переменных, дефайнов, классов и т.д.
 
 56 Создание круговых диаграм, гистограмм и линейных графиков с использованием Canvas.
 Смотрите пример в Рисование стрелочных индикаторов с использованием класса CCanvas и мой комментарий https://www.mql5.com/ru/forum/542/page52#comment_2826105
 Andrey Barinov
 

Rashid Umarov:

Обновляю таблицу, Dmitry Fedoseev также готов написать статьи

Одна готова - https://www.mql5.com/ru/forum/96598
Обсуждение статьи "Основы программирования на MQL5: Файлы"
Обсуждение статьи "Основы программирования на MQL5: Файлы"
  • www.mql5.com
Опубликована статья Основы программирования на MQL5: Файлы: Автор: Dmitry Fedoseev...