Les longs se déclenchent quand la clôture casse au-dessus du plus haut des 9 bars précédents alors que l'histogramme MACD monte, que le RSI(4) est au-dessus de 63 et que le prix tient au-dessus de la SMA 50. Les shorts utilisent un plus bas de 7 bars, un histogramme en baisse, un RSI(4) sous 31 et la SMA 500. Les positions sortent sur le bord opposé du canal, sans objectif de profit.
| positionSize Actions par trade, telles que publiées | 2 |
| longChannelPeriod Longueur Donchian pour les entrées long et le stop long | 9 |
| shortChannelPeriod Longueur Donchian pour les entrées short et le stop short | 7 |
| macdFast Longueur rapide du MACD | 12 |
| macdSlow Longueur lente du MACD | 26 |
| macdSignalPeriod Longueur du signal MACD | 9 |
| rsiPeriod Longueur du RSI | 4 |
| longRsiLevel Le RSI doit être au-dessus de cette valeur pour acheter | 63 |
| shortRsiLevel Le RSI doit être en dessous de cette valeur pour passer short | 31 |
| longTrendPeriod SMA que la clôture doit atteindre ou dépasser pour acheter | 50 |
| shortTrendPeriod SMA que la clôture doit atteindre ou passer en dessous pour passer short | 500 |
Le 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 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Les règles sont écrites pour ProOrder, mais le code réécrit n'a pas été vérifié à la compilation ni backtesté. Considérez-le comme un point de départ pour vos propres tests.
Aucune pour l'instant. Elle n'a pas été backtestée sur ce site.
La valeur par défaut est de 2 par trade, définie par le paramètre positionSize. Sans backtest il n'y a aucun chiffre de drawdown, donc dimensionnez petit jusqu'à ce que vous ayez vos propres résultats.
Le filtre SMA 500 sur les shorts demande beaucoup d'historique, donc une unité de temps couvrant une longue période de données a du sens. Aucune unité de temps n'a encore été testée ici.
Voir aussi
La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.