通过websocket 获取mt4软件 实时数据

首先前往github下载
https://github.com/mikha-dev/mt4-websockets
项目
通过websocket 获取mt4软件 实时数据_第1张图片
把里面的项目复制到mt4软件目录里。

操作如下:
通过websocket 获取mt4软件 实时数据_第2张图片
点开文件->打开数据文件夹
通过websocket 获取mt4软件 实时数据_第3张图片
复制进去。
记得点击工具->选项
通过websocket 获取mt4软件 实时数据_第4张图片
勾选这些选项。
我们会在

mt4里看到websockets这个文件,右键修改
通过websocket 获取mt4软件 实时数据_第5张图片

#property version   "1.00"
#property strict

#include 

input string   Host = "http://xxx.xxx.xxx:8080";//这里是websocket服务器地址
input int      HeatBeatPeriod = 45;

int commandPingMilliseconds = 1000;//这里是1秒发送一次
WebSocketsProcessor *ws;

int OnInit() {
  ws = new WebSocketsProcessor(Host, 30, 45);    
  
  ws.SetHeader( "account", AccountNumber() );
  ws.Init();
  
  //ws.Send( "test" + GetTickCount() );
  
  EventSetMillisecondTimer(commandPingMilliseconds);
  
  return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason) {
  EventKillTimer();
  Deinit();
}

void OnTick() {

}

void OnTimer() {
	//Close[0] 是实时卖价
	//_Symbol 是当前行情价格
  string syt = _Symbol+"_"+Close[0];
  //这里是发送到websocket服务器里的数据
  ws.Send(syt);
}

修改后记得点 上面的 在这里插入图片描述

接着在mt4软件里
通过websocket 获取mt4软件 实时数据_第6张图片
拖一个行情窗口出来
双击
通过websocket 获取mt4软件 实时数据_第7张图片
websockets这个文件

正常会运行成功的。
如果不行
在这里插入图片描述
可以看下日志和EA

接着这websockets服务器上就可以看到行情的实时数据了。

nodejs 事例

var ws = require("nodejs-websocket")

// Scream server example: "hi" -> "HI!!!"
var server = ws.createServer(function (conn) {
    try{
        conn.on("text", function (str) {
        
            let data_ts = [];
            let dts = str.split("_");
            if(dts[0] && dts[1]){
                
                console.log(dts[0])
                console.log(dts[1])
            }
            
        })
    }catch(e){
        console.log(e)
    }
    
    conn.on("close", function (code, reason) {
        console.log(code)
        console.log(reason)
    })
}).listen(8080)

你可能感兴趣的:(mt4,c#,websocket,网络协议,网络,数字货币,c#)