首先前往github下载
https://github.com/mikha-dev/mt4-websockets
项目
把里面的项目复制到mt4软件目录里。
操作如下:
点开文件->打开数据文件夹
复制进去。
记得点击工具->选项
勾选这些选项。
我们会在
mt4里看到websockets这个文件,右键修改
#property version "1.00"
#property strict#include <lib_websockets.mqh>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软件里
拖一个行情窗口出来
双击
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)