Напомните, плиз, индикатор для МТ4, который формулы с символами парсит, типа
https://www.mql5.com/ru/code/10617
для мт5 я бы и сам покрутил. у автора она в маркете.
- голосов: 17
- 2012.02.20
- Alexey Navoykov
- www.mql5.com
В аттаче индикатор, он чисто для примера, может тормозить и показывать на первый взгляд непонятные вещи, почему-то сдвиг не в ту сторону идет, но зато хороший пример применения класса для парсинга формул :)
Основной алгоритм
http://scriptasylum.com/tutorials/infix_postfix/algorithms/infix-postfix/index.htm
http://scriptasylum.com/tutorials/infix_postfix/algorithms/postfix-evaluation/index.htm
https://en.wikipedia.org/wiki/Shunting-yard_algorithm
Пример имплементации, но она здесь с ошибками :)
http://rosettacode.org/wiki/Parsing/Shunting-yard_algorithm#JavaScript
Проверка формул на ошибки в имплементации
http://www.meta-calculator.com/learning-lab/how-to-build-scientific-calculator/infix-to-postifix-convertor.php
- scriptasylum.com
Отправил в кодобазу, но если попросят переделать что-то, то возможно мне будет лениво, поэтому выложу сюда.
Индикатор для построения произвольных графиков, в основе которых лежит заданная юзером формула.
Графики отрисовываются в барах для таймфрейма выбранного в параметрах индикатора.
Графики выбранных инструментов синхронизированны по времени.
Пробелы в формуле необязательны, дробные числа задаются только через точку.
Чтобы не мерять слонов в попугаях, а переводить все в валюту депозита, можно установить параметр InpAlign = true
Поддерживаемые операции, по приоритету выполнения :
Возведение в степень : a ^ b
Деление : a / b
Умножение : a * b
Сложение : a + b
Вычитание : a - b
Пример применения, допустим хотим узнать раздвижку между корзинами валют за последние 1000 баров на графике М1 :
InpPeriod - PERIOD_M1
InpExpression = "3 * EURUSD * 1.5 * AUDUSD * GBPUSD - (5 * AUDGBP - 2 * EURGBP) * 1.2 * CHFGBP"
На выходе получим график движения синтетика, при условии покупки 3 лотов EURUSD, 1.5 лота AUDUSD и так далее.
Идея индикатора заимствована отсюда и MS Excel https://www.mql5.com/ru/code/1061
Отправил в кодобазу, но если попросят переделать что-то, то возможно мне будет лениво, поэтому выложу сюда.
Отправил в кодобазу, но если попросят переделать что-то, то возможно мне будет лениво, поэтому выложу сюда.
Спасибо!)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Напомните, плиз, индикатор для МТ4, который формулы с символами парсит, типа