Поиск советников, индикаторов и скриптов

Рейтинг самых лучших платформ для бинарных опционов за 2020 год:
  • Бинариум
    Бинариум

    1 место на рынке! Лидер независимого рейтинга. Самая удобная платформа для новичков.

  • ФинМакс
    ФинМакс

    Проверенный временем брокер!

Поиск советников, индикаторов и скриптов

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Урок №12: Пишем советник по индикатору

На прошлом уроке мы с вами писали индикатор, который указывает входы в рынок. Соответственно сегодня мы займёмся разработкой эксперта, использующего его сигналы.

Начнём с создания шаблона советника(как это сделать мы разбирали на уроке №10).

Опишем входные параметры эксперта:

Значения StopLoss, TakeProfit и Slippage, присвоенные в параметрах, указаны для 4-х значного брокера, соответственно, чтобы эти же значения корректно работали у 5-ти значного ДЦ их нужно умножить на 10, что мы и сделаем в функции OnInit:

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

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

Переходим к функции OnTick и пишем заготовку обработчика, где описываю алгоритм работы эксперта:

  1. if (CountBuy() == 0) — я проверяю есть-ли у меня ордера на покупку, находящиеся в рынке, и если нет, то шаг 2.
  2. BuySignal = … — проверяем наличие сигнала на покупку по индикатору, кстати, это будет переменная, которую необходимо объявить заранее.
  3. if (BuySignal > 0) — если есть сигнал на покупку, то переходим к шагу 4.
  4. CloseSell() — закрываем открытые ордера на продажу, если они есть и переходим к шагу 5.
  5. Открываем ордер на покупку.

Точно такой же блок делается и для продаж.

Рейтинг честных брокеров бинарных опционов за 2020 год:
  • Бинариум
    Бинариум

    1 место на рынке! Лидер независимого рейтинга. Самая удобная платформа для новичков.

  • ФинМакс
    ФинМакс

    Проверенный временем брокер!

Исходя из написанного алгоритма сразу видно, что предварительно нам потребуется несколько функций: CountBuy(), CountSell(), CloseBuy(), CloseSell(), а также написать код получения сигнала с индикатора.

Объявим в коде несколько переменных для дальнейшей работы и необходимые функции:

Функция CountBuy():

Аналогично пишется функция CountSell(), разве что проверяется тип ордера OP_SELL:

Далее пишем функцию CloseBuy():

Пишем практически всё то же самое и для закрытия ордеров на продажу, разница лишь в типе проверяемого ордера и цене закрытия, функция CloseSell():

На текущий момент нам осталось получить сигналы от индикаторы и написать код, открывающий ордера по его сигналам.

Для получения сигнала от любого пользовательского индикатора используется функция iCustom, обратившись к справке (F1) видим формат вызова функции:

Теперь мы можем с легкостью получить сигнал на покупку в нашем советнике:

заодно и сигнал на продажу:

кстати, обратите внимание на предпоследний параметр mode, который мы передаём в функцию iCustom — это номер буфера индикатора, где хранятся сигналы покупок и продаж.

Таким образом наша функция OnTick() будет выглядеть следующим образом:

Собственно говоря, на этом всё, разработка советника на пользовательском индикаторе завершена.

Поиск ТС, индикаторов и скриптов

Здесь размещаем объявления о поиске ручных торговых систем, индикаторов и скриптов

Рейтинг брокеров БО с русским языком:
  • Бинариум
    Бинариум

    1 место на рынке! Лидер независимого рейтинга. Самая удобная платформа для новичков.

  • ФинМакс
    ФинМакс

    Надежный и проверенный временем брокер!

Добавить комментарий