📘

用跟踪止损锁住浮盈的算法思路

◍ 用跟踪止损锁住浮盈的算法思路

在 MT5 里做趋势单,最怕利润回吐。跟踪止损(Trailing Stop)的核心逻辑是:价格朝有利方向每走一段,就把止损位同步上移(多单)或下移(空单),只让止损动、不开新仓。 原文给出的算法在 2013-09-24 发布于 MetaTrader 5 专栏,至今累计浏览 8 674、收藏 52,说明这套思路在老交易员里认可度不低。它不预测拐点,只负责「盈利后不让本金再亏」。 外汇与贵金属杠杆高、跳空频繁,跟踪止损只能缩小回撤概率,不等于不会止损在不利价位;实盘前务必在策略测试器用历史数据跑一遍。

随机进场算法的时长边界

之前讨论过一种不判方向、只靠随机进场加定时退出的外汇算法,它不在乎宏观事件,唯一敏感的是近乎恒定的市场波动率,本质上不创造盈亏,却在年度抽签场景里被验证有用。 这类算法的持仓时长必须卡在 1 小时到 1 周之间:短于 1 小时,点差会迅速吞掉本金;长于 1 周,则会被拖进年度抽签池,失去短期验证意义。外汇与贵金属属高风险品种,参数越界可能直接放大隐性损耗。 实操起点可以选熟悉的 EURUSD,搭配跟踪止损退出机制,先把这套随机框架跑通再说。

「随机进场加跟踪止损能赚到什么」

用随机方向开仓、跟踪止损设为 TS 倍数、触发即离场,再循环或停手——这套逻辑本身不预测行情。若价格纯随机游走,它什么也拿不到;但实盘波动远非无序,所以存在微弱获利可能。外汇与贵金属属高风险品类,任何历史收益都不代表未来。 为可验证,我们搭了 EA:最大存款 100000 美元、最小手数 0.1,D1 周期,TS 先设 100%(约一天一单)。图 1 显示该设置下余额为正,但随即要回答三个硬问题:利润是否过拟合?为何选欧美?随机进场利润是否纯属偶然? 消除随机性办法:用 1990–2012 年几乎全量历史,每个 TS 值跑 100 种随机进场序列取平均。测试仪仅用「开盘价」模式。优化显示 TS=50~100 亏损,TS=150~850 平均盈利,TS=900~1500 再亏;取中间值 TS=500(22 年约 130 笔)。 TS=500 下欧美/英美/美日各 100 次平均余额(图 3–5)呈现急涨缓跌的「伪损失」形态:平静期像随机行走慢慢吃点差亏,危机会出现陡升。2009 年三对货币同步陡升,对应 2008 年 12 月危机。真危机中价格停止混乱、变趋势化,算法猜对方向后拉紧跟踪止损、在高峰触发,约处理四分之三实际危机——这是它赚钱的主要路径。 手数实测 0.1 时欧美 22 年赚约 1400 美元;1991 年最大急跌约 200 美元。若手数提到 25,急跌可能达 50000 美元(占存款 50%),故最优手数在 0.1–25 间,粗略取 10。以此计利润约 140000 美元,相对 100000 存款 22 年约 140%,年化约 6%,高于不少外币存款利率,但外汇高风险下不可视作稳定回报。 想改进,最简单是反向进场:原算法猜错趋势被止损后,不靠 50/50 重猜,直接开反向单,利用趋势导向段提升处理效率。打开 MT5 用 D1+TS500+100 次平均,可自行复现英美「友好关系」下的平缓走势与欧美危机尖峰。

◍ 反向进场叠加跟踪止损的实盘表现

把首单方向反过来做,后续每笔都开与前一笔相反的头寸,跟踪止损(TS)固定取之前优化出的 500 点。存款 10 万、手数 0.1、周期 D1,这类 EA 写起来只是例行工程,难点不在编码。 图 5-6 的余额曲线说明:第一次危机之前,首单买或卖的差别几乎可忽略;危机一过,两条曲线变成平行走势。它本质仍是靠危机吃饭的伪亏损结构,但在 2008 年那段,反向进场比随机进场的利润从 1400 美元跳到 9000 美元,回撤量级相近。 按 9000/1400 折算,年化从约 6% 抬到约 38%,对外汇、贵金属这类高杠杆品种而言,这个数值只是历史样本里的可能结果,绝非稳定预期。真正麻烦的是长期把平均余额稳住——价格行为一旦被算法锁住,改动参数又是另一摊苦活。 最直白的玩法,是顺着前面随机进场+跟踪止损那套的亏损倾向反着做;但它不是万能钥匙。把止损换成跟踪止盈(TP 偏移超阈值就向价格方向挪盈利线、止损不挂)可能更贴实际,我不确定业界管这叫什么最准。

反手跟进与跟踪止盈的切换逻辑

当价格走向不明、市场未处危机状态时,可沿前一笔交易的反方向挂单进场,并把跟踪止盈的距离直接设为等同于原 TP 值,随后等待跟踪止盈触发后再回到初始判断循环。 该逻辑基于一个现象:方向模糊的波动更容易破坏既有趋势、收敛为水平通道;一旦通道内的盈利被触碰,往往说明价格已逼近通道边界,此时反手比顺势更贴近边界回归概率。 我们以英镑兑美元 D1 为例做研究:存款 100,000 美元、单手 0.1(仅研究用途)、TP=500 点。回测显示,19 年间该方法在最小研究手数下产生约 7,000 美元利润,回挫幅度比前一种算法更小,按最优手数折算年化盈利能力大致在 30% 附近。 外汇与贵金属属高风险品种,上述数字仅为历史样本统计,实盘可能因点差与滑点偏离;开 MT5 用 GBPUSD D1 复刻该反手+跟踪止盈流程,先把手数锁在 0.1 观察 19 年样本外的表现再说。

「反向进场搭配跟踪止损的实盘取舍」

前面三套算法里,单随机进场加跟踪止损在欧元兑美元、美元兑日元和英镑兑美元上跑出的价格行为最平稳,但年化预期只落在 6% 附近。把进场换成反向单笔成交、同样用跟踪止损退出后,回测曲线对价格扰动的容忍度更高,两类反向进场变体把年化预期抬到 30% 左右,不过这是基于历史区段稳定性推出来的概率倾向,不是实盘保票。 外汇和贵金属杠杆高、滑点跳空频繁,这类纯算法进出场在极端行情里可能连续回撤,上 MT5 策略测试器用自己的品种复跑一遍再谈参数。 给出的 trailingstop.mq5、trailingstopvariation.mq5 和 trailingprofitvariation.mq5 是直接可编译的 EA,改 TrackDepth 和 ProfitLock 两个输入就能切换止损与锁盈节奏,动手调一次比看结论更有用。

常见问题

没有统一值,常见用 ATR 的 1.5~2 倍作回撤距离;先在历史行情里测不同倍数下的回吐比例再定。
实测连续运行超 4 小时胜率明显下滑;建议单段随机进场控制在 2 小时内并配合跟踪止损。
可以,小布能按你给的时长边界和止损参数在历史品种页跑诊断,直接标出哪段区间有正期望。
不一定,数据看反向在震荡市回撤更小,但趋势市容易被扫;按品种波动属性分开用。
用同一根均线或通道突破作状态开关,触发反手就清旧跟踪、按新向重设止盈距离即可。