我正在尝试在我的 nodejs 服务器中获取外汇汇率,并且 socke.io 将它们发送到客户端,同时运行 MetaTrader 终端 5 或 4。
所以我想我必须使用 MQL4/5。我知道如何处理我的 nodejs 服务器中的请求。我不知道在哪里编写 MQL4 代码,在我的 MetaTrader 终端中配置什么。
假设我想在每次更改时将 EUR/USD 出价发送到我的 nodejs 服务器。我如何使用 MT4/5 和 MQL4/5 实现这一目标?
我的nodejs代码:
app.post('/fxroute', (req, res) => {
console.log(req);
let fxRates = req.body // dont know if the payload will be in body
socket.emit('fxRates', fxRates);
});
MQL5 脚本:
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart(){
string headers;
char data[],
result[];
string str = "data=value"; // POST-data, variables to send
StringToCharArray( str, data );
string b = CharArrayToString( data );
Print( "Test:", b ); // just a test of data, if good ... OK, data was setup correctly.
WebRequest( "POST",
"http://localhost:3000/fxroute",
NULL,
NULL,
3000,
data,
ArraySize( data ),
result,
headers
);
Print( CharArrayToString( result ) ); // see the results
// it returns
// "Results:" No posted data.
}
当我编译并运行时,我看到它是在 MT Experts 选项卡中执行的,但是在我的 nodejs 服务器上,控制台什么也没有记录。