Необходим скрипт для экспорта истории счета MT4/MT5 и доп инфы в формате JSON

MQL5 Experts Scripts

Job finished

Execution time 18 days
Feedback from employee
Отличный клиент. Спасибо за заказ.

Specification

Необходимо 2 советника(одинаковый функционал но для разных платформ - MT4/MT5) основная задача которых будет состоять в передаче данных из торговых терминалов MT4/MT5.

Набор данных для передачи:

– Торговая история (Стейтмент за максимально доступный период). Торговая история должна быть оформленная в едином для всех брокеров формате, то есть чтоб индивидуальные особенности дизайна стейтмента, реализованные у различных брокеров, были нивелированы.
– Тип торгового счета - демо/реал
– Валюта счета - просто буквенное ее обозначение.
– Имя владельца счета
– Название брокера
– Название сервера

Кастомные данные:

– Уникальный идентификатор счета клиента (будем выдавать его клиенту, он должен будет ввести его в диалоговом окне советника)
– подпись: X-Signature: подпись, где подпись = sha256(request body + "secret key") - логика вшита в советник, secret key предоставим

Формат и Передача данных

Технически, передачу предлагается организовать путем отправки HTTP POST запроса на указанный  https урл сервера в формете json.

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

Каждый запрос должен быть подписан, например методом добавления заголовка:
X-Signature: подпись,
где подпись = sha256(request body + "secret")
На своей стороне, мы будем вычислять и сверять эту подпись.

Коды ответа сервера:
200 - в случае успешной обработки запроса
403 - в случае если не совпадает подпись
400, 500 или любой другой код трактовать как ошибка обработки запроса
501 - Индентификатор клиента указан не верно

Принцип и алгоритм работы советника:

Советник должен запускаться только с помощью манипуляций со стороны пользователя. Он не должен запускаться автоматически при логине к счету. При каждом запуске должно открываться диалоговое окно с текстом соглашения и двумя внопками Accept / Decline.

– Accept - советник просит уникальный индентификатор, если он уже был введен просит подтвердить его или изменить на новый
– Decline - выводит сообщение, что дальнейшая работа советника не возможна без согласия и выгружается, повторный запуск возможен

После прохождения этапа с введением "уникального кода", бот должен собрать необходимую информацию, передать ее на сервер, получить подтверждение что информация была доставлена на сервер. После получения подтверждения, бот должен дать клиенту обратную связь, что все прошло успешно. Если попытка передачи не удалась, повторить 2 раза, и, в случае не удачи, так же дать клиенту обратную связь. Обратная связь должна представлять собой просто окно с текстом:

– Данные переданы успешно, советник выгружается
– Индентификатор клиента указан не верно, просит ввести новый индетификатор
– Запрещено соединение с сервером, проверьте настройки советника, ссылка на инструкцию, советник выгружается
– Передача данных не удалась. Свяжитесь со службой технической поддержки, ссылка на поддержку, советник выгружается

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


Responded

1
Developer 1
Rating
(356)
Projects
590
70%
Arbitration
14
43% / 7%
Overdue
28
5%
Free
2
Developer 2
Rating
(236)
Projects
440
26%
Arbitration
125
21% / 57%
Overdue
96
22%
Working
3
Developer 3
Rating
(6)
Projects
11
9%
Arbitration
3
0% / 100%
Overdue
1
9%
Free
4
Developer 4
Rating
(229)
Projects
339
49%
Arbitration
21
5% / 33%
Overdue
24
7%
Free
5
Developer 5
Rating
(204)
Projects
293
37%
Arbitration
34
32% / 29%
Overdue
76
26%
Loaded
6
Developer 6
Rating
(15)
Projects
37
62%
Arbitration
1
0% / 100%
Overdue
1
3%
Free
7
Developer 7
Rating
(1)
Projects
1
0%
Arbitration
1
0% / 100%
Overdue
0
Free

Project information

Budget
100+ USD
For the developer
90 USD
Deadline
from 5 to 10 day(s)