Скачать MetaTrader 5

mql4 Сокеты

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй статью и заслужи признание тысячи трейдеров!
Igor Kryuchkov
10792
Igor Kryuchkov 2016.11.02 17:36 
Всем привет. Подскажите пожалуйста как работать с wss:// , я так понимаю это сокеты. Какие библы подключать? И если можно пожалуйста пример отправки запроса и прием ответа например с wss://ws.broker.net/socket/
Mikhail Dovbakh
4266
Mikhail Dovbakh 2016.11.03 03:34  

MSDN в помощь...

 

 если на JS то проще..

   function Connect() {
        output = document.getElementById("debug");
        var token = " my token";
        if (token == '') {
            alert("You must add an API Token");
            return;
        }

        ws = new WebSocket('wss://ws.binaryws.com/websockets/v3');
        ws.onopen = function(evt) {
            onOpen(evt)
        };
        ws.onmessage = function(evt) {
            onMessage(evt)
        };
    }

    onOpen = function(evt) {
        var token = "my token";
        ws.send(JSON.stringify({
            authorize: token
        }));

    }

    onMessage = function(msg) {
        var js = JSON.parse(msg.data);

        if (js.error) { //Just for check for error
            writeToScreen("Error: " + js.error.message);
            return;
        }

        if (js.msg_type == 'authorize') {
            var get = parseGetVars();
            writeToScreen("Authorized OK:" + "  Email: " + js.authorize.email + "  Account: " + js.authorize.loginid + "Amount" + get['amount']);
             ws.send(JSON.stringify({
            "buy": "1",
  "price": "30",
  "parameters": {
       "amount":"30",
       "basis": "payout",
       "contract_type": "CALL",
       "currency":"USD",
       "duration":"60",
        "duration_unit": "s",
       "proposal": 1,
        "symbol": "frxEURUSD"
}
        }));
        }

        if (js.msg_type == 'balance') {
            writeToScreen("Balance: " + js.balance.balance);
        }

    }

    function GetBalance() {
        if (ws) {
            ws.send(JSON.stringify({
                balance: 1
            }));
        }
    }


 

Igor Kryuchkov
10792
Igor Kryuchkov 2016.11.03 10:04  
Mikhail Dovbakh:

MSDN в помощь...

 

 если на JS то проще..

   function Connect() {
        output = document.getElementById("debug");
        var token = " my token";
        if (token == '') {
            alert("You must add an API Token");
            return;
        }

        ws = new WebSocket('wss://ws.binaryws.com/websockets/v3');
        ws.onopen = function(evt) {
            onOpen(evt)
        };
        ws.onmessage = function(evt) {
            onMessage(evt)
        };
    }

    onOpen = function(evt) {
        var token = "my token";
        ws.send(JSON.stringify({
            authorize: token
        }));

    }

    onMessage = function(msg) {
        var js = JSON.parse(msg.data);

        if (js.error) { //Just for check for error
            writeToScreen("Error: " + js.error.message);
            return;
        }

        if (js.msg_type == 'authorize') {
            var get = parseGetVars();
            writeToScreen("Authorized OK:" + "  Email: " + js.authorize.email + "  Account: " + js.authorize.loginid + "Amount" + get['amount']);
             ws.send(JSON.stringify({
            "buy": "1",
  "price": "30",
  "parameters": {
       "amount":"30",
       "basis": "payout",
       "contract_type": "CALL",
       "currency":"USD",
       "duration":"60",
        "duration_unit": "s",
       "proposal": 1,
        "symbol": "frxEURUSD"
}
        }));
        }

        if (js.msg_type == 'balance') {
            writeToScreen("Balance: " + js.balance.balance);
        }

    }

    function GetBalance() {
        if (ws) {
            ws.send(JSON.stringify({
                balance: 1
            }));
        }
    }


 

Спасибо за хороший ответ. Допустим на JS авторизовались. А как мне открывать сделки через мт4 . Допустим я там сделал кнопки вверх и вниз.
Taras Slobodyanik
12837
Taras Slobodyanik 2016.11.03 11:19  

так есть жеж статья по сокетам:

https://www.mql5.com/ru/articles/2599 

Работа с сокетами в MQL, или Как стать провайдером сигналов
Работа с сокетами в MQL, или Как стать провайдером сигналов
  • 2016.07.12
  • //www.mql5.com/ru/users/sergeev">
  • www.mql5.com
Сокеты… Что вообще сейчас в нашем информационном мире может без них существовать? Впервые появившиеся в 1982 г. и практически не изменившиеся до настоящего времени, они исправно работают на нас каждую секунду. Это основа сети, нервные окончания нашей Matrix, в которой мы живем.
Mikhail Dovbakh
4266
Mikhail Dovbakh 2016.11.03 11:30  
Igor Kryuchkov:
Спасибо за хороший ответ. Допустим на JS авторизовались. А как мне открывать сделки через мт4 . Допустим я там сделал кнопки вверх и вниз.
У них МТ5 есть. 
Смысл ваять на других мовах, если вы MQL знаете. Кроме того всегда можно мост построить..
Mikhail Dovbakh
4266
Mikhail Dovbakh 2016.11.03 11:35  
Taras Slobodyanik:

так есть жеж статья по сокетам:

https://www.mql5.com/ru/articles/2599 

Вы, уважаемый, о каких сокетах речь ведете?

есть Win  Socket (cтатья о нем), a eсть Web Socket (про него и спрашивали).

В огороде бузина, а в Киеве дядька... 

Igor Kryuchkov
10792
Igor Kryuchkov 2016.11.03 11:43  

Хотелось бы на mql4 все это сделать, потому что так все было задумано. Есть возможность подключить библу websocketa в mql4? Есть ли она вообще такая.

Mikhail Dovbakh
4266
Mikhail Dovbakh 2016.11.03 11:49  
Igor Kryuchkov:

Хотелось бы на mql4 все это сделать, потому что так все было задумано. Есть возможность подключить библу websocketa в mql4? Есть ли она вообще такая.

Можно ваять мост из неуправляемого кода в управляемый...

Можно организовать обмен между приложениями.

Вариантов тьма.

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

Готовое решение видел в маркете, счас не найду... 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий