Longs utløses når lukkekursen bryter over den forrige 9-bars toppen mens MACD-histogrammet stiger, RSI(4) er over 63 og prisen holder seg over 50-SMA. Shorts bruker en 7-bars bunn, et fallende histogram, RSI(4) under 31 og 500-SMA. Posisjonene lukkes på motsatt kanalkant uten profittmål.
| positionSize Aksjer per handel, som publisert | 2 |
| longChannelPeriod Donchian-lengde for long-innganger og long-stoppen | 9 |
| shortChannelPeriod Donchian-lengde for short-innganger og short-stoppen | 7 |
| macdFast MACD rask lengde | 12 |
| macdSlow MACD langsom lengde | 26 |
| macdSignalPeriod MACD signallengde | 9 |
| rsiPeriod RSI-lengde | 4 |
| longRsiLevel RSI må være over dette for å kjøpe | 63 |
| shortRsiLevel RSI må være under dette for å gå short | 31 |
| longTrendPeriod SMA som lukkekursen må være på eller over for å kjøpe | 50 |
| shortTrendPeriod SMA som lukkekursen må være på eller under for å gå short | 500 |
Koden
// ============================================================ // Donchian MACD Breakout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long & short // Timeframe tested: Not yet tested // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 50000 // --- Parameters --- positionSize = 2 // shares per trade, as published longChannelPeriod = 9 // Donchian length for long entries and the long stop shortChannelPeriod = 7 // Donchian length for short entries and the short stop macdFast = 12 // MACD fast length macdSlow = 26 // MACD slow length macdSignalPeriod = 9 // MACD signal length rsiPeriod = 4 // RSI length longRsiLevel = 63 // RSI must be above this to buy shortRsiLevel = 31 // RSI must be below this to short longTrendPeriod = 50 // SMA the close must be at or above to buy shortTrendPeriod = 500 // SMA the close must be at or below to short // --- Indicators --- macdHistogram = MACD[macdFast, macdSlow, macdSignalPeriod](close) longChannelHigh = Highest[longChannelPeriod](high) longChannelLow = Lowest[longChannelPeriod](low) shortChannelHigh = Highest[shortChannelPeriod](high) shortChannelLow = Lowest[shortChannelPeriod](low) rsiValue = RSI[rsiPeriod](close) longTrendMA = Average[longTrendPeriod](close) shortTrendMA = Average[shortTrendPeriod](close)
20 linjer til: inngangs- og utgangsreglene.
Oppsett
Spørsmål
Reglene er skrevet for ProOrder, men den omskrevne koden er ikke kompileringssjekket eller backtestet. Behandle den som et utgangspunkt for din egen testing.
Ingen ennå. Den er ikke backtestet på dette nettstedet.
Standard er 2 per handel, satt av parameteren positionSize. Uten en backtest finnes det ingen drawdown-tall, så bruk liten størrelse til du har dine egne resultater.
500-SMA-filteret på shorts krever mye historikk, så en tidsramme med lang datadekning er fornuftig. Ingen tidsramme er testet her ennå.
Relatert
ProRealAlgos-fellesskapet får de fullstendige reglene, hele koden og den automatiserte porteføljen.