scalpBalancedmean-reversionsimpleBest TF: 60mPassed rolling walk-forward (Mode B)TV: Compiled (Pine v6 PASS)

VWAP Reversion

Fade price when it deviates N standard deviations from the session VWAP. Classic mean-reversion for range days.

Profitability — TV multi-year derived

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

Price rubber-bands around fair value. When it stretches too far, it snaps back. Works best on quiet, range-bound sessions — stay out on trending days.

Walk-forward status: Passed rolling walk-forward (Mode B)

A config in this family reached PROMOTED status in the rolling walk-forward (top-5 train AND OOS SQN > 1.0 in at least 3 of 4 rolling windows on legacy_5m). Most robust badge in the library.

This strategy: On legacy_5m, configs sd30×2 and sd40×2 were PROMOTED in rolling Mode B (top-5 train AND OOS SQN > 1 in 3 of 4 windows; mean OOS SQN 0.81 and 1.49 respectively). Mode A PASS: sd30×2 (OOS SQN 1.62) and sd20×1.5 (OOS SQN 1.06). The featured legacy_60m config was not directly tested — family robustness is the basis for the badge.

Authoritative result · TV multi-year backtest

TradingView 5m, multi-year history

TV UNPROFITABLE
Net (MYR)
-36,340
Profit Factor
0.52
Win rate
46.3%
Trades
341
Max DD (MYR)
+36,975

TV multi-year on 5m (sd40×2 variant): the rolling walk-forward champion did NOT replicate. -36k MYR with PF 0.52. The 1-month signal was a sampling artefact.

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
2.29
Profit Factor
6.25
Win rate
85.7%
Trades
7
Net profit
MYR +2,915
Max drawdown
MYR +555
Dataset
legacy_60m
Timeframe
60m

TV Strategy Tester evidence

Captured from TradingView

Entries on chart (3 screenshots)

Chart screenshot vwap-sd40x2-15m.png
vwap-sd40x2-15m.png
Chart screenshot vwap-sd40x2-60m.png
vwap-sd40x2-60m.png
Chart screenshot vwap-sd40x2-recent.png
vwap-sd40x2-recent.png

Strategy properties

Style
scalp
Profile
Balanced
Trades / day
0.30
Avg bars held
TV compile status
Compiled (Pine v6 PASS)
Walk-forward
Passed rolling walk-forward (Mode B)
Moderate WR with PF ~1.5–2. Workhorse — no extreme runs either way.

Parameters

stdevPeriod
20
stdevMult
1.5

Applies to

  • Market: FCPO (Crude Palm Oil Futures, Bursa Malaysia)
  • Timeframe: 60m
  • Style: Scalping (seconds to minutes)
  • Complexity: 1 rule, plug-and-play

When it works

Range-bound / low-volatility regimes. Avoid strong trending sessions.

Pine Script coming soon

Related strategies (mean-reversion)

Full raw backtest result
{
  "dataset": "legacy_60m",
  "tf": "60m",
  "params": {
    "stdevPeriod": 20,
    "stdevMult": 1.5
  },
  "trades": 7,
  "winRate": 85.71,
  "netProfitMYR": 2915,
  "profitFactor": 6.25,
  "sqn": 2.29,
  "maxDrawdownMYR": 555
}