将您的线性交易系统提升为幂交易系统·综合运用
(3/3)· 固定分数决策与回测验证,把线性系统的低风险底座换成指数增长曲线
很多交易者把跑直的净值曲线当成终点,却从没试过在同样胜率下让仓位随权益等比放大。固定分数不是加杠杆赌一把,而是用破产风险趋零的框架把线性系统改造成幂系统。本篇接前两篇的基础与实战,收尾讲清决策参数与回测落点。
「在 OnTick 里把状态机变成下单动作」
EA 跑起来后,资金管理的落点其实就卡在 OnTick 这一刻:系统算完当前演化状态,你直接按状态开仓或空仓。 下面这段把重命名后的指数化系统 ExponentialHawaiian 接进决策分支。GetEvolution().GetStatus() 吐出三种状态,BUY / SELL 各自算好 tp、sl 再丢给 GetTrade().PositionOpen,DO_NOTHING 就原地跳过。 [CODE] switch(GetEvolution().GetStatus()) { case BUY: tp = ask + m_takeProfit * _Point; sl = bid - m_stopLoss * _Point; GetTrade().PositionOpen(GetBrain().GetSymbol(),ORDER_TYPE_BUY,m_evolution.GetLotSize(),ask,sl,tp); break; case SELL: sl = ask + m_takeProfit * _Point; tp = bid - m_stopLoss * _Point; GetTrade().PositionOpen(GetBrain().GetSymbol(),ORDER_TYPE_SELL,m_evolution.GetLotSize(),bid,sl,tp); break; case DO_NOTHING: // Nothing... break; } [/CODE] 逐行拆一下:第 1 行取状态;BUY 分支里 tp 用 ask 加 m_takeProfit 个 _Point,sl 用 bid 减 m_stopLoss 个 _Point,注意买仓 sl 在市价下方;SELL 分支相反,sl 挂在 ask 上方、tp 在 bid 下方,手误写反就会变成双向止损。 外汇和贵金属杠杆高,这套固定分数下单只是把风险框在 m_stopLoss 点数内,实际亏损仍可能随跳空扩大,上 MT5 用策略测试器跑一遍 EURUSD 的 2023 Tick 数据,看 DO_NOTHING 占比多少再调 m_evolution.GetLotSize()。
class="kw">switch(GetEvolution().GetStatus()) { case BUY: tp = ask + m_takeProfit * _Point; sl = bid - m_stopLoss * _Point; GetTrade().PositionOpen(GetBrain().GetSymbol(),ORDER_TYPE_BUY,m_evolution.GetLotSize(),ask,sl,tp); break; case SELL: sl = ask + m_takeProfit * _Point; tp = bid - m_stopLoss * _Point; GetTrade().PositionOpen(GetBrain().GetSymbol(),ORDER_TYPE_SELL,m_evolution.GetLotSize(),bid,sl,tp); break; case DO_NOTHING: class=class="str">"cmt">// Nothing... break; }
◍ 用净值曲线验证指数化稳定性
给系统接好面向对象逻辑后,下一步不是直接上实盘,而是先跑回测把指数化假设打穿。以 ExponentialHawaiian 的 HawaiianTsunamiSurfer 固定分数变体为例,取 2012 年 1 月至 2012 年 3 月这段窗口做测试,上方净值曲线呈指数化增长,下方对照系统保持线性。 这个对照本身就是一个破产边界探针:只要指数化曲线还能压在线性系统之上,系统就处在理论可控区;一旦上方曲线不再保持指数形态、被线性系统反超或失速,说明仓位缩放已偏离设计假设,理论上存在破产风险。外汇与贵金属杠杆高,这类失稳在极端波动下触发概率会明显放大。 开 MT5 把这段历史拉出来重跑,重点看曲线分叉点出现在哪一周——那比任何口头结论都实在。
记住这一条就够了
把线性系统的仓位管理换成固定分数(比例随净值浮动),本质只是把资金曲线从直线推成指数型,MT5 策略测试器里能直接看到权益曲线斜率变陡。 但评论区里 Yury Reshetov 点得很直白:Ralph Vince 的固定分数理论抄自实践派却没跑过盘,Edward Thorp 用凯利准则实盘赚到钱的前提是样本足够多;GaryKa 也提醒,市场有最小手数和最小点差,非线性在离散边界上会退化回线性。 所以真要验证这套 cevolution.mqh 的 OO 逻辑,自己开 MT5 跑十年回测比看三个月样本靠谱,别信「升幂就暴富」的错觉——外汇和贵金属杠杆高,错一次可能直接洗掉账户。