Websocket как сделать? - страница 20

 
Fedor Arkhipov:

Я попробовал применить библиотеку к МТ4, файл советника компилится без ошибок,

но когда я его прикрепляю к графику получая ошибку "Global initialization failed" если использую метод который возвращает простой тип.

а если пытаюсь получить структуру, то Invalid ex4 file (8)

Может будет работать если выкинуть все структуры

или нужно делать шаманство с IL или com-портами

Я бы порекомендовал не спешить. Сначала стоит все довести до ума, отладить на МТ5, затем перевести на МТ4, это займет не более 5-ти минут.

Соединение с сокетом это только начало. Необходимо еще декодировать ответ, так как сервер присылает все в архивированном виде, а так же создать механизм игры в пинг-понг, в который играет сервер. То есть с определенной периодичностью сервер отправляет сигнал ping клиентам и если клиент не ответит в течении определенного времени pong, тогда сервер отключает клиента.

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

Как только всего этого добьемся и сможем управлять из МТ5, тогда переведем библиотеку на МТ4.

Есть еще запрос такой же трансляции котировок для биржи Binance

 
Алексей Барбашин:

Есть езе запрос такой же трансляции котировок для биржи Binance

Да, но там надо сформировать запрос по "мурзилке" houbi

вот Максим делал

json:  { "sub": "market.btcusdt.kline.1min", "id": "1122" }

 
Fedor Arkhipov:

Да, но там надо сформировать запрос по "мурзилке" houbi

вот Максим делал

json:  { "sub": "market.btcusdt.kline.1min", "id": "1122" }

И что? Не понял сложности.

 
Алексей Барбашин:

И что? Не понял сложности.

сложности думаю нет, нужно посмотреть структуру запроса, сейчас ищу
 

вот это Время свечи это id в секундах от 1 января 1970 г. Т.е. как в метатрейдере


 

Федор, предлагаю еще раз подумать над структурой и возможностями нашей библиотеки. 

Какую конечную задачу мы решаем?

 
Fedor Arkhipov:

вот это Время свечи это id в секундах от 1 января 1970 г. Т.е. как в метатрейдере


Не совсем так. Посчитай количество цифр у поля ts и ты увидишь что это не количество секунд, как в МТ, это количество тиков, то есть в 1000 раз больше.

 
Fedor Arkhipov:

вот это, только я пока не понял как получить свечу по времени


а вот никак :-) конкретная свеча - это в rest api

или надо запоминать все/некоторые прежние свечи за промежуток.

поймите верно - WebSocket и потоки через него, это оперативно поступающие данные. Быстрее уже нельзя. Он тем и ценен

когда нужны раскопки, отдельно обращаются в Rest, но там лимиты по темпу запросов (объёму ответов)

 
Алексей Барбашин:

Федор, предлагаю еще раз подумать над структурой и возможностями нашей библиотеки. 

Какую конечную задачу мы решаем?

вообще хотелось бы передать историю цен и тиковую цену. Но сейчас хорошо бы получить одну свечу, думаю, что запрос старых цен в цикле я смогу сделать позже.
 
Maxim Kuznetsov:

а вот никак :-) конкретная свеча - это в rest api


Так что, не получится запрашивать старые свечи через websocket?

только тики?