脚本: 公开贸易

公开贸易:

该功能执行开仓交易的主要逻辑。它根据用户提供的符号信息和参数计算开仓价、止盈水平和止损。准备一个交易请求(MqlTradeRequest),其中包含必要的信息,如符号、交易量、订单类型、滑点、评论、神奇数字等。调用 OrderSend 函数发送交易请求并获取结果。SetTypeFillingBySymbol 函数:根据符号的执行策略确定订单执行类型(成交或取消、立即或取消或返回)。GetMinTradeLevel 函数:根据符号的冻结水平和停止水平计算最低交易水平。调整最低水平以确保其在一定范围内,并返回结果。

Author: Manuel Gonzales

我该如何将其添加到MT5中?
Luis Gonzalo Mira Pintos #:
我该如何将其添加到MT5中?

你好,路易斯,这是一个可以作为专家顾问(EA)函数使用的脚本。
安装完成后,将图标从“脚本”窗口拖动到你想运行它的交易品种窗口中。
祝好。

Luis Gonzalo Mira Pintos #:
我该如何将其添加到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 上运行");
});