MT5 真机运行截图 · 服务器把编译好的 EX5 挂到黄金 H1 图表上截的,你装上去看到的就是这个样子
ManualFollowTrendAddEA.mq5预览 35 / 584 行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//+------------------------------------------------------------------+
//| 手动开单 → EA 自动跟随方向顺势加仓 → 总盈利平仓(单边/合计) |
//+------------------------------------------------------------------+
#property copyright "XAUOF 指标工坊"
#property version "1.00"
#property description "手动下第一单后,EA 自动识别方向,顺势按间距加仓;达到盈利目标后单边或全部平仓。"
#include <Trade\Trade.mqh>
//--- 手数计算方式
enum LotCalcMode
{
LOT_FOLLOW = 0, // 跟随首单手数
LOT_FIXED = 1, // 固定手数
LOT_MULTI = 2, // 倍数递增(首单×倍数^层数)
LOT_PLUS = 3 // 等差递增(首单+每层加量)
};
//--- 盈利/亏损目标的计算口径
enum TargetCalcMode
{
TGT_MONEY = 0, // 固定金额(账户货币)
TGT_PERLOT = 1, // 每手金额×总手数
TGT_PERCENT = 2 // 账户余额百分比
};
//--- 平仓统计方式
enum CloseStyleMode
{
CLOSE_BY_SIDE = 0, // 单边平仓(多、空分别算,谁达标平谁)
CLOSE_BY_TOTAL = 1 // 合计平仓(多空净盈利达标,全部平掉)
};
//================= 可调参数 =================
input group "===== 基础设置 ====="
已显示前 35 行,共 584 行。完整源码仅对 xauusd.team VIP 开放查看与复制。
开通 VIP 查看完整源码MT5 运行截图 · 完整视图带价格轴和时间轴的整张图表(约 150 根 H1 K 线),上面的封面是它最近 80 根 K 线的放大视图
作品说明
这次需求是“跟随手动单自动加仓 + 批量平仓”,属于 EA(会自动下单),不是画线指标,所以按 EA 规范写成 OnInit/OnTick/OnDeinit + CTrade。
实现思路:
- 方向跟随:只接管当前品种、magic=0(手动单)和本 EA 加仓单,分别统计多/空两边的单数、手数、浮动盈亏。
- 顺势加仓:多头基准价取该方向最高开仓价,价格再往上走够间距才加单;空头取最低开仓价往下走。这样只在赚钱方向加仓,不会变成逆势马丁,也不会重复触发。净持仓账户用变量记录上次加仓价兜底。
- 手数:跟随首单 / 固定 / 倍数递增 / 等差递增四种,自动按品种的最小手数与步长规整。
- 平仓:单边模式下多、空各自算总盈利,谁达标平谁;合计模式下两边净盈利达标全平。可另开总亏损保护。
- 带点差过滤、最大单数、最大总手数、加仓最小间隔秒数,图上实时显示状态面板。
使用说明
- 安装:把
ManualFollowTrendAddEA.mq5放到MQL5/Experts目录,F7 编译,拖到图表上,确认工具栏「算法交易」亮绿灯,图表右上角出现笑脸。 - 用法:EA 本身不会主动开第一单。你手动买入或卖出一单后,EA 读取方向,价格顺着你的方向每走够
InpGridStep点就加一单,逆向走不加。 - 间距单位是 point:黄金报价两位小数时 1 point = 0.01 美元,
300就是 3 美元;五位报价外汇则 300 point = 30 个 pip。请按自己品种的小数位换算。 - 手数方式:
跟随首单最稳;倍数递增1.2–1.6 之间已经很激进,配合InpMaxTrades、InpMaxTotalLots两个上限一起用。 - 平仓方式:
单边平仓时多空各算一笔总账,哪边的浮盈先到InpTargetValue就只平那一边;合计平仓时多空净盈利达标一起平掉。目标口径可选固定金额、每手金额、余额百分比。 - 亏损保护:
InpUseLossProtect=true后,同一口径的浮亏达到InpLossValue会强制平仓,建议开启,数值取账户能承受的单笔最大回撤。 - 接管范围:默认只管当前品种里 magic=0 的手动单和本 EA 的加仓单;如果想让它接管其他 EA 的持仓,把
InpTakeOverOtherEA设为 true。多个图表挂同一 EA 时请用不同InpMagic。 - 注意:顺势加仓在趋势行情里放大利润,在来回震荡里会把已有浮盈吃掉,务必先在模拟账户跑一周;净持仓(Netting)账户的加仓会合并成一张单,此时手数方式请选「固定手数」。
评论
后可以留言,比如反馈用着怎么样、想加什么功能。
还没有人评论,来抢个沙发。