脚本: 公开贸易
我该如何将其添加到MT5中?
Luis Gonzalo Mira Pintos #:
我该如何将其添加到MT5中?
我该如何将其添加到MT5中?
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
/*
来自MT5的预期JSON:
{
"symbol": "EURUSD",
"candles": [
{ "high": 1.0921, "low": 1.0882, "close": 1.0910 },
...
],
"周期": 20
}
*/
app.post("/breakout", (req, res) => {
const { candles, period } = req.body;
if (!candles || candles.length < period + 1) {
return res.json({ signal: "NONE" });
}
const lookback = candles.slice(1, period + 1);
const highestHigh = Math.max(...lookback.map(c => c.high));
const lowestLow = Math.min(...lookback.map(c => c.low));
const currentClose = candles[0].close;
let signal = "NONE";
if (currentClose > highestHigh) signal = "BUY";
if (currentClose < lowestLow) signal = "SELL";
res.json({
signal,
最高高点,
最低低点
});
});
app.listen(3000, () => {
console.log("Breakout bot API 正在端口 3000 上运行");
});
公开贸易:
该功能执行开仓交易的主要逻辑。它根据用户提供的符号信息和参数计算开仓价、止盈水平和止损。准备一个交易请求(MqlTradeRequest),其中包含必要的信息,如符号、交易量、订单类型、滑点、评论、神奇数字等。调用 OrderSend 函数发送交易请求并获取结果。SetTypeFillingBySymbol 函数:根据符号的执行策略确定订单执行类型(成交或取消、立即或取消或返回)。GetMinTradeLevel 函数:根据符号的冻结水平和停止水平计算最低交易水平。调整最低水平以确保其在一定范围内,并返回结果。
Author: Manuel Gonzales