随机游走和趋势指标(基础篇)
◍ 随机游走与趋势指标的底子
很多人把均线、MACD 这类趋势指标当成抓方向的神兵,却忽略了一个前提:价格序列可能只是随机游走。若日线收盘近似随机游走,任何趋势指标的信号都更接近噪声,而非可重复的规律。 在 MT5 里可以用 simplest 方式做 sanity check:生成一串随机游走序列,再挂一条均线看它如何被甩。下面这段代码在 OnTick 里造了一个带漂移的随机游走,并用 iMA 取均线值,方便你直接拖进 EA 看表现。 外汇与贵金属杠杆高,随机性被放大,把随机游走误判为趋势可能迅速吃掉本金。先验证序列性质,再谈指标参数,顺序不能反。
class="type">class="kw">double randomWalk(class="type">class="kw">double drift, class="type">class="kw">double vol) { class="kw">static class="type">class="kw">double last = class="num">0; last = last + drift + vol * (MathRandom() - class="num">0.5); class="kw">return last; } class="type">void OnTick() { class="type">class="kw">double rw = randomWalk(class="num">0.0001, class="num">0.001); class="type">class="kw">double ma = iMA(NULL, class="num">0, class="num">14, class="num">0, MODE_SMA, PRICE_CLOSE); Print("rw=", rw, " ma=", ma); }
「用掷硬币看清交易机制的本质」
掷硬币这个古老游戏,其实藏着理解 FOREX 技术交易机制的钥匙。我们拿它来做实验,不是为了赌正反,而是借这种最简化的随机过程,去拆穿报价背后「技术信号是否真有优势」这件事。 外汇与贵金属市场高风险,任何看似规律的信号都只是概率倾向,而非确定性。把硬币当作零优势基准,再来对比均线、突破等策略的胜率偏离,你才分得清哪些是真实边缘、哪些只是幸存者偏差。 想动手验证很简单:开 MT5 新建一个 EA,用 MathRand() 模拟抛硬币开仓,记录 1000 次后的盈亏分布,再叠一根 20 周期 MA 策略回测曲线,两者吻合度往往高得反直觉。
用掷硬币看清市场的随机底色
先扔掉那些花哨的指标,用最朴素的随机数发生器模拟掷硬币:正面记 +1,反面记 -1,从零起步把每次结果累加,就得到一条随机游走曲线。图里纵轴是游走位置、横轴是步数,看起来和某些行情图莫名相似。 反正弦律说掷得越久,曲线穿越零轴的次数越少,且有约 90% 的时间待在零轴一侧;醉酒水手理论更直白——平均位移和步数平方根成正比。这两条加上分形自相似特性,本身不能直接拿来赚钱,但能当尺子量市场的随机性。 把随机游走当成一个无庄家的赌博汇率,所有 MT5 规则都能套用。结论很硬:有限步数内,任何积极交易的系统若预付款不能负,长期必然亏到清零;若有中间人抽点差,资金按交易笔数线性蒸发,最优解是不交易,硬要玩就把全部压一笔让胜率最大化(仍小于 0.5)。 在随机游走数据上,EA 和指标照样吐买卖信号,但都是噪声。Z 账户值以零为中心散开,所有策略等价——「所有猫都是灰猫」。你还能肉眼看出趋势、通道、反转,那只是交易者脑补的绿洲,没有任何信息量。 两人有限筹码对掷,钱多者赢光钱少者;交易者和市场玩,胜率约等于自身资金与市场体量之比,基本没机会。但若比赛比虚拟收益、真钱奖励冠军,期望值转正,就冒出加倍下注夺冠策略——太猛的提前爆仓,太怂的筹不够,中间派靠随机抽彩胜出。这类优化用随机游走模拟能算清,弄懂了便能移植到真实风控。外汇与贵金属属高风险,随机底色只是起点不是圣杯。
◍ 真实汇率和随机游走到底差在哪
前面那些悲观结论都建立在纯随机游走假设上,认为交易员注定亏光保证金。但货币对报价不是随机数,它的几个硬特征才是能榨出期望值的地方。 真实汇率被基础经济面摁在一个大致的通道里,不会像随机游走那样无界乱跳。这就给了长周期“波动回归”策略生存空间——比如盯着大级别区间做均值回摆。 另一个差异是消息面可部分预测:重要新闻出来时,汇率短期方向有时能提前押注,而随机游走对新闻毫无反应。 统计分布上两者也不同。把报价和随机序列都看成数字串,问题就变成“找规律 + 验证随机性”。随机游走多是 +1/-1 堆叠,若某测试证伪了序列的随机性,那条规律就能拿来开仓。外汇和贵金属杠杆高,这类统计优势只代表概率倾斜,实盘仍需严控风险。 随机性测试工具有很多,开 MT5 用 OnBalance 或自写置换检验,先把 EURUSD 日线跑一遍看 p 值,比空谈市场无效更有用。