I need help with the same thing so Im borrowing this thread. Can someone help me please? 🙂
// ProRealTime backtest för DAX, Nasdaq och OMXS30 (med Shorting, Slippage & Optimeringar)
DEFPARAM PreloadBars = 200 // Säkerställ att vi har tillräckligt med historiska data
DEFPARAM CumulateOrders = False
DEFPARAM Slippage = 0.1 // Simulerar slippage på 0.1% per affär
// Initialt kapital & riskhantering
INITIAL_CAPITAL = 100000
POSITION_SIZE = 1 // Antal kontrakt per affär
SL_MULTIPLIER = 2 // Stop-loss på 2x ATR
TSL_MULTIPLIER_TREND = 3 // Trailing Stop för trendföljande strategier
TSL_MULTIPLIER_SHORT = 2 // Trailing Stop för kortsiktiga strategier
COURTAGE = 10 // Courtage per affär
// Tidsfilter (undviker första & sista timmen av handeln)
HOUR = Hour
IF HOUR < 10 OR HOUR > 16 THEN
RETURN
ENDIF
// — Beräkning av indikatorer —
MA20 = Average[20](Close)
MA70 = Average[70](Close)
MA150 = Average[150](Close)
ATR14 = AverageTrueRange[14](Close)
RSI14 = RSI[14](Close)
BOLL_TOP = BollingerUp[20](Close,2)
BOLL_BOTTOM = BollingerDown[20](Close,2)
// — Variabel för Trailing Stop —
TrailingStop = 0
// — Strategi 1: Super Simple Bollinger Bands (SSBB) (Long & Short) —
IF Close < BOLL_BOTTOM THEN
BUY POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close – (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close > BOLL_TOP THEN
SELL AT MARKET
ENDIF
IF Close > BOLL_TOP THEN
SELLSHORT POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close + (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close < BOLL_BOTTOM THEN
EXITSHORT AT MARKET
ENDIF
// — Strategi 2: Stark trend & jämviktspendling (Long & Short) —
IF Close > MA150 AND Close < MA70 THEN
BUY POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close – (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close > MA20 THEN
SELL AT MARKET
ENDIF
IF Close < MA150 AND Close > MA70 THEN
SELLSHORT POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close + (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close < MA20 THEN
EXITSHORT AT MARKET
ENDIF
// — Strategi 3: Long Trend High Momentum (LTHM) (Long & Short) —
IF MA20 > MA70 AND Close > MA150 THEN
BUY POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close – (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close < ENTRYPRICE – (SL_MULTIPLIER * ATR14) THEN
SELL AT MARKET
ENDIF
IF MA20 < MA70 AND Close < MA150 THEN
SELLSHORT POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close + (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close > ENTRYPRICE + (SL_MULTIPLIER * ATR14) THEN
EXITSHORT AT MARKET
ENDIF
// — Strategi 4: Hög Volatilitet (ATR) (Long & Short) —
IF ATR14 > 1.5 * Average[50](ATR14) THEN
BUY POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close – (TSL_MULTIPLIER_SHORT * ATR14)
ENDIF
IF BarsSinceEntry >= 5 THEN
SELL AT MARKET
ENDIF
IF ATR14 < 0.8 * Average[50](ATR14) THEN
SELLSHORT POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close + (TSL_MULTIPLIER_SHORT * ATR14)
ENDIF
IF BarsSinceEntry >= 5 THEN
EXITSHORT AT MARKET
ENDIF
// — Strategi 5: Kortsiktig RSI (Long & Short) —
IF RSI14 < 30 THEN
BUY POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close – (TSL_MULTIPLIER_SHORT * ATR14)
ENDIF
IF RSI14 > 50 THEN
SELL AT MARKET
ENDIF
IF RSI14 > 70 THEN
SELLSHORT POSITION_SIZE CONTRACTS AT MARKET
TrailingStop = Close + (TSL_MULTIPLIER_SHORT * ATR14)
ENDIF
IF RSI14 < 50 THEN
EXITSHORT AT MARKET
ENDIF
// — Hantera Trailing Stop-Loss —
IF PositionSize > 0 THEN
IF Close – (TSL_MULTIPLIER_TREND * ATR14) > TrailingStop THEN
TrailingStop = Close – (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close < TrailingStop THEN
SELL AT MARKET
ENDIF
ENDIF
IF PositionSize < 0 THEN
IF Close + (TSL_MULTIPLIER_TREND * ATR14) < TrailingStop THEN
TrailingStop = Close + (TSL_MULTIPLIER_TREND * ATR14)
ENDIF
IF Close > TrailingStop THEN
EXITSHORT AT MARKET
ENDIF
ENDIF