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

Python Эксперты Python

Техническое задание

Задача

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)


Похожие заказы
Требуется сделать модуль для расчета процента от заработанной прибыли и снятие суммы со счета трейдера через MT4/MT5 Manager API. Ищем разработчика с большим опытом работы на C# и опытом работы с торговыми платформами MT4/MT5
Индикатор оригинала не перерисовывается, соответственно когда будете вносить изменения в алгоритме индикатора, тоже не должен перерисовыватся. Необходимо найти в алгоритме индикатора, где есть условия, при которой индикатор выдает уведомления. Нужно посмотреть с расчетом на одну свечу назад на уже закрытой свече на каких условиях находится когда свеча открывалась, и на основание этого создать новое условие, чтобы

Информация о проекте

Бюджет
30 - 150 USD
Исполнителю
27 - 135 USD
Сроки выполнения
от 1 до 3 дн.