Stratégie à long terme basée sur le MACD


Date de création: 2024-01-12 11:02:06 Dernière modification: 2024-01-12 11:02:06
Copier: 0 Nombre de clics: 639
1
Suivre
1617
Abonnés

Stratégie à long terme basée sur le MACD

Aperçu

Cette stratégie est basée sur l’indicateur MACD ainsi que sur la ligne de position longue et pacifique, permettant de négocier la ligne longue de la paire de devises. Les positions sont ouvertes lorsque l’indicateur MACD traverse la ligne longue et les positions sont fermées lorsque l’indicateur MACD traverse la ligne de position serrée.

Principe de stratégie

La stratégie utilise les lignes rapides et les lignes lentes de l’indicateur MACD. Le paramètre de la ligne rapide est l’EMA de 12 jours et le paramètre de la ligne lente est l’EMA de 26 jours. La différence entre les deux lignes normales est le graphique en colonnes MACD.

Plus précisément, la stratégie commence par calculer la ligne rapide, la ligne lente et la ligne de signal de l’indicateur MACD. Ensuite, la ligne longue est définie à -0.04, la ligne de placement à 0.015. Si le MACD actuel est plus grand que la ligne longue, le placement est effectué. Si le MACD actuel est plus petit que la ligne de placement, le placement est effectué.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’indicateur MACD est utilisé pour déterminer les tendances du marché avec une plus grande précision.
  2. En même temps, utilisez un fil long et un fil de stockage double pour éviter les faux signaux.
  3. Établissez une stratégie de stop loss et maîtrisez vos risques
  4. Il est simple, logique et facile à comprendre et à mettre en œuvre.
  5. Le nombre d’établissements d’enseignement supérieur dans le pays est en baisse.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. L’indicateur MACD a un certain retard et peut manquer une occasion de courte ligne
  2. Les paramètres de stop-loss peuvent être trop conservateurs pour suivre la tendance à long terme.
  3. Les paramètres doivent être testés et optimisés à plusieurs reprises, sinon ils peuvent être sur-adaptés.
  4. Uniquement pour les devises dont l’efficacité est douteuse

L’optimisation et l’amélioration peuvent être effectuées par des méthodes telles que l’ajustement approprié des paramètres et la combinaison d’autres indicateurs.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Tester différentes combinaisons de paramètres MACD pour trouver le meilleur

On peut essayer des lignes rapides, lentes et de différentes longueurs pour trouver la meilleure combinaison.

  1. Remplacement par d’autres indicateurs

Les indicateurs comme le RSI, le KD peuvent avoir des effets très différents.

  1. Optimiser les paramètres de ligne longue et de ligne de réserve

Les données peuvent être analysées à plusieurs reprises pour trouver des paramètres plus appropriés pour les positions longues et plates.

  1. Adaptation de la stratégie de stop loss

On peut envisager des méthodes comme le trailing stop pour rendre le stop loss plus dynamique.

  1. Test de plusieurs paires de devises

Appliquer la stratégie à d’autres paires de devises, voir les résultats

Résumer

Cette stratégie est généralement une stratégie de négociation en ligne très simple et intuitive. Elle utilise l’indicateur MACD pour juger de la situation et définir des conditions de double filtrage pour réduire les erreurs de négociation.

Code source de la stratégie
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(shorttitle = "GBPJPY MACD", title = "GBPJPY MACD")
fastMA = input(title="Fast moving average",  defval = 12, minval = 7)
slowMA = input(title="Slow moving average",  defval = 26, minval = 7)
lastColor = yellow
[currMacd,_,_] = macd(close[0], fastMA, slowMA, 9)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, 9)
plotColor = currMacd > 0 ? currMacd > prevMacd ? lime : green : currMacd < prevMacd ? maroon : red
plot(currMacd, style = histogram, color = plotColor, linewidth = 3)
plot(0, title = "Zero line", linewidth = 1, color = gray)

//MACD
// Getting inputs
fast_length = input(title="Fast Length",  defval=12)
slow_length = input(title="Slow Length",  defval=26)
src = input(title="Source",  defval=close)
signal_length = input(title="Signal Smoothing",  minval = 1, maxval = 50, defval =9)
sma_source = input(title="Simple MA(Oscillator)", type=bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

//plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
///END OF MACD

//Long and Close Long Lines
linebuy = input(title="Enter Long", type=float, defval=-0.04)
linesell = input(title="Close Long", type=float, defval=0.015)

//Plot Long and Close Long Lines
plot(linebuy,color=green),plot(linesell,color=red)


//Stop Loss Input
sl_inp = input(0.05, title='Stop Loss %', type=float)/100


//Order Conditions
longCond = crossover(currMacd, linebuy)
exitLong = crossover(currMacd, linesell)
stop_level = strategy.position_avg_price * (1 - sl_inp)


//Order Entries
strategy.entry("long", strategy.long,  when=longCond==true)
strategy.close("long", when=exitLong==true)
strategy.exit("Stop Loss", stop=stop_level)