Написать бота для открытия и закрытия ордеров метатрейдер 5

Python Esperti Python

Specifiche

Задача

1)      Нужно написать бота, который умеет выставлять ордера и закрывать их в Метатрейдере

2)      Требования к боту:

       Python script (файл .py)

       Программа должна работать в фоновом режиме(можно свернуть, чтобы не мешала)

       Кол-во валютных пар (неограниченно)

       Кол-во одновременно запущенных сделок(неограниченно)

       Бот(программа) должна быть написана на Python

       Сделки, которые бот должен открыть и закрыть берутся из файла из текущей директории из файла pairs.csv (файл обновляется другой программой, в ней появляются новые пары)(файл может обновляться с периодичностью от нескольких секунд до нескольких минут)

       Важно! Добавить возможность вручную закрывать сделки в Метатрейдер (бот не должен ломаться)

Логика выставление сделок:

1) Бот считывает валютные пары из файла pairs.csv

2) По каждой валютной паре бот должен учесть спред(можно задать в виде словаря например:

{EURUSDrfd:14, EURGBPrfd:20}. Спред задается в базисных пунктах.

3) Если цена валютной пары сдвинулась на размер спреда в противоположном направлении от типа ордера, то по этой валютной паре бот должен открыть сделку

(например бот считал строку из файла pairs.csv

Валютная пара: EURUSDrfd

Время открытия: 04.10.2023.11:31:00

Время закрытия: 04.10.2023.11:35:00

Тип ордера:BUY

Фиксируется текущая цена в 11:31:00 по валютной паре EURUSDrfd

Бот ожидает, когда текущая цена снизится на размер спреда от фиксированной

Если условие выполнено(цена сдвинулась на размер спреда в противоположном направлении) и времени до закрытия составляет больше или равно 1 минуты, то сделка открывается. Для валютной пары EURUSDrfd из примера крайняя точка входа 11:34:00.

В противном случае(если условие спреда не выполнилось) сделка не открывается.

В файле pairs.csv могут быть несколько сделок с одной и той же валютной парой, но с разным временем входа и выхода из сделки. По каждой такой сделке проверка условия входа в позицию определяется независимо друг от друга(параллельно).

Бот должен записывать в файл logs.csv информацию о сделках(так же как и в pair.csv + дополнительное поле о сделке(выполнилось или нет))

Структура файла pairs.csv:

symbol,EnterDate,ExitDate,TP,SL,volume,orderType

EURUSDrfd,04.10.2023.11:31:00,04.10.2023.11:35:00,100,100,0.01,BUY

 

 

*Описание полей

symbol:Валютная пара

EnterDate:Точка входа

ExitDate:Точка выхода

TP: Take Profit

SL:Stop Loss

volume: размер позиции(в лотах)

orderType:Тип ордера (BUY или SELL)


Ordini simili
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <

Informazioni sul progetto

Budget
30 - 150 USD
Scadenze
da 1 a 3 giorno(i)