跟踪止损赚钱算法实战解析
用随机与反向进场捕捉危机趋势
一、算法背景与核心思路
在 MQL5 社区早期文章中,作者曾提出一种“要么获得全部要么一无所有”的随机进场策略,该策略仅依赖近似不变的市场波动率,不考虑方向,本质上靠抽签性质运行。本文在此基础上引入跟踪止损退出机制,使算法能够感知市场状况,从而具备在趋势与危机中获利的可能。核心认知是:单笔交易持续时间不可短于一小时,否则点差会迅速吞噬本金;也不可超过一周,否则会被拖延到年度抽签而失去实操意义。
我们选取欧元美元货币对与日线周期作为起点,跟踪止损幅度 TS 以当前图表最后 5 个烛形图平均实体尺寸的某个百分比表示,不依赖当前波动性、选定货币或货币对,从而保证尺度统一。测试初始存款 100000 美元,最小手数 0.1,以便在止损前观察更多价格动作。
二、随机进场+跟踪止损算法
算法步骤极简:以随机方向进场;设置跟踪止损等同于 TS;等待止损触发;回到步骤 1 或停止。由于跟踪止损监测市场,若价格随机游走则无收益,但真实价格包含趋势与危机成分,故可能盈利。在 D1 设 TS=100% 初步测试显示盈利,但需回答三个疑问:利润是否来自历史拟合?为何选欧美?随机进场是否纯运气?
为消除随机性与过拟合,优化采用 1990–2012 年几乎全部历史,对每个 TS 值执行 100 种随机进场顺序取平均。测试器使用“仅开盘价”模式,虽不精确但能呈现一般概念。结果显示 TS 50–100 亏损,150–850 盈利,900–1500 再亏损。取中间值 TS=500(22 年约 130 次交易)作为基准。
- TS<100:点差导致快速损失
- TS 150–850:平均盈利区
- TS>900:交易过少且再亏损
- 选定 TS=500 平衡交易次数与收益
三、多货币对验证与伪损失特征
以 TS=500 对欧美、镑美、美日各做 100 次随机平均。平均余额曲线呈现急剧垂直上升与漫长平缓下滑交替,作者称为“伪损失算法”:若截取随机 3 个月常只见稳定亏损,但 20 年维度可赢。垂直上升对应真实或假危机,2009 年三对货币同步上升源于 2008 年末危机。危机中价格脱离随机游走变得可预测,算法猜对方向后拉紧跟踪止损,在高峰触发,错则 50/50 反转,成功处理约四分之三实际危机。
镑美图表上升趋势少于美日,反映英美友好关系下缺乏贸易战危机;欧美受欧美贸易战与量化宽松影响,稳定性更好。价格变动稳定性是算法盈利唯一保障,技术分析角度无其他保证。美日稳定性极小,英美长期平稳下行。
四、手数管理与收益测算
研究用 0.1 手欧美 22 年赚 1400 美元。观察 1991 年最大急滑 200 元,若手数换 25 则下滑达 50000 美元(50%),故最优手数在 0.1–25 间,取均值约 10。手数 10 时盈利约 140000 美元,存款 100000,22 年利润 140%,年化 6%,超银行外币利息但现实一般。
需强调:手数放大线性放大利润与止损风险,必须基于历史最大回撤锚定上限,不可盲目翻倍。
五、反向进场与跟踪止盈变体
变体一:反向进场+跟踪止损。每笔与上一笔反方向,首笔买或卖仅在第一次危机前有影响,之后平行。TS 仍 500,利润达 9000 美元,年化约 38%。变体二:反向进场+跟踪止盈(TP),用于无危机镑美,TP=500,19 年赚 7000 美元,年化约 30%。跟踪止盈持续追盈价位,不设备止损,在水平通道破趋势时反向进场。
// 简化随机进场+跟踪止损核心逻辑
input double TS_Percent = 500.0;
input double Lot = 0.1;
void OnTick()
{
static int lastDir = 0;
if(PositionsTotal()==0)
{
int dir = (MathRand()%2==0)?1:-1; // 随机方向
lastDir = dir;
trade.Buy(Lot, _Symbol); // 示例买
}
// 设置跟踪止损:以平均实体百分比
// 实际需遍历持仓修改 SL
}
六、EA 开发与优化实操
文章提供 trailingstop.mq5、trailingstopvariation.mq5、trailingprofitvariation.mq5 三个源码。开发要点:用 MathRand 实现随机/反向进场;用 iMA 或烛形实体计算 TS/TP;在 OnTrade 或定时器里调整止损价。优化必须在策略测试仪用“仅开盘价”+多随机种子平均,避免曲线拟合。
七、常见坑与对比
坑 1:短 TS 必亏,因点差;坑 2:单货币单随机序易误判;坑 3:手数未按最大回撤限制。对比传统指标策略,本算法不预测方向,靠危机统计优势;对比网格马丁,无爆仓叠加风险,但需长周期持有。核心难点非写 EA,而是获取长期稳定平均余额行为。
总结:三种算法(随机+跟踪止损、反向+跟踪止损、反向+跟踪止盈)均属伪损失危机盈利型。基于稳定性,反向类年化可达 30%,但需理解价格行为本质方可实盘。