Les ressources ont été chargées... Je charge...

Système de négociation de rupture de l'écart suivant la tendance avec filtre SMA

Auteur:ChaoZhang est là., Date: 2024-11-29 15:07:43 Je suis désolé
Les étiquettes:Le GAPSMA- Je vous en prie.

img

Résumé

Il s'agit d'un système de négociation basé sur les écarts de prix et le filtrage des moyennes mobiles. La stratégie capture les opportunités de tendance en identifiant des écarts de prix statistiquement significatifs combinés à des filtres de tendance SMA, exécutant des transactions lorsque des tendances claires du marché émergent. Le concept de base est de capitaliser sur les opportunités de poursuite de la tendance créées par les déséquilibres de l'offre et de la demande se manifestant sous forme d'écart de prix.

Principes de stratégie

La stratégie repose sur plusieurs éléments clés:

  1. Identification des écarts - Le système identifie les écarts en calculant la différence en pourcentage entre le prix d'ouverture et le prix de clôture précédent, avec un seuil d'écart minimum pour filtrer les fluctuations mineures.
  2. Sélection directionnelle - Offre plusieurs modes de négociation de la différence (long up gaps, short down gaps, etc.), permettant aux utilisateurs de s'adapter aux conditions du marché.
  3. Filtrage de tendance SMA - Utilise la moyenne mobile simple pour déterminer la tendance globale, n'entrant dans les positions que lorsque le prix s'aligne sur la direction de la tendance.
  4. Gestion des positions - Emploie des périodes de détention prédéfinies pour la gestion des positions et le contrôle des risques.

Les avantages de la stratégie

  1. Signaux clairs - Les signaux d'écart sont visuellement distincts et faciles à identifier et à exécuter.
  2. Risque contrôlé - Les seuils minimaux d'écart et les périodes de détention fixes gèrent efficacement les risques.
  3. Une grande souplesse - différentes directions de négociation de la différence peuvent être sélectionnées en fonction des conditions du marché.
  4. Confirmation de tendance - le filtre SMA fournit une confirmation de tendance supplémentaire, améliorant le taux de réussite.
  5. Automatisation élevée - Une logique de stratégie claire facilite la mise en œuvre du trading automatisé.

Risques stratégiques

  1. Faux risque de rupture - Les lacunes peuvent se combler rapidement, ce qui conduit à de faux signaux.
  2. Risque de glissement - Les opérations d'ouverture de l'écart peuvent faire l'objet d'un glissement important.
  3. Risque d'inversion de tendance - Les périodes de détention fixes peuvent manquer d'inversions de tendance.
  4. Dépendance de l'environnement du marché - Moins de signaux efficaces sur les marchés à faible volatilité.

Directions d'optimisation de la stratégie

  1. La période de détention dynamique est une période de détention ajustée en fonction de la volatilité du marché.
  2. Confirmation multiple - Incorporer des indicateurs de volume et de volatilité pour la confirmation du signal.
  3. Optimisation de la perte d'arrêt - Ajouter des arrêts de trailing ou des arrêts basés sur la volatilité.
  4. Classement du signal - dimensionnement de la position par niveaux basé sur la taille de l'écart.
  5. Sélection du marché - Développer des mécanismes d'identification des conditions du marché pour le commerce sélectif.

Résumé

Cette stratégie combine les écarts de prix et le filtrage des tendances moyennes mobiles pour créer un système de trading avec une logique claire et un risque contrôlé.


/*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)


Relationnée

Plus de