Stratégie de trading MACD à double moyenne mobile et bande de Bollinger


Date de création: 2023-12-29 16:43:01 Dernière modification: 2023-12-29 16:43:01
Copier: 2 Nombre de clics: 443
1
Suivre
1166
Abonnés

Stratégie de trading MACD à double moyenne mobile et bande de Bollinger

Aperçu

Cette stratégie utilise les deux moyennes mobiles, les bandes de Brin et le MACD pour établir des conditions d’achat et de vente et effectuer des transactions sur un cycle de 5 minutes sur l’indice Nifty des banques. Acheter lorsque la fourchette MACD est morte et que le prix de clôture a dépassé la bande de Brin.

Principe de stratégie

  1. Configurer les paramètres MACD: longueur de la ligne rapide 12, longueur de la ligne lente 26, longueur de la ligne de signal 9
  2. Calculer la valeur MACD: ligne rapide - ligne lente
  3. Paramètre de la bande de Bryn: période orbitale moyenne 20, multiple de la différence standard 2
  4. Calcul de la bande de Bryn sur et en dessous de la voie: voie moyenne ± écart standard*multiple
  5. Conditions d’achat: MACD Gold Fork (en haut de la ligne de signalisation) et le prix de clôture est supérieur à celui de la bande de Brin sur la voie
  6. Conditions de vente: MACD dead fork (en bas de la ligne de signal) et prix de clôture inférieur à celui de Brin
  7. Réglage de la position de stop-loss
  8. Entrée en surcommande: acheter en surcommande lorsque les conditions sont réunies
  9. Plateforme simple: arrêt ou arrêt de perte
  10. Accès à la liste blanche: blanchiment au moment de la conclusion de la vente
  11. Billets blancs: arrêtez ou arrêtez de perdre

Voici la logique de négociation globale de cette stratégie.

Analyse des avantages

Il s’agit d’une stratégie de tendance très pratique qui présente les avantages suivants:

  1. L’indicateur MACD peut identifier la direction et la force d’une tendance
  2. Les bandes de Brin permettent de déterminer les zones de sur-achat et de sur-vente et se complètent avec l’indicateur MACD.
  3. Filtrage à double ligne pour une meilleure précision de jugement
  4. Plus de fiabilité grâce à la combinaison de plusieurs indicateurs
  5. La réalisation d’un arrêt des pertes et d’un contrôle des risques
  6. Paramètres modifiables pour s’adapter aux évolutions du marché

Dans l’ensemble, la stratégie exploite les atouts des différents indicateurs, des jugements précis, des spécifications opérationnelles et constitue une stratégie de tendance fiable et contrôlable.

Analyse des risques

Malgré les avantages évidents de cette stratégie, il y a des risques à prendre en compte:

  1. Le blocage peut être franchi en cas de forte volatilité du marché
  2. Le risque d’erreur est lié à la combinaison de plusieurs paramètres.
  3. Les opérations de coupure sont fréquentes et les coûts de transaction élevés.
  4. Les paramètres ne sont pas correctement définis, il se peut que vous ayez manqué le meilleur point d’opération

Les mesures et les solutions sont les suivantes:

  1. Les pertes sont strictement limitées et contrôlées.
  2. Optimiser les paramètres pour améliorer la précision des jugements
  3. Adaptation des cycles d’opérations pour réduire la fréquence des transactions
  4. Test de différents paramètres pour trouver la combinaison optimale

Direction d’optimisation

Il y a encore de la place pour l’optimisation de cette stratégie:

  1. Paramètres optimaux pour la formation à l’aide de l’apprentissage automatique
  2. Ajout de techniques de trading adaptatives et optimisation des paramètres
  3. Les mesures sont combinées avec d’autres indicateurs, tels que l’indicateur d’énergie, l’indicateur de volatilité, etc.
  4. Ajout d’un module de gestion des positions, permettant d’ajuster la taille des positions en fonction des fonds, des risques, etc.
  5. Une approche innovante de la détection des signaux combinée à des indicateurs de formule ou à des indicateurs personnalisés

Dans l’ensemble, la stratégie est très bien structurée et peut être améliorée par l’optimisation des paramètres, l’innovation des indicateurs et l’adaptation, ce qui en fait une stratégie de trading plus robuste et plus stable.

Résumer

La stratégie MACD à double courbe utilise pleinement divers indicateurs pour déterminer le moment d’acheter ou de vendre. Elle combine l’identification de tendances avec le jugement des extrêmes, les spécifications d’exploitation et la maîtrise des risques, une stratégie de négociation stable et efficace.

Code source de la stratégie
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Modified MACD and Bollinger Band Strategy", shorttitle="Mod_MACD_BB", overlay=true)

var bool open_buy_position = na
var bool open_sell_position = na

// MACD settings
fast_length = input(12, title="Fast Length")
slow_length = input(26, title="Slow Length")
signal_length = input(9, title="Signal Length")
src = close
[macdLine, signalLine, _] = macd(src, fast_length, slow_length, signal_length)

// Bollinger Band settings
bb_length = input(20, title="Bollinger Band Length")
bb_mult = input(2, title="Bollinger Band Multiplier")
basis = sma(src, bb_length)
dev = bb_mult * stdev(src, bb_length)
upper_band = basis + dev
lower_band = basis - dev

// Define profit target and stop loss
profit_target = input(60, title="Profit Target (Points)")
stop_loss = input(30, title="Stop Loss (Points")

// Buy condition: MACD crosses up the signal line and close is above upper Bollinger Band
buy_condition = crossover(macdLine, signalLine) and close > upper_band

// Sell condition: MACD crosses below the signal line and close is below the lower Bollinger Band
sell_condition = crossunder(macdLine, signalLine) and close < lower_band

// Check for open positions
if (buy_condition)
    open_buy_position := true
if (sell_condition)
    open_sell_position := true

// Strategy Orders
strategy.entry("Buy", strategy.long, when = buy_condition and not open_sell_position)
strategy.exit("Take Profit/Stop Loss", from_entry = "Buy", limit = close + profit_target, stop = close - stop_loss)

strategy.entry("Sell", strategy.short, when = sell_condition and not open_buy_position)
strategy.exit("Take Profit/Stop Loss", from_entry = "Sell", limit = close - profit_target, stop = close + stop_loss)

// Reset open position status
if (sell_condition)
    open_buy_position := na
if (buy_condition)
    open_sell_position := na