Longs werden ausgelöst, wenn der Schlusskurs über das vorherige 9-Bar-Hoch bricht, während das MACD-Histogramm steigt, RSI(4) über 63 liegt und der Kurs sich über der 50 SMA hält. Shorts verwenden ein 7-Bar-Tief, ein fallendes Histogramm, RSI(4) unter 31 und die 500 SMA. Positionen werden an der gegenüberliegenden Kanalkante geschlossen, ohne Gewinnziel.
| positionSize Aktien pro Trade, wie veröffentlicht | 2 |
| longChannelPeriod Donchian-Länge für Long-Einstiege und den Long-Stop | 9 |
| shortChannelPeriod Donchian-Länge für Short-Einstiege und den Short-Stop | 7 |
| macdFast MACD schnelle Länge | 12 |
| macdSlow MACD langsame Länge | 26 |
| macdSignalPeriod MACD Signallänge | 9 |
| rsiPeriod RSI-Länge | 4 |
| longRsiLevel RSI muss darüber liegen, um zu kaufen | 63 |
| shortRsiLevel RSI muss darunter liegen, um short zu gehen | 31 |
| longTrendPeriod SMA, auf oder über der der Schlusskurs liegen muss, um zu kaufen | 50 |
| shortTrendPeriod SMA, auf oder unter der der Schlusskurs liegen muss, um short zu gehen | 500 |
Der Code
// ============================================================ // 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 weitere Zeilen: die Einstiegs- und Ausstiegsregeln.
Setup
Fragen
Die Regeln sind für ProOrder geschrieben, aber der neu gefasste Code wurde nicht auf Kompilierfähigkeit geprüft oder gebacktestet. Betrachten Sie ihn als Ausgangspunkt für eigene Tests.
Noch keine. Es wurde auf dieser Seite nicht gebacktestet.
Der Standard ist 2 pro Trade, festgelegt durch den Parameter positionSize. Ohne Backtest gibt es keine Drawdown-Zahl, handeln Sie daher klein, bis Sie eigene Ergebnisse haben.
Der 500-SMA-Filter auf der Short-Seite benötigt viel Historie, daher ist eine Zeiteinheit mit langer Datenabdeckung sinnvoll. Hier wurde noch keine Zeiteinheit getestet.
Verwandt
Die ProRealAlgos Community erhält die vollständigen Regeln, den kompletten Code und das automatisierte Portfolio.