Join waitlist
Strategies / Volatility / Volatility Spike Regression Long

Volatility Spike Regression Long

A long-only volatility system that waits for a spike in a volatility measure, then buys when that measure's regression is positive and not rising. It exits when close drops below a trailing ATR stop while the regression is positive and rising.

VolatilityLong onlySwingNasdaq 1001 hour
1.22Profit factor
19,030Net profit EUR
31.30%Win rate
1,850Trades
-4,195Max drawdown
10.29Avg trade

Best run of 35. Nasdaq 100, 1 hour, spread 3, from run pf:2026-10-12-NAS100-1h.tsv:3.

Entry rules, long

  1. A spike occurs when the volatility measure is at or above its 20-bar average plus 2 standard deviations, or above 0.85 times its 50-bar high.
  2. The spike flag stays set while no long is open and clears once a long is open.
  3. Entries are only taken after 75 bars of history.

Exit rules

  1. While long, the stop is the higher of its prior value and close minus 5 times the 22-bar ATR.

Test conditions

PeriodUp to 2026-10-12
InstrumentNasdaq 100, 1 hour
Spread3 points
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-10-12

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
Nasdaq 100Best run1 hour1.22 1,85031.3019,030 EUR-4,195
USD/JPY30 minn/a 2,62628.18676,830 USD-277,430
USD/JPY4 hoursn/a 51031.18647,530 USD-401,430
USD/JPY15 minn/a 2,52831.61436,320 USD-189,250
USD/JPY10 minn/a 2,60030.88412,000 USD-117,950
Nikkei 225Dailyn/a 16935.5063,648 USD-20,231
Nikkei 2254 hoursn/a 35635.3945,994 USD-12,481
Nikkei 22530 minn/a 2,91128.5133,342 USD-12,377
Dow JonesDailyn/a 17936.3132,082 EUR-10,179
Nikkei 22510 minn/a 2,82629.0930,401 USD-14,239
Nikkei 2251 hourn/a 1,46830.0426,174 USD-16,626
Nikkei 22515 minn/a 2,90728.9324,903 USD-15,515
Nasdaq 100Dailyn/a 15337.9123,279 EUR-7,516
DAX 40Dailyn/a 25834.5021,068 EUR-6,786
Nikkei 2255 minn/a 2,73629.9720,357 USD-14,424
Dow Jones1 hourn/a 65030.0019,914 EUR-6,981
Nasdaq 10030 minn/a 2,75630.7319,063 EUR-5,140
DAX 401 hourn/a 1,68231.5717,613 EUR-4,450
Dow Jones15 minn/a 2,30330.7417,031 EUR-9,848
Nasdaq 1004 hoursn/a 50933.0115,951 EUR-6,004
DAX 4030 minn/a 2,79129.8512,413 EUR-5,599
Nasdaq 10015 minn/a 2,72831.9311,318 EUR-6,935
Nasdaq 10010 minn/a 2,77130.9611,146 EUR-6,405
DAX 404 hoursn/a 46531.1810,864 EUR-4,868
Dow Jones30 minn/a 1,17328.4710,496 EUR-10,114
Dow Jones10 minn/a 2,76630.159,813 EUR-9,719
DAX 4015 minn/a 2,72331.559,079 EUR-4,249
Brent Crude4 hoursn/a 25731.917,850 EUR-6,921
S&P 500Dailyn/a 18737.975,736 EUR-1,577
S&P 5001 hourn/a 1,79932.023,831 EUR-1,018
GoldDailyn/a 21030.483,194 EUR-1,830
S&P 5004 hoursn/a 49231.913,143 EUR-1,310
Gold4 hoursn/a 46128.202,948 EUR-1,458
Gold1 hourn/a 1,67429.572,769 EUR-1,453
S&P 50030 minn/a 2,74930.962,761 EUR-1,449

Charts

Results by run

Top 10 of 35 runs. The full list is in the table above.

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// Volatility Spike Regression Long
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Volatility
// Direction: Long only
// Timeframe tested: 1 hour
// ==============================================================

DEFPARAM CumulateOrders = false

ONCE vstate = 0
ONCE stopv = 0

hc = highest[22](close)
wvf = (hc - low) / hc * 100
sdev = 2 * STD[20](wvf)
mid = Average[20](wvf)
upperband = mid + sdev
rangehigh = highest[50](wvf) * 0.85

32 more lines: the entry and exit rules.

Setup

How to load it

  1. Copy the code with the copy button on the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Indicators used

ATRLinear RegressionSMAStandard Deviation
Read this firstKnown weaknesses2 points
  • Results include the spread only. Commissions and overnight financing are not included.
  • The code is published as it was backtested and has not been compiled again since.

Questions

About this strategy

Can I run Volatility Spike Regression Long in ProOrder?

Yes. The code is ProBuilder and runs as an automated ProOrder system. Backtest it on your own account with your own spread and position size before trading it live.

Which markets was it tested on?

It was tested on 35 market and timeframe combinations. The best run was Nasdaq 100, 1 hour, with a profit factor of 1.22 over 1,850 trades.

How large was the drawdown?

The best run had a maximum drawdown of 4,195 EUR at the tested position size, against a net result of 19,030 EUR.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Trend Surfer

Uses the same indicator.

1.04 PF · 10,813 trades

Three Bar Low Reversal Time Exit

Best run on the same market, Nasdaq 100.

1.32 PF · 1,819 trades

Stochastic Reversal With Statistical Volatility

Also a volatility strategy.

1.22 PF · 1,187 trades

Want strategies that are already part of a live portfolio? Join the ProRealAlgos waitlist.

Copy trading on US indices is available to ProRealAlgos members as spots open.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs