The first time you use a trigger engine, the temptation is to pile in every condition you can think of: "MACD golden cross AND RSI > 50 AND price above EMA20 AND volume above 1.5× average AND no major news AND...". Backtest it. 92% win rate! Ship it.
Two weeks of live trading later: 3 trades total, 1 win, 2 負. What happened?
The overfitting trap
Every condition you add to a rule does two things. It filters out losers (good) and it filters out signal opportunities (bad). Add enough conditions and your rule will only fire on historical patterns that — by selection — happened to win. Live, those exact patterns are rare and the conditions become traps.
The minimum-viable trigger principle
Start with one condition. Backtest 6 months. If win rate is > 50% and there are at least 30 trades, ship it. Add a second condition only if it improves win rate by ≥ 5 percentage points and trade count stays above 20.
If you can't get to 50% with one condition on 6 months of data, the underlying signal isn't there. Adding more conditions just hides the truth from you.
Three working examples on XAU/USD
A. MACD golden cross on 15m
Single condition. 商品: XAU/USD. 時間frame: 15m. 勝 rate over 180 days: ~54%. Avg trade: +12 pips. About 2-4 fires per day. Acceptable as-is — most traders run this with a fixed 30-pip TP / 20-pip SL.
B. 價格 breaks above 1H EMA50
Single condition. 勝 rate ~52%. Lower R:R but very few false signals. Good for accumulation-style traders willing to hold 2-6 hours.
C. Composite (don't do this)
"MACD cross + RSI > 60 + price above EMA50 + volume > 1.2× average + EU session." Backtests at 71%. Live: fires once a week. After commission slippage, no edge.
Walk-forward, always
Test rule on Jan-Jun. If green, optimize on Jul-Sep. Validate on Oct-Dec. If win rate degrades by > 10 points between optimization and validation, the rule is overfit. Throw it out.
Acceptable degradation
Live trading will underperform backtest. Slippage, latency, your own emotions all cost. A 5-7 percentage-point degradation is normal. More than 15 means you backtested incorrectly (look-ahead bias is the usual culprit).
The math of edge
You need win rate × avg-win > (1 − win rate) × avg-loss. With 1:1 R:R, you need 50% + commission cushion (≈ 53%). With 1:2 R:R, you only need 35%. Most retail traders chase win rate; pros chase R:R because it's easier to control with rules.
The trigger rule builder is in the admin panel — start with one condition, watch it for 30 days, then iterate.
Open trigger rules More articles