
“智能止损”并非一种交易策略。它绝不会开仓。 将其附加到一个图表上,它就会监控您指定的头寸——无论是手动交易还是其他EA的头寸,均可通过符号和魔法号进行筛选——并在五条规则中任一条触发时,平仓那些处于浮亏状态的头寸。无论规则如何规定,盈利的头寸绝不会被触及。
这一构想源于一种常见的回测模式:胜率很高,但盈利因子却依然较低,因为那少数几笔亏损单会一路跌至止损位。关键问题不在于“更早平仓亏损单”,而在于“平仓那些即将触及止损位的单子,让那些能回本的单子保持不变”。 这就是为什么每条规则都是一个输入条件,为什么设有宽限期,以及为什么每次平仓都会记录在日志中——日志正是告诉你哪条规则区分了这两类头寸的关键。
宽限期。在持仓时间达到N分钟(默认5分钟)之前,不会对任何规则进行评估,因此不会因正常的入场回撤而止损。
仅观察模式。记录本会记录本应平仓的头寸及其原因,但不会实际平仓——建议先以这种方式运行,待日志显示哪些规则真正有效后,再启用相应规则。
规则1——ATR不利偏离。价格已反向波动超过N倍ATR(默认值为所选时间周期的1.5倍ATR(14))。
规则 2 — 持仓时间。头寸持仓时间超过 N 分钟(默认 240),且仍处于亏损状态。
规则 3 — EMA 趋势失效。在最后一个收盘K线中,买入时快速 EMA 位于慢速 EMA 下方,卖出时位于其上方(默认 20/50)。
规则 4 — RSI 动量。在最后一根收盘K线上,若为亏损的多头头寸,RSI 低于某个阈值;若为亏损的空头头寸,RSI 高于某个阈值(默认关闭,35/65)。
规则 5 — 资金上限。浮动亏损(包括掉期和佣金)超过固定金额(默认关闭)。
规则1和2在每个报价点进行检测;规则3和4读取收盘K线数据,因此不会重绘。规则按上述顺序进行检查,最先触发的规则将被记录。
日志。每次平仓都会向 MQL5\Files\SmartLossExit_journal.csv 文件追加一行记录:时间、符号、仓位编号、类型、成交量、开盘价和收盘价、盈利、持仓时长(以分钟为单位)、最大不利波动(以点数和 ATR 单位计),以及触发该操作的规则。 一周后在电子表格中打开该文件,您会发现,例如,每笔亏损幅度达到1.2倍ATR的交易最终都触发了止损——这就是应设置为规则1的数值。
面板。生效规则、持仓管理、亏损交易数量、最差交易、以 ATR 单位计的最差不利波动、今日平仓及最近一次平仓。
每次平仓都会写入专家顾问日志,并可选择作为终端警报触发。
输入参数
范围:仅管理此图表的符号(true)· 要管理的魔术号码,0 = 全部,-1 = 仅手动(0)· ATR / EMA / RSI 的时间周期(M15)· 宽限期(以分钟为单位)(5)· 仅观察(false)
规则 1 — ATR:启用 (true) · ATR 周期 (14) · 倍数 (1.5)
规则 2 — 时间:启用 (true) · 分钟数 (240)
规则 3 — EMA:启用(true) · 快线(20) · 慢线(50)
规则 4 — RSI:启用(false) · 周期(14) · 买入仓位若跌破(35)则平仓 · 卖出仓位若升破(65)则平仓
规则 5 — 资金:启用(false) · 账户货币计价的最大亏损(50)
日志与显示:写入 CSV 日志(true)· 文件名(SmartLossExit_journal.csv)· 每次平仓时弹出提示(true)· 显示面板 / 角落 / 字体大小(true / 左上角 / 10)
在3位数和5位数报价中,1点等于10点;其他情况下,1点等于1点。
建议:将指标附加至实际交易所在的图表上;对于XAUUSD及主要外汇货币对的日内交易系统,建议将指标周期设为M15。支持对冲和净额结算账户。
已验证
策略测试器,EURUSD M1,MetaQuotes模拟账户,10,000美元,对冲账户,宽限期0:
步骤1:仅采用ATR规则(0.05 × ATR),买入1.00手
智能止损退出:EURUSD #2 买入 1.00 手,以 -4.00 亏损平仓——ATR 0.11x > 0.05x(0 分钟,MAE 0.4 点)正常
步骤2:仅采用MONEY规则(上限3),买入1.00手
智能止损平仓:EURUSD #4 买入 1.00 手,平仓亏损 -25.00 —— MONEY 25.00 > 3.00(0 分钟,MAE 2.5 点)正常
步骤3:仅满足“时间”规则(2分钟),买入+卖出
智能止损平仓:EURUSD #7 卖出 0.10,平仓亏损 -2.50 — 时间 2 分钟 ≥ 2(2 分钟,MAE 3.0 点)通过
智能止损平仓:EURUSD #6 买入 0.10,以-2.50亏损平仓 - 时间 2 分钟 >= 2(2 分钟,平均绝对误差 3.4 点) 正常
通过:无亏损持仓,0笔盈利持仓
通过:交易日志包含标题行及 4 行数据
自检完成:8项通过,0项失败
本次运行生成的交易日志:
时间,符号,单号,类型,手数,开盘价,收盘价,盈利,持仓时间_分钟,MAE_点,MAE_ATR,原因
2026.06.02 00:00:00,EURUSD,2,买入,1.00,1.16317,1.16313,-4.00,0,0.4,0.11,ATR 0.11x > 0.05x
2026.06.02 00:03:00,EURUSD,4,买入,1.00,1.16336,1.16311,-25.00,0,2.5,0.79,MONEY 25.00 > 3.00
2026.06.02 00:08:00,EURUSD,7,卖出,0.10,1.16304,1.16329,-2.50,2,3.0,0.95,时间 2 分钟 >= 2
2026.06.02 00:08:00,EURUSD,6,买入,0.10,1.16329,1.16304,-2.50,2,3.4,1.07,时间 2 分钟 >= 2
编译成功,0个错误,0个警告(构建版本 6198)。
注
- 与 Risk Guard(同一位作者)配合使用:Risk Guard 在建仓时设定仓位大小并限制风险上限,Smart Loss Exit 在平仓时削减亏损头寸。
- 关闭“仅管理此图表的交易品种”选项并设置魔术编号为0,即可通过一个图表管理整个账户;指标句柄会在首次识别时按交易品种分别创建。
- 日志文件以共享模式打开,因此可在EA运行时通过电子表格读取。
- 调优方法:将“仅观察(Observe only)”设为 true 并运行一周。 不会平仓任何头寸;每次规则本应触发时,日志中会写入一行记录,并在原因前缀标注“OBSERVE”。将这些交易记录与实际结果进行对比,保留那些成功截断止损的规则,放宽那些误截回本交易的规则,然后关闭“仅观察”模式。