Système de trading avec filtre SMA pour rupture de l'écart de tendance

GAP SMA MA
Date de création: 2024-11-29 15:07:43 Dernière modification: 2024-11-29 15:07:43
Copier: 0 Nombre de clics: 377
1
Suivre
1617
Abonnés

Système de trading avec filtre SMA pour rupture de l’écart de tendance

Aperçu

Il s’agit d’un système de suivi des tendances basé sur le filtrage des sauts de prix et des moyennes mobiles. La stratégie consiste à identifier les signaux de sauts de prix qui sont statistiquement significatifs et, en combinaison avec le filtre de tendances SMA, à effectuer des transactions lorsque le marché est clairement en tendance.

Principe de stratégie

Le fonctionnement de la stratégie repose sur les éléments clés suivants:

  1. Identification des sauts - Le système identifie les sauts en calculant le pourcentage de différence entre le prix d’ouverture et le prix de clôture précédent et en définissant un seuil de saut minimum pour filtrer les fluctuations mineures.
  2. Choix directionnel - offre une variété de modes de trading de saut en flèche: faire des sauts plus hauts, faire des sauts plus bas, etc. Les utilisateurs peuvent choisir de manière flexible en fonction de l’environnement du marché.
  3. Filtre de tendance SMA - pour juger de la tendance globale à l’aide d’une moyenne mobile simple, ouvrez une position uniquement si le prix est en accord avec la direction de la tendance.
  4. Gestion des positions - utilisez des cycles de détention prédéfinis pour gérer les positions et contrôler efficacement les risques.

Avantages stratégiques

  1. Signal clair - Les signaux de saut sont clairement visibles pour faciliter le jugement et l’exécution.
  2. Risque maîtrisé - Contrôlez efficacement le risque en définissant le seuil de saut minimum et la durée de la position.
  3. Flexibilité - vous pouvez choisir différentes directions de trading en fonction des conditions du marché.
  4. Confirmation de tendance - le filtre SMA fournit une confirmation de tendance supplémentaire et augmente le taux de réussite des transactions.
  5. Le niveau d’automatisation est élevé - la logique de la stratégie est claire et il est facile d’automatiser les transactions.

Risque stratégique

  1. Risque de fausse percée - il peut y avoir une reprise rapide après le saut, entraînant un faux signal.
  2. Risque de dérapage - les transactions en cours d’ouverture peuvent faire face à un dérapage plus important.
  3. Risque de renversement de tendance - les détenteurs de positions à durée déterminée risquent de manquer le renversement de tendance.
  4. Environnement de marché dépendant - moins de signaux efficaces dans les marchés à faible volatilité.

Orientation de l’optimisation de la stratégie

  1. Période de détention dynamique - période de détention ajustée dynamiquement en fonction de la volatilité du marché.
  2. Multiple confirmation - introduit des indicateurs tels que le volume de trafic, le taux de fluctuation pour la confirmation du signal.
  3. Optimisation de l’arrêt de perte - ajout d’un arrêt de suivi ou d’un arrêt de taux de fluctuation.
  4. Classification des signaux - Système d’ouverture des entrepôts en fonction de la largeur de saut.
  5. Sélection du marché - mise en place d’un mécanisme d’identification de l’environnement du marché afin de négocier dans des conditions de marché appropriées.

Résumer

La stratégie, combinant le saut des prix et le filtrage des tendances en ligne droite, construit un système de négociation logiquement clair et contrôlable par les risques. Grâce à des paramètres de réglage raisonnables et à une optimisation continue, la stratégie est capable d’obtenir des rendements stables dans un marché tendance. Il est recommandé aux traders de faire des tests historiques complets avant de l’utiliser en direct et d’optimiser de manière ciblée en fonction des caractéristiques spécifiques du marché.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simplified Gap Strategy with SMA Filter", overlay=true)

// Input fields for user control
long_gap_threshold = input.float(0.1, title="Gap Threshold (%)", minval=0.01, step=0.01)  // Minimum percentage for gaps
hold_duration = input.int(10, title="Hold Duration (bars)", minval=1)  // Duration to hold the position
gap_trade_option = input.string("Long Up Gap", title="Select Trade Option", options=["Long Up Gap", "Short Down Gap", "Short Up Gap", "Long Down Gap"])  // Combined option
use_sma_filter = input.bool(false, title="Use SMA Filter")  // Checkbox to activate SMA filter
sma_length = input.int(200, title="SMA Length", minval=1)  // Length of the SMA

// RGB color definitions for background
color_up_gap = color.new(color.green, 50)    // Green background for up gaps
color_down_gap = color.new(color.red, 50)    // Red background for down gaps

// Gap size calculation in percentage terms
gap_size = (open - close[1]) / close[1] * 100  // Gap size in percentage

// Calculate gaps based on threshold input
up_gap = open > close[1] and gap_size >= long_gap_threshold  // Long gap condition
down_gap = open < close[1] and math.abs(gap_size) >= long_gap_threshold  // Short gap condition

// Calculate the SMA
sma_value = ta.sma(close, sma_length)

// Define the trading logic based on selected option and SMA filter
if (gap_trade_option == "Long Up Gap" and up_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)
if (gap_trade_option == "Short Down Gap" and down_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Short Up Gap" and up_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Long Down Gap" and down_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)

// Exit position after the hold duration
if (strategy.opentrades > 0)
    if (bar_index - strategy.opentrades.entry_bar_index(0) >= hold_duration)
        strategy.close("Long")
        strategy.close("Short")

// Background coloring to highlight gaps on the chart
bgcolor((gap_trade_option == "Long Up Gap" and up_gap) ? color_up_gap : na, title="Up Gap Background")
bgcolor((gap_trade_option == "Short Down Gap" and down_gap) ? color_down_gap : na, title="Down Gap Background")
bgcolor((gap_trade_option == "Short Up Gap" and up_gap) ? color_down_gap : na, title="Short Up Gap Background")
bgcolor((gap_trade_option == "Long Down Gap" and down_gap) ? color_up_gap : na, title="Long Down Gap Background")

// Plot the SMA for visualization
plot(use_sma_filter ? sma_value : na, color=color.white, title="SMA", linewidth=1)