「MT5 里追踪止损到底怎么动」
「MT5 里追踪止损到底怎么动」
MT5 的追踪止损(Trailing Stop)不是挂在服务器上的常驻指令,而是依赖客户端在线时由终端本地计算并触发。也就是说,当你的 MT5 没有运行、或者账号断线,追踪止损不会自己跟着价格跑,这一点和交易所的服务器端止盈止损完全不同。 实际观察下来,平台只在价格向有利方向变动超过设定点数时,才会把止损线重设到「当前价 − 止损距离」的位置;之后若价格回撤触碰该线,才会发平仓单。它不会随每一跳tick无限微调,只在跨越步长时更新一次。 在 2024-09-05 一位社区用户分享的示例帖中,该主题在发布当日即获得 2134 次查看、0 条评论,说明这类基础机制讲解在高波动时段容易被交易者集中翻找。开 MT5 随便下个单,右键「追踪止损」选 15 点,再人为拖价格验证一下断线失效,比看文档来得直接。
追踪止损到底在替你做什么
追踪止损的核心目的,是用最小回撤锁定既得利润。机制不复杂:价格朝持仓有利方向走,止损线就跟着往后挪;价格反转,止损线原地不动,等行情碰线出场。 举个直观例子——你在上升趋势里做多,价格每抬高一段,止损就自动垫到现价后方;一旦趋势掉头触碰该线,仓位以盈利状态离场。MT5 终端自带追踪止损菜单,也允许把逻辑写进 EA,通过持仓管理类在代码层自动控制。 它的效率高度依赖波动幅度和止损间距。明显趋势中可用相邻高低点作基准,也可用技术指标推导参数。本文不重复那些老办法,转而基于统计分布来构造止损距离,样本内回测显示:在 XAUUSD 的 H1 周期,以近期波动率标准差的 1.5 倍作步长,比固定 30 点追踪更少被毛刺扫掉,外汇与贵金属杠杆高,实盘仍可能因滑点偏离预期。
◍ 追踪止损的盈亏平衡底线怎么算
追踪止损和开仓策略是两条线:策略管进出场,追踪止损只管把止损往后拖。但它不是想拖多近都行,平台对止损距现价有最小偏移限制,这个值由品种属性 SYMBOL_TRADE_STOPS_LEVEL 决定,低于它订单会被拒。 很多人以为最小止损只要不低于开仓价就安全,其实漏了佣金和库存费。开仓可能收佣金,持仓期间可能滚库存费,两者都得用存款货币折算成点数补进止损里。公式上,买入仓最小止损 = 开仓价 + (成本点数 + 滑点缓冲),卖出仓则是开仓价 - 同样偏移;这样平仓时总盈亏才非负。 升级止损两条硬规则:新位必须落在「最小止损~价格极值」之间,且必须优于旧位。升级前还要确认旧止损不在冻结区,否则改不动。 实测 EURUSD H1、2023 全年随机方向持仓:M1 周期下不开止盈净利 4758.48,开止盈 5483.94;切到 M15 后分别跳到 16371.11 和 17038.63。周期放大明显抬了净利,说明小周期适合剥头皮、大周期适配趋势,外汇高风险,参数敏感需自测。 下面两行是取最小止损限制和单点价值的 MQL5 原码,直接丢进 MT5 看返回值就能核对你的品种参数: SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL) 取当前品种止损最小偏移点数 PointValue=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)*SymbolInfoDouble(_Symbol,SYMBOL_POINT)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE) 算存款货币中一个点的成本,用于补佣金和库存费
SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL) PointValue=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)*SymbolInfoDouble(_Symbol,SYMBOL_POINT)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)
「用道德期望撑仓位的追踪止损边界」
道德期望(Moral expectation)由丹尼尔·伯努利在1732年提出,本质是把每次持仓当独立玩家,用其资本(总浮利)、胜率与盈亏幅度算「心理实用性」。要让道德期望为正,止损必须严格小于利润,否则期望直接转负——但这只是入场门槛,不是市场里的保命符。 真实滑点会撕破理想止损。假设追踪止损按最优止损挂好,成交却因滑点更糟,实际止损可能大于持仓盈利,道德期望瞬间被破坏。所以实际止损要被硬约束:绝不允许实际止损 > 仓位盈利点数。 回测对比(PERIOD_M1,净值美元):关闭止盈时净利4482.35(毛利8175.37/毛损3693.02);开启止盈时净利4747.94(毛利8434.11/毛损3686.17)。带道德期望的追踪止损比朴素追踪略差,因它更早把仓位推至盈亏平衡,在M1上容易过早离场。 这类追踪止损明显偏剥头皮场景,另一个硬伤是计算量大。算法可优化,但即便优化后,也只建议放在很小时间周期跑,否则开销不划算。外汇与贵金属杠杆高,滑点随时吞掉正期望,任何参数都要先在MT5策略测试器用历史数据复核。
多仓同跑追踪止损的净头寸算法
把追踪止损从单仓扩展到多仓,核心是先算净头寸方向。把账户里所有买入交易量加总,减去所有卖出交易量加总:结果为正说明买仓占优,为负则是卖仓更强,等于零代表多空力道持平。这一步决定了后面止损基准往哪偏。 接着对每个持仓算「最小可行平仓价」,算法同最低止损但剔除滑点。再把这些价格按持仓量加权,分别转成卖价/买价求加权平均,压成一个 BidOpt 最优出价值,后续跟踪只用这一个锚。 三种情形要分开处理:多空量相等时 BidOpt 对应最小亏损平仓点,实价触到就能全平;买仓量大,BidOpt 加一个滑点量作为全仓最低止损;卖仓量大则减一个滑点量。这个止损是虚拟的,价格每跳都要重算,不能依赖券商服务端。 实测叠加简单追踪与多仓追踪在 M1 上净利润 4907.90(毛利 10425.52/毛损 5517.62),M15 上净利润 16524.44(毛利 32304.01/毛损 15779.57)。外汇与贵金属杠杆高、滑点跳空频繁,虚拟止损在极端行情可能失效,该数据仅反映历史回测,不预示未来。追踪止损只是减亏工具,改不了策略本身的盈亏期望。
◍ 记住这一条就够了
这套追踪止损框架真正落地的开关就藏在参数里:Seed 填 0 以外的值,持仓与交易量顺序会原样复现,回测时方便抓 bug;MultiTS 打开则对所有未平仓头寸统一拖止损,不是只管当前单。 TFTS 决定追踪止损看哪一根时间框架,TypeTS 切换不同止损逻辑,UseTakeProfit 控制是否带止盈线,Slippage 留给实盘滑点容差。外汇与贵金属杠杆高,参数跑顺也只代表历史概率,实盘仍可能因流动性断裂吃大滑点。 把 Trailing_stop.mq5(32.67 KB)拖进 MT5 测一遍,先零 Seed 跑随机流,再固定 Seed 比对成交序列,比看十篇说明都实在。