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

1 篇文章 0 订阅
本文介绍了如何从GitHub下载并集成mt4-websockets项目到MT4中,设置WebSocket服务器地址,实现实时数据发送和接收,以及使用Node.js创建WebSocket服务器以处理行情数据。
摘要由CSDN通过智能技术生成

首先前往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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值