Разработать простой сеточный робот для Metatader 5

Цена договорная
24 января 2023, 00:15 • 6 откликов • 47 просмотров
Очень желательно чтобы это был не первый опыт написания робота для Metatrader 5 ))


Разработка сеточного робота для Metatrader 5

Робот должен работать на платформе metatrader 5 (формат .ex5) в режимах хеджирования и неттинга.

ТЗ для работы в режиме неттинга, по сути в режиме хеджирования все тоже самое только нужно добавлять takeprofit в каждый ордер при открытии.

Цель робота: открытие лимитных ордеров на покупку и продажу, контроль ордеров.

  • Ввод параметров работы сеточного робота
    • Выбираем тикер для работы, по умолчанию EURUSD
    • Выбираем период проверки ордеров робота, по умолчанию М1
    • Количество ордеров в сетке (GridOrderAmount), по умолчанию 100 (50 на покупку, 50 на продажу)
    • Объем ордера (GridOrderVol), по умолчанию 0,01 лот (1000 долларов)
    • Объем покупки/продажи актива на старте (EnterOrderVol), по умолчанию 0
    • Цена одного деления сетки GridPrice, по умолчанию 0,001 EUR, или 0,1% от стоимости
  • Начало работы:
    • Покупаем или продаем по рыночной цене количество лотов - OrderVol
    • Расставляем лимитные ордера:
  • Контроль:
    • Раз в минуту проверяем есть ли исполненные ордера.
На продажу - количество ордеров – GridAmount/2, цена ордеров: Текущая цена + GridPrice

На покупку - количество ордеров – GridAmount/2, цена ордеров: Текущая цена – GridPrice

Пример работы Старт при цене в 10 у.е. Расставляем лимитные ордера, предположим было введено – GridOrderAmount = 10: BuyLimit по цене 5, 6, 7, 8, 9 SellLimit по цене 11, 12, 13, 14, 15 Вариант 1: Через минуту цена ушла на 11,5 -> ордер на продажу по 11 исполнился Создаем новый ордер на покупку за 10 Вариант 2: Через минуту проверили – цена сходила на 5,5 и вернулась на 9,5 – ордера на покупку по 6, 7, 8, 9 исполнились Создаем ордер на продажу по рыночной цене (9,5) объемом 3*OrderVol и создаем лимитные ордера на покупку по 6, 7, 8 и ордер на продажу по 11. Фактически при постоянном контроле должно было произойти следующее: покупка по 9 + создание ордера на продажу по 10, покупка по 8 + создание ордера на продажу по 9, покупка по 7 + создание ордера на продажу по 8, покупка по 6 + создание ордера на продажу по 7 и после разворота продажа по 7 + создание ордера на покупку по 6, продажа по 8 + создание ордера на покупку по 7, продажа по 9 + создание ордера на покупку по 8. По итогам должны остаться ордера на покупку 5, 6, 7, 8 и ордера на продажу по 10, 11, 12, 13, 14, 15.

Робот должен проходить внутреннее тестирование MT5 на предмет подбора параметров.