swingHigh Rtrend-followingmediumBest TF: 4hFailed out-of-sampleTV: Compiled (Pine v6 PASS)

EMA Pullback

In a trending market, wait for price to pull back to the 20-EMA, then enter in the direction of the trend.

Profitability — TV multi-year derived

NEGATIVE EV
RM/Day
-135
net MYR ÷ trading days
Trades/Day
1.4
avg trade frequency
Monthly Est
RM -2,972
RM/day × 22 days
Trading Days
1,038
2022-01-01 → 2026-04-25
Philosophy

Trends breathe. The 20-EMA is where institutional money often re-enters. Don't chase — wait for the pullback, even if it means missing some moves.

Walk-forward status: Failed out-of-sample

Every variant we walk-forward-tested collapsed out-of-sample (OOS SQN < 1.0 or negative). The in-sample numbers shown below are the RAW backtest — they did NOT transfer to unseen data. Reject for live trading.

This strategy: Mode A walk-forward on legacy_5m: ema100 variant had OOS SQN -3.80 (severe fail). Featured snap_4h config is untested on rolling, but the lower-TF variant collapses hard, which argues against the system in general.

Authoritative result · TV multi-year backtest

TradingView 5m, multi-year history

TV UNPROFITABLE
Net (MYR)
-140,235
Profit Factor
0.44
Win rate
16.1%
Trades
1406
Max DD (MYR)
+140,235

TV Wave-2 multi-year on 5m: WORST of the wave. -140k MYR, 16% WR, 1,406 trades. EMA20 gets touched constantly on 5m so the pullback bounce fires nonstop. This is a daily-TF strategy mis-applied to intraday.

Tested 2026-04-25. This is the load-bearing evidence — it overrides the 1-month sweep below.

Local 1-month sweep — in-sample only, weak signal

In-sample only — weak signal
SQN
0.94
Profit Factor
1.28
Win rate
42.9%
Trades
63
Net profit
MYR +5,535
Max drawdown
MYR +5,160
Dataset
snap_4h
Timeframe
4h

Strategy properties

Style
swing
Profile
High R
Trades / day
2.86
Avg bars held
TV compile status
Compiled (Pine v6 PASS)
Walk-forward
Failed out-of-sample
Low WR but big winners. Long losing streaks are normal — the rare runaway pays for them.

Parameters

emaPeriod
20
touchTicks
3

Applies to

  • Market: FCPO (Crude Palm Oil Futures, Bursa Malaysia)
  • Timeframe: 4h
  • Style: Swing (hours to days)
  • Complexity: 2-3 rules, some discretion

When it works

Did not show a stable edge in the sample — treat with caution.

Pine Script coming soon

Related strategies (trend-following)

Full raw backtest result
{
  "dataset": "snap_4h",
  "tf": "4h",
  "params": {
    "emaPeriod": 20,
    "touchTicks": 3
  },
  "trades": 63,
  "winRate": 42.86,
  "netProfitMYR": 5535,
  "profitFactor": 1.28,
  "sqn": 0.94,
  "maxDrawdownMYR": 5160
}

Amaran Risiko: Dagangan niaga hadapan (futures) melibatkan risiko kerugian yang tinggi dan tidak sesuai untuk semua pelabur. Kerugian boleh melebihi deposit margin asal anda. Prestasi lampau bukan jaminan prestasi masa hadapan. Kandungan di laman ini adalah untuk tujuan pendidikan dan maklumat sahaja, dan bukan nasihat pelaburan. Pastikan anda memahami sepenuhnya risiko yang terlibat sebelum berdagang, dan dapatkan nasihat profesional jika perlu.