Système de trading hybride de tendance avec cassure des prix historiques (HBTS)

MA SMA EMA WMA VWMA
Date de création: 2024-12-05 14:40:05 Dernière modification: 2024-12-05 14:40:05
Copier: 0 Nombre de clics: 431
1
Suivre
1617
Abonnés

Système de trading hybride de tendance avec cassure des prix historiques (HBTS)

Aperçu

La stratégie est un système de suivi de la tendance basé sur des ruptures de prix historiques et des filtres de ligne droite. Il combine des signaux de rupture de prix à plusieurs périodes et des moyennes mobiles pour identifier les tendances du marché et capturer les mouvements de marché à moyen et long terme grâce à des règles d’entrée et de sortie strictes. La stratégie utilise une rupture de prix de 55 jours comme signal de plus, une rupture de prix de 20 jours comme signal de plage, tout en introduisant la ligne droite de 200 jours comme filtre de tendance, ce qui réduit efficacement le risque de rupture de faux.

Principe de stratégie

La logique centrale de la stratégie est basée sur le suivi des ruptures et des tendances.

  1. Signaux d’entrée: lorsque le prix a atteint un nouveau sommet de 55 jours et que le prix de clôture est au-dessus de la moyenne de 200 jours, le système émet plusieurs signaux
  2. Signaux de sortie: la clôture de la transaction en position de clôture lorsque le prix atteint son plus bas niveau en 20 jours
  3. Filtre de tendance: utilisez la moyenne quotidienne de 200 jours comme base pour déterminer la tendance majeure et ne placez que les positions au-dessus de la moyenne
  4. Gestion des positions: 10% de la valeur nette du compte est utilisé comme pourcentage de fonds pour chaque transaction
  5. Sélection de la même ligne: prise en charge des quatre modes de ligne: SMA, EMA, WMA et VWMA, avec une sélection flexible en fonction des caractéristiques du marché

Avantages stratégiques

  1. La logique est simple et claire: les stratégies utilisent les indicateurs classiques de rupture de prix et de moyenne, faciles à comprendre et à exécuter
  2. Contrôle du risque: des conditions de stop-loss claires sont définies et le risque est géré par un filtrage linéaire et un contrôle de position
  3. Adaptabilité: la capacité à s’adapter à différents environnements de marché en ajustant les paramètres
  4. Capture de tendance: confirmation de la direction de la tendance par des ruptures de prix sur plusieurs périodes
  5. Un niveau élevé d’automatisation: les règles de la stratégie sont claires et faciles à mettre en œuvre

Risque stratégique

  1. Risque de choc: Faux signaux de rupture peuvent être générés lors de la phase de liquidation horizontale
  2. Risque de glissement: dans les marchés moins liquides, le risque de glissement est plus élevé lors d’une rupture
  3. Risque d’inversion de tendance: un retrait plus important pourrait se produire à proximité d’un point de basculement majeur
  4. Sensitivité des paramètres: les paramètres optimaux peuvent varier considérablement selon les environnements de marché
  5. Risques de gestion de fonds: les positions à taux fixe peuvent être trop risquées dans certains cas

Orientation de l’optimisation de la stratégie

  1. Mécanisme de confirmation du signal: augmentation des indicateurs auxiliaires tels que les ruptures de trafic pour filtrer les fausses ruptures
  2. Stop-loss dynamique: l’introduction d’indicateurs de volatilité tels que l’ATR pour réaliser un stop-loss dynamique
  3. Optimisation de la gestion des positions: proportion de positions ajustées dynamiquement en fonction des fluctuations du marché
  4. Analyse multi-cyclique: ajout d’analyses à plus de cycles de temps pour améliorer la fiabilité du signal
  5. Identification de l’environnement du marché: ajouter des indicateurs de force de tendance pour juger de l’environnement actuel du marché

Résumer

Il s’agit d’un système de stratégie qui combine les règles classiques du trading de la tortue avec les outils d’analyse technique moderne. La tendance est capturée par la rupture des prix, le filtrage de la ligne uniforme est utilisé pour confirmer la direction, et la gestion de la position raisonnable est utilisée pour contrôler le risque. La logique de la stratégie est claire, pratique et a une bonne extensibilité.

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

//@version=5
strategy("Turtle Traders - Andrei", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ====== Inputs ======
// Período para a máxima das compras
lookback_buy = input.int(title="Período para Máxima de Compra", defval=55, minval=1)

// Período para a mínima das vendas
lookback_sell = input.int(title="Período para Mínima de Venda", defval=20, minval=1)

// Período da Média Móvel
ma_length = input.int(title="Período da Média Móvel", defval=200, minval=1)

// Tipo de Média Móvel
ma_type = input.string(title="Tipo de Média Móvel", defval="SMA", options=["SMA", "EMA", "WMA", "VWMA"])

// ====== Cálculos ======
// Cálculo da Média Móvel baseada no tipo selecionado
ma = switch ma_type
    "SMA" => ta.sma(close, ma_length)
    "EMA" => ta.ema(close, ma_length)
    "WMA" => ta.wma(close, ma_length)
    "VWMA" => ta.vwma(close, ma_length)

// Cálculo da máxima dos últimos 'lookback_buy' candles
highest_buy = ta.highest(high, lookback_buy)

// Cálculo da mínima dos últimos 'lookback_sell' candles
lowest_sell = ta.lowest(low, lookback_sell)

// ====== Condições de Negociação ======
// Condição de entrada: fechamento acima da máxima dos últimos 'lookback_buy' candles E acima da MA
longCondition = (high == highest_buy) and (close > ma)

if (longCondition)
    strategy.entry("Comprar", strategy.long)

// Condição de saída: fechamento abaixo da mínima dos últimos 'lookback_sell' candles
exitCondition = (low == lowest_sell)

if (exitCondition)
    strategy.close("Comprar")

// ====== Plotagens ======
// Plotar a máxima de 'lookback_buy' candles
plot(highest_buy, color=color.green, title="Máxima", linewidth=2)

// Plotar a mínima de 'lookback_sell' candles
plot(lowest_sell, color=color.red, title="Mínima", linewidth=2)

// Plotar a Média Móvel
plot(ma, color=color.blue, title="Média Móvel", linewidth=2)

// ====== Sinais Visuais ======
// Sinal de entrada
plotshape(series=longCondition, location=location.belowbar, color=color.green, 
          style=shape.labelup, title="Sinal de Compra", text="")

// Sinal de saída
plotshape(series=exitCondition, location=location.abovebar, color=color.red, 
          style=shape.labeldown, title="Sinal de Venda", text="")