Système de trading quantitatif de suivi des tendances Heikin Ashi lissé sur plusieurs périodes

MTF TFS
Date de création: 2024-12-11 15:42:36 Dernière modification: 2024-12-11 15:42:36
Copier: 0 Nombre de clics: 455
1
Suivre
1617
Abonnés

Système de trading quantitatif de suivi des tendances Heikin Ashi lissé sur plusieurs périodes

Aperçu

La stratégie est un système de suivi de tendance basé sur un Heikin Ashi à graphes lisse. En calculant le Heikin Ashi à des périodes plus élevées et en l’appliquant à des décisions de négociation à des périodes plus basses, elle réduit efficacement l’impact du bruit du marché.

Principe de stratégie

La logique centrale de la stratégie est d’utiliser les caractéristiques de lissage du graphique Heikin Ashi pour identifier les tendances. Le graphique Heikin Ashi est capable de filtrer efficacement le bruit du marché en calculant des moyennes mobiles pour les prix d’ouverture et de clôture et de mettre en évidence les principales tendances.

Avantages stratégiques

  1. La combinaison multi-périodes réduit les fausses signaux: en calculant l’indicateur Heikin Ashi sur des périodes de temps plus élevées, l’interférence causée par les fluctuations à court terme est efficacement réduite.
  2. Gestion des risques: fonction d’arrêt de perte intégrée, permettant d’ajuster les paramètres de manière flexible en fonction des fluctuations du marché.
  3. La flexibilité des orientations: selon les caractéristiques du marché, il est possible de choisir de faire plus, de faire moins ou de négocier dans les deux sens.
  4. Fonctionnement entièrement automatisé: logique stratégique claire, paramètres réglables, adaptés aux transactions automatisées.
  5. Adaptabilité: peut être appliqué à différents marchés et périodes de temps, avec une bonne universalité.

Risque stratégique

  1. Risque de renversement de tendance: une reprise plus importante peut survenir lorsque la tendance est inversée et nécessite un arrêt de perte raisonnable.
  2. Risque de choc du marché: la fréquence des transactions peut entraîner des pertes dans un marché à choc horizontal.
  3. Risque d’optimisation paramétrique: une suroptimisation peut entraîner une mauvaise performance de la stratégie dans le jeu réel.
  4. Risque de dérapage des coûts: les transactions fréquentes peuvent entraîner des coûts de transaction plus élevés.

Orientation de l’optimisation de la stratégie

  1. Ajout d’indicateurs de confirmation de tendance: d’autres indicateurs techniques tels que le RSI ou le MACD peuvent être introduits comme confirmation supplémentaire.
  2. Optimisation des mécanismes d’arrêt des pertes: il est possible de réaliser un arrêt suivi ou un arrêt dynamique basé sur la volatilité.
  3. L’introduction de l’analyse des volumes de transactions: la combinaison de l’indicateur des volumes de transactions améliore la fiabilité du signal d’entrée.
  4. Développer des paramètres d’adaptation: Ajuster automatiquement le ratio de stop-loss en fonction de la volatilité du marché.
  5. Augmentation du filtrage temporel: évitez de faire des transactions fréquentes pendant les périodes de non-activité.

Résumer

La stratégie capture efficacement les tendances du marché grâce à la nature lisse de l’indicateur Heikin Ashi à cycles multiples et contrôle les retraits grâce à un mécanisme de gestion des risques bien développé. La flexibilité et l’évolutivité de la stratégie lui confèrent une bonne valeur pratique et, grâce à une optimisation et une amélioration continues, elle est capable de s’adapter à différents environnements de marché.

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

//@version=5
strategy("Optimized Heikin Ashi Strategy with Buy/Sell Options", overlay=true)

// User inputs for customizing backtest settings
startDate = input(timestamp("2023-01-01 00:00"), title="Backtest Start Date", tooltip="Start date for the backtest")
endDate = input(timestamp("2024-01-01 00:00"), title="Backtest End Date", tooltip="End date for the backtest")

// Input for Heikin Ashi timeframe optimization
ha_timeframe = input.timeframe("D", title="Heikin Ashi Timeframe", tooltip="Choose the timeframe for Heikin Ashi candles")

// Inputs for optimizing stop loss and take profit
use_stop_loss = input.bool(true, title="Use Stop Loss")
stop_loss_percent = input.float(2.0, title="Stop Loss (%)", minval=0.0, tooltip="Set stop loss percentage")
use_take_profit = input.bool(true, title="Use Take Profit")
take_profit_percent = input.float(4.0, title="Take Profit (%)", minval=0.0, tooltip="Set take profit percentage")

// Input to choose Buy or Sell
trade_type = input.string("Buy Only", options=["Buy Only", "Sell Only"], title="Trade Type", tooltip="Choose whether to only Buy or only Sell")

// Heikin Ashi calculation on a user-defined timeframe
ha_open = request.security(syminfo.tickerid, ha_timeframe, ta.sma(open, 2), barmerge.gaps_off, barmerge.lookahead_on)
ha_close = request.security(syminfo.tickerid, ha_timeframe, ta.sma(close, 2), barmerge.gaps_off, barmerge.lookahead_on)
ha_high = request.security(syminfo.tickerid, ha_timeframe, math.max(high, close), barmerge.gaps_off, barmerge.lookahead_on)
ha_low = request.security(syminfo.tickerid, ha_timeframe, math.min(low, open), barmerge.gaps_off, barmerge.lookahead_on)

// Heikin Ashi candle colors
ha_bullish = ha_close > ha_open // Green candle
ha_bearish = ha_close < ha_open // Red candle

// Backtest period filter
inDateRange = true

// Trading logic depending on user input
if (inDateRange)  // Ensures trades happen only in the selected period
    if (trade_type == "Buy Only")  // Buy when green, Sell when red
        if (ha_bullish and strategy.position_size <= 0)  // Buy on green candle only if no position is open
            strategy.entry("Buy", strategy.long)
        if (ha_bearish and strategy.position_size > 0)  // Sell on red candle (close the long position)
            strategy.close("Buy")

    if (trade_type == "Sell Only")  // Sell when red, Exit sell when green
        if (ha_bearish and strategy.position_size >= 0)  // Sell on red candle only if no position is open
            strategy.entry("Sell", strategy.short)
        if (ha_bullish and strategy.position_size < 0)  // Exit the sell position on green candle
            strategy.close("Sell")

// Add Stop Loss and Take Profit conditions if enabled
if (use_stop_loss)
    strategy.exit("Stop Loss", from_entry="Buy", stop=strategy.position_avg_price * (1 - stop_loss_percent / 100))
    
if (use_take_profit)
    strategy.exit("Take Profit", from_entry="Buy", limit=strategy.position_avg_price * (1 + take_profit_percent / 100))

// Plot Heikin Ashi candles on the chart
plotcandle(ha_open, ha_high, ha_low, ha_close, color=ha_bullish ? color.green : color.red)