Join waitlist
Strategies / Momentum / KST Crossover With ATR Stops

KST Crossover With ATR Stops

The strategy buys when the KST momentum line crosses above its 9-period average, price is above a 200-period linear regression line and the Alligator jaw, and choppiness is below 50. It exits when price reaches a stop or target set from a 14-period ATR.

MomentumLong onlySwingDAX 404 hours
1.81Profit factor
12,858Net profit EUR
51.27%Win rate
236Trades
-1,656Max drawdown
54.48Avg trade

Best run of 20. DAX 40, 4 hours, spread 3, from run pf:2026-10-09-DAX40-4h.tsv:1.

Entry rules, long

  1. Close is above the 200-period linear regression line and the Alligator jaw (13-period Wilder average, shifted 8 bars).
  2. The 14-period Choppiness Index is below 50.

Exit rules

  1. The position closes at market when either level is touched.

Test conditions

PeriodUp to 2026-10-09
InstrumentDAX 40, 4 hours
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-10

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
DAX 40Best run4 hours1.81 23651.2712,858 EUR-1,656
Dow JonesDaily1.81 10451.9212,247 EUR-2,759
FTSE 1004 hours1.50 19848.483,968 EUR-906
DAX 4030 min1.19 1,25744.878,430 EUR-1,790
USD/JPY1 hourn/a 80944.75207,940 USD-161,810
Nikkei 22515 minn/a 1,30645.648,795 USD-8,633
US Crude OilDailyn/a 7553.338,005 EUR-3,422
Dow Jones4 hoursn/a 7847.447,068 EUR-3,598
DAX 40Dailyn/a 15047.335,207 EUR-1,707
DAX 401 hourn/a 72643.253,863 EUR-2,734
Nasdaq 1001 hourn/a 90846.813,740 EUR-2,205
DAX 4015 minn/a 1,24344.013,568 EUR-1,706
Brent CrudeDailyn/a 3246.883,433 EUR-2,287
Nasdaq 100Dailyn/a 10649.063,032 EUR-1,740
US Crude Oil10 minn/a 1,18541.862,189 EUR-1,768
Gold4 hoursn/a 24447.951,443 EUR-493
Gold1 hourn/a 80243.89655 EUR-504
S&P 5004 hoursn/a 23240.52607 EUR-487
Gold15 minn/a 1,08845.13551 EUR-310
S&P 500Dailyn/a 12342.28539 EUR-445

Charts

Results by run

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

Above 1.0 made money, below 1.0 lost money.

The code

ProBuilder code, as tested

// ==============================================================
// KST Crossover With ATR Stops
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long only
// Timeframe tested: 4 hours
// ==============================================================

DEFPARAM CumulateOrders = false

ONCE sl = 0
ONCE tp = 0

ra = 100 * (close - close[10]) / close[10]
rb = 100 * (close - close[15]) / close[15]
rc = 100 * (close - close[20]) / close[20]
rd = 100 * (close - close[30]) / close[30]
kst = Average[10](ra) + 2 * Average[10](rb) + 3 * Average[10](rc) + 4 * Average[15](rd)
sig = Average[9](kst)

jawraw = WilderAverage[13](MedianPrice)
jaw = jawraw[8]

trsum = summation[14](TR(close))
rng = highest[14](high) - lowest[14](low)
ci = 100

19 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

SMAATRLinear RegressionWilder Average
Longer historyRe-run on up to 1,000,000 barsDAX 40 · 4 hours · older data 0.00 EUR

DAX 40 had no history beyond the standard run, so both runs used 28,000 bars.

DAX 40 · 4 hours

Bars available28,000
Net, standard 200,000-bar run12,858.10 EUR
Net, long run12,858.10 EUR
Net on the older data alone0.00 EUR
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 KST Crossover With ATR Stops 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 20 market and timeframe combinations. The best run was DAX 40, 4 hours, with a profit factor of 1.81 over 236 trades.

How large was the drawdown?

The best run had a maximum drawdown of 1,656 EUR at the tested position size, against a net result of 12,858 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

Heikin Ashi Color Flip

Best run on the same market, DAX 40.

1.12 PF · 3,692 trades

KDJ J Line Zero Cross

Also a momentum strategy.

1.81 PF · 429 trades

Put your name on the ProRealAlgos waitlist to trade a tested portfolio instead of single strategies.

The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.

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