Le principe de base de la stratégie de négociation sur canal de prix à moyenne mobile double est le suivant:
Construisez le plafond et le plancher des prix pour former un canal de prix.
Calculez la moyenne mobile. Lorsque le prix est au-dessus de la moyenne mobile, c'est une tendance haussière. Lorsque le prix est en dessous de la moyenne mobile, c'est une tendance baissière.
En combinant l'indicateur de canal de prix et l'indicateur de moyenne mobile, des signaux de trading plus fiables peuvent être générés.
En utilisant le canal de prix pour juger de l'action des prix et la moyenne mobile pour déterminer l'évolution des prix, les deux indicateurs se vérifient mutuellement et sont plus précis.
Le signal de stratégie est relativement stable sans oscillations de signal, ce qui réduit le risque de négociation.
La logique de la stratégie est simple et claire, facile à comprendre et facile à mettre en œuvre pour le trading en direct.
La stratégie du canal de négociation des prix à moyenne mobile double comporte également certains risques:
Lorsque les prix oscillent autour du canal, des signaux de négociation peuvent être déclenchés fréquemment, augmentant la fréquence des transactions.
L'absence d'un mécanisme de stop loss entraîne une incapacité à contrôler efficacement les risques lorsque les pertes augmentent.
Les solutions correspondantes sont:
Réduire la durée de la moyenne mobile afin de rendre la stratégie plus sensible aux tendances à court terme.
Augmenter le paramètre de longueur du canal de prix pour réduire les faux signaux.
Optimiser les paramètres par le backtesting pour trouver les meilleurs paramètres de canal de prix.
Ajouter une logique de stop loss mobile pour réduire les pertes par transaction.
D'autres indicateurs comme le MACD et le KDJ peuvent être combinés avec les critères d'entrée pour le filtrage multi-indicateur et des signaux plus stables.
Différents paramètres peuvent être testés pour déterminer leur incidence sur la performance de la stratégie afin de trouver la combinaison optimale de paramètres, par exemple en testant différentes périodes de moyennes mobiles.
Une fois que les pertes atteignent un certain niveau, la position peut être fermée par stop loss pour contrôler efficacement les risques.
Une amélioration plus complexe consiste à utiliser des algorithmes d'apprentissage en profondeur pour extraire des caractéristiques et juger des signaux, en remplaçant les indicateurs traditionnels par des réseaux de neurones pour rendre la stratégie intelligente.
La stratégie de trading du canal de prix à moyenne mobile double forme des signaux de trading relativement stables et fiables grâce à des jugements à double indicateur. En outre, la conception paramétrifiée permet des ajustements flexibles pour s'adapter à différents produits. En intégrant les avantages des canaux de prix et des moyennes mobiles, la stratégie est relativement simple et pratique pour le trading en direct.
/*backtest start: 2024-01-11 00:00:00 end: 2024-01-18 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © paparegier //@version=4 strategy("G-Channel and EMA Strategy", shorttitle="GEMA", overlay=true) // G-Channel Indicator length = input(100) a = 0.0 b = 0.0 a := na(a[1]) ? close : max(close, a[1]) - (a[1] - b[1]) / length b := na(b[1]) ? close : min(close, b[1]) + (a[1] - b[1]) / length avg = avg(a, b) crossup = b[1] < close[1] and b > close crossdn = a[1] < close[1] and a > close bullish = barssince(crossdn) <= barssince(crossup) // EMA Indicator emaLength = input(20, title="EMA Length") emaValue = ema(close, emaLength) // Strategy Conditions buyCondition = bullish and close < emaValue sellCondition = not bullish and close > emaValue // Execute Strategy strategy.entry("Buy", strategy.long, when=buyCondition) strategy.entry("Sell", strategy.short, when=sellCondition) // Plotting plot(avg, color=color.new(bullish ? color.lime : color.red, 90), linewidth=1, title="G-Channel Average") plot(emaValue, color=color.rgb(0, 0, 255, 90), linewidth=1, title="EMA") // Mark Buy and Sell Signals plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, text="Buy", size=size.small) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, text="Sell", size=size.small)