• Обзор
  • Отзывы
  • Обсуждение
  • Что нового

SymbolSynthesizer OrderPanel

Синтезирует любой символ при наличии исходных символов в окне Обзора Рынка. Для этого как раз есть Order Panel. Такая же концепция, как и у symbolsynthesizer.mq5 (https://www.mql5.com/ru/code/909), но с куда большим количеством функций. Изначально планировалось использовать вместе с SymbolSynthesizer_Chart.mq4 (https://www.mql5.com/en/code/14596). Вы можете скачать его бесплатно. А потом сгенерировать автономный график в реальном времени для пары символов, который вы хотите синтезировать. Пожалуйста, прочтите объяснение по ссылке выше. Вы можете прикрепить этот советник на полученный график. Если вы это сделаете, синтезированный и исходный символы будут установлены автоматически согласно настройкам графика. Также отображает линию Ask и торговые уровни. Эту панель также можно использовать без виртуального графика, но без функции перетаскивания элементов управления и функции отложенных ордеров.

При нажатии кнопки "Buy" или "Sell", панель откроет две позиции. Одна для исходного символа 1 с заданными лотами, вторая для исходного символа 2 с автоматически рассчитанными лотами. Таким образом они создают виртуальную позицию для синтезированного символа. Если советник на синтезированном графике, то SL/TP также можно изменить путем перетаскивания, как на любом другом онлайн графике MT4, но после выделения двойным щелчком. Если передвинете линию вхождения Buy выше, там будет находиться линия TP. Передвижение вниз создает (если SL не существует) или передвигает линию SL. Отложенные ордера можно выставлять 2 шагами. Сначала нажмите кнопку "Pending Sell" или "Pending Buy", затем нажмите на графике на цену, на которой вы хотите установить ордер. Например, если вы нажмете кнопку "Pending Buy" и щелкнете выше линии Ask, это автоматически выставит отложенный ордер Buy-Stop, но если нажать ниже линии Ask, то это уже будет отложенный ордер Buy-Limt.

Только один ордер или позиция на один график.

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

При: SL/TP находятся не на стороне сервера, они в прикрепленном советнике. Таким образом, если вы закроете MT4 или график, они не сработают. То же самое для отложенного ордера.


Входные параметры:

  • Magic Number - Магический номер
  • The digits for synthesized symbol - Знаки после запятой для синтезированного символа.
  • Spread in point. 0 means current. (Спред в пунктах. 0 значит текущий) - Так как файл истории MetaTrader 4 не содержит данных о прошлых спредах, они нам нужны для определения цены Ask на случай деления для вычисления виртуальных цен.
  • Virtual symbol - Виртуальный символ, который вы хотите создать. Подойдет любое имя менее 11 символов.
  • string sSym01="EURUSD";//Исходный символ 1 (Это НЕ внешняя переменная, автоматически устанавливается для прикрепленного символа графика)
  • Source symbol 2 - Исходный символ#2. У него должно быть точно такое же имя, как и в Обзоре Рынка, включая префикс и/или суффикс.
  • Calculation method - Вычисления для синтезирования. "M" значит "Умножать", "D" значит "Делить".
  • Show Ask line - При true показывает линию Ask, при false не показывает. Игнорируется, если график не виртуальный.
  • Show and operate Trade Levels - При true показывает торговые уровни, при false не показывает.
  • Show Profit and Loss in Text - При true показывает информацию по позиции и прибыли или убытке, при false не показывает.
  • Preset Lots for symbol 1 - Лоты по умолчанию для исходного символа 1
  • Preset Slippage in Points - Проскальзывание по умолчанию
  • Preset Stop Loss in Points - Стоп-лосс по умолчанию
  • Preset Take Profit in Points - Тейк-профит по умолчанию
  • Preset Trailing Stop Loss in Points - Трейлинг-стоп по умолчанию


Примеры исходных символов и синтезированного символа

Если виртуальная цена vSymbol может быть рассчитана при помощи умножения sSym01 на sSym02, поставьте "M".

Пример: vSymbol="EURUSD" sSym01="EURGBP" sSym02="GBPUSD"

vSymbol="EURJPY" sSym01="EURGBP" sSym02="GBPJPY"

vSymbol="EURJPY" sSym01="EURUSD" sSym02="USDJPY"

vSymbol="BTCJPY" sSym01="BTCUSD" sSym02="USDJPY"

Примечание: sSym01 и sSym02 можно поменять местами, так как мы их умножаем. Основная пара должна быть sSym01 для более частых тиков.

Если виртуальная цена vSymbol может быть рассчитана при помощи деления sSym02 на sSym01, поставьте "D" или любую другую строку, кроме "M".

Пример: vSymbol="USDJPY" sSym01="EURUSD" sSym02="EURJPY"

vSymbol="ZARJPY" sSym01="USDZAR" sSym02="USDJPY"

vSymbol="EURUSD" sSym01="USDJPY" sSym02="EURJPY"

Примечание: sSym01 и sSym02 НЕЛЬЗЯ поменять местами, так как мы их делим.

Валюты с нижним баром являются "медийными валютами".

Нет отзывов
Версия 2.2 - 2016.02.09
2.2
Введен параметр LotAdjust для учета разницы значений Thick Value и Digits.
Версия 2.1 - 2016.01.29
Исправлены ошибки в алгоритме.