Техническое задание
Создать программу, которая подключившись к серверу binary.com (авторизация с использованием ключа API, при потере соединения - автоматическое переподключение) будет "слушать" директорию "Files" (путь к директории указывается в настройках программы config) и при создании программой МТ5 (это я сделаю сам) в ней нового текстового файла "send.txt" с запросом на JSON, эта программа будет забирать из данного файла и транслировать этот запрос на binary.com, после чего удалит файл с запросом. Далее, полученный ответ от сервера перезаписывать (прежний ответ надо стереть) в другой текстовый файл "receive.txt" в этой же директории и снова "слушать" директорию на появление нового файла с запросом. Подобный функционал имеется в программе (во вложении), но она ограничена запросами. Также, у binary.com уже есть открытый сервис API playground (https://developers.binary.com/api/), где, после авторизации, можно свободно формировать данные запросы на JSON и получать необходимые данные, но только в браузере.
Вот пример запроса в текстовом файле "send.txt" в директории "Files":
{
"portfolio": 1
}
Вот пример полученного ответа, который надо перезаписать (прежний ответ стереть) в другой файл "receive.txt в этой же директории:
{
"echo_req": {
"portfolio": 1
},
"msg_type": "portfolio",
"portfolio": {
"contracts": [
{
"app_id": 1169,
"buy_price": 1,
"contract_id": 40201691528,
"contract_type": "EXPIRYRANGE",
"currency": "USD",
"date_start": 1549676987,
"expiry_time": 1549691387,
"longcode": "Win payout if Volatility 10 Index ends strictly between entry spot minus 12.259 to entry spot plus 12.259 at 4 hours after contract start time.",
"payout": 1.89,
"purchase_time": 1549676987,
"shortcode": "EXPIRYRANGE_R_10_1.89_1549676987_1549691387_S12259P_S-12259P",
"symbol": "R_10",
"transaction_id": 80340663108
}
]
}
}