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

Moyenne mobile Heikin-Ashi à plusieurs délais suivant le système de négociation

Auteur:ChaoZhang est là., Date: 2025-01-06 16:20:56 Les résultats de l'enquête
Les étiquettes:Le taux d'intérêtLe MACDHASMAÀ acheterVendre

img

Résumé

Cette stratégie est un système de suivi des tendances multi-temporelles basé sur des bougies Heikin-Ashi et des croisements de moyennes mobiles exponentielles (EMA). Elle combine les propriétés de lissage des bougies Heikin-Ashi avec les capacités de suivi des tendances des moyennes mobiles sur différentes périodes, en utilisant le MACD comme un filtre supplémentaire pour capturer avec précision les tendances du marché.

Principes de stratégie

La logique de base comprend plusieurs composantes clés:

  1. Calcul Heikin-Ashi: Lissage des données de prix d'origine par des calculs OHLC spéciaux pour réduire le bruit du marché.
  2. Système EMA multi-temps: Calcule l'EMA Heikin-Ashi sur une période de 180 minutes, formant des signaux croisés avec une EMA lente sur une période de 60 minutes.
  3. Filtre MACD: Calcule l'indicateur MACD sur une période de 15 minutes pour valider les signaux de négociation.
  4. Règles de génération de signaux: Génère des signaux d'achat lorsque l'EMA Heikin-Ashi rapide traverse l'EMA lente avec confirmation MACD (si activée); inverse pour les signaux de vente.

Les avantages de la stratégie

  1. Forte lissage du signal: les chandeliers Heikin-Ashi réduisent efficacement les faux signaux.
  2. Validation dans plusieurs délais: l'utilisation de délais différents augmente la fiabilité du signal.
  3. Suivi effectif des tendances: le système croisé de l'EMA capte efficacement les tendances à moyen et long terme.
  4. Mécanisme de filtrage flexible: le filtre MACD facultatif fournit une confirmation supplémentaire du signal.
  5. Une grande adaptabilité des paramètres: plusieurs paramètres clés peuvent être optimisés pour différentes caractéristiques du marché.

Risques stratégiques

  1. Risque d'éclatement des marchés: peut générer de fréquents faux signaux de rupture sur les marchés latéraux.
  2. Risque de retard: la validation à plusieurs délais peut entraîner un léger retard des entrées.
  3. Sensibilité des paramètres: différentes combinaisons de paramètres peuvent entraîner des variations significatives des performances.
  4. Dépendance de l'environnement du marché: la stratégie fonctionne mieux sur les marchés à forte tendance, mais peut être moins performante dans d'autres conditions.

Directions d'optimisation

  1. Ajouter un filtre de volatilité: introduire des bandes ATR ou Bollinger pour l'évaluation de la volatilité du marché.
  2. Optimiser la sélection des délais: ajuster les combinaisons de délais en fonction des caractéristiques spécifiques des instruments.
  3. Améliorer le mécanisme d'arrêt des pertes: ajouter des arrêts de retard ou des arrêts dynamiques basés sur la volatilité.
  4. Améliorer la taille des positions: ajuster dynamiquement la taille des positions en fonction de la force du signal et de la volatilité du marché.
  5. Inclure une analyse de l'environnement du marché: ajouter des indicateurs de force de tendance pour différencier les conditions du marché.

Résumé

Cette stratégie construit une tendance complète suivant le système de négociation en utilisant des systèmes Heikin-Ashi et EMA multi-temps combinés avec le filtrage MACD. La conception prend en considération la fiabilité du signal et la stabilité du système, capable de s'adapter à différents environnements de marché grâce à l'optimisation des paramètres et aux mécanismes de contrôle des risques.


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
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/
// © tradingbauhaus

//@version=5
strategy("Heikin Ashi Candle Time Frame @tradingbauhaus", shorttitle="Heikin Ashi Candle Time Frame @tradingbauhaus", overlay=true)

// Inputs
res = input.timeframe(title="Heikin Ashi Candle Time Frame", defval="60")
hshift = input.int(1, title="Heikin Ashi Candle Time Frame Shift")
res1 = input.timeframe(title="Heikin Ashi EMA Time Frame", defval="180")
mhshift = input.int(0, title="Heikin Ashi EMA Time Frame Shift")
fama = input.int(1, title="Heikin Ashi EMA Period")
test = input.int(1, title="Heikin Ashi EMA Shift")
sloma = input.int(30, title="Slow EMA Period")
slomas = input.int(1, title="Slow EMA Shift")
macdf = input.bool(false, title="With MACD filter")
res2 = input.timeframe(title="MACD Time Frame", defval="15")
macds = input.int(1, title="MACD Shift")

// Heikin Ashi calculation
var float ha_open = na
ha_close = (open + high + low + close) / 4
ha_open := na(ha_open[1]) ? (open + close) / 2 : (ha_open[1] + ha_close[1]) / 2
ha_high = math.max(high, math.max(ha_open, ha_close))
ha_low = math.min(low, math.min(ha_open, ha_close))

// Adjusted Heikin Ashi Close for different timeframes
mha_close = request.security(syminfo.tickerid, res1, ha_close[mhshift])

// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdl = request.security(syminfo.tickerid, res2, macdLine[macds])
macdsl = request.security(syminfo.tickerid, res2, signalLine[macds])

// Moving Averages
fma = ta.ema(mha_close[test], fama)
sma = ta.ema(ha_close[slomas], sloma)
plot(fma, title="Heikin Ashi EMA", color=color.green, linewidth=2)
plot(sma, title="Slow EMA", color=color.red, linewidth=2)

// Strategy Logic
golong = ta.crossover(fma, sma) and (macdl > macdsl or not macdf)
goshort = ta.crossunder(fma, sma) and (macdl < macdsl or not macdf)

// Plot Shapes for Buy/Sell Signals
plotshape(golong, color=color.green, text="Buy", style=shape.triangleup, location=location.belowbar)
plotshape(goshort, color=color.red, text="SELL", style=shape.triangledown, location=location.abovebar)

// Strategy Orders
strategy.entry("Long", strategy.long, when=golong)
strategy.close("Long", when=goshort)
strategy.entry("Short", strategy.short, when=goshort)
strategy.close("Short", when=golong)

// Alerts
alertcondition(golong, "Heikin Ashi BUY", "")
alertcondition(goshort, "Heikin Ashi SELL", "")




Relationnée

Plus de