Longs utlöses när stängningen bryter över föregående högsta på 9 barer medan MACD-histogrammet stiger, RSI(4) ligger över 63 och priset håller sig över SMA 50. Shorts använder lägsta på 7 barer, ett fallande histogram, RSI(4) under 31 och SMA 500. Positioner stängs vid den motsatta kanalkanten utan vinstmål.
| positionSize Aktier per affär, som publicerat | 2 |
| longChannelPeriod Donchian-längd för long-entries och long-stoppen | 9 |
| shortChannelPeriod Donchian-längd för short-entries och short-stoppen | 7 |
| macdFast MACD snabb längd | 12 |
| macdSlow MACD långsam längd | 26 |
| macdSignalPeriod MACD signallängd | 9 |
| rsiPeriod RSI-längd | 4 |
| longRsiLevel RSI måste ligga över detta för att köpa | 63 |
| shortRsiLevel RSI måste ligga under detta för att gå short | 31 |
| longTrendPeriod SMA som stängningen måste ligga vid eller över för att köpa | 50 |
| shortTrendPeriod SMA som stängningen måste ligga vid eller under för att 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 rader till: entry- och exitreglerna.
Uppsättning
Frågor
Reglerna är skrivna för ProOrder, men den omskrivna koden har inte kompileringskontrollerats eller backtestats. Behandla den som en utgångspunkt för din egen testning.
Inga ännu. Den har inte backtestats på den här sidan.
Standard är 2 per affär, satt av parametern positionSize. Utan ett backtest finns ingen drawdown-siffra, så handla i liten storlek till du har egna resultat.
SMA 500-filtret på shorts behöver mycket historik, så en tidsram med lång datatäckning är rimlig. Ingen tidsram har testats här ännu.
Relaterat
ProRealAlgos-communityn får de fullständiga reglerna, den kompletta koden och den automatiserade portföljen.