Stratégie MACD longue uniquement

Auteur:ChaoZhang est là., Date: 2024-01-12 11:02:06 Je vous en prie
Les étiquettes:

img

Résumé

Cette stratégie est basée sur l'indicateur MACD et les lignes longues et fermées pour mettre en œuvre le trading à long terme de la paire de devises.

La logique de la stratégie

La stratégie utilise des lignes rapides et lentes de l'indicateur MACD. La ligne rapide a un paramètre d'EMA de 12 jours et la ligne lente a un paramètre d'EMA de 26 jours. La différence entre les deux lignes est l'histogramme MACD. En outre, l'EMA de 9 jours est calculée comme la ligne de signal.

Plus précisément, la stratégie calcule d'abord 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 clôture est définie à 0,015. Si l'histogramme actuel MACD est supérieur à la ligne longue, il va long. Si l'histogramme actuel MACD est inférieur à la ligne de clôture, il ferme la position longue. En outre, la ligne de stop loss est définie à 95% du prix d'entrée.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Utiliser l'indicateur MACD pour juger de la tendance du marché avec une grande précision
  2. Double filtre avec des lignes longues et étroites évite de faux signaux
  3. La stratégie de stop loss contrôle efficacement les risques
  4. Logie simple et claire, facile à comprendre et à mettre en œuvre
  5. Seuls les besoins et l'indicateur MACD, moins d'occupation des ressources

Analyse des risques

La stratégie comporte également certains risques:

  1. L'indicateur MACD a un certain retard, peut manquer des opportunités à court terme
  2. L'établissement du stop loss peut être trop prudent pour suivre les tendances à long terme
  3. Le réglage des paramètres nécessite beaucoup de backtesting, sinon un surajustement peut se produire
  4. Uniquement applicable, l' efficacité pour les autres paires est incertaine

Des méthodes telles que l'ajustement des paramètres, la combinaison d'autres indicateurs peuvent être utilisées pour optimiser et améliorer.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Testez différentes combinaisons de paramètres MACD pour trouver de meilleurs paramètres

    On peut essayer de trouver des combinaisons plus appropriées de lignes rapides, de lignes lentes, de lignes de signaux de différentes longueurs.

  2. Essayez d' autres indicateurs

    Les indicateurs tels que RSI, KD peuvent avoir des résultats très différents

  3. Optimiser les paramètres de ligne longue et proche

    Des paramètres plus appropriés peuvent être trouvés par des tests antérieurs répétés

  4. Ajuster la stratégie de stop loss

    Considérez les arrêts de trailing pour rendre le stop loss plus dynamique

  5. Test sur différentes paires de devises

    Appliquer la stratégie à d'autres paires et examiner les effets

Conclusion

En conclusion, il s'agit d'une stratégie de trading à long terme très simple et intuitive. Elle évalue les conditions du marché à l'aide de l'indicateur MACD et définit des critères de double filtre pour réduire le faux trading. Le contrôle des risques est également configuré par le biais d'un stop loss. La logique est claire et l'occupation des ressources est faible. Elle est facile à comprendre et à mettre en œuvre, et mérite d'être recommandée. Bien sûr, il y a encore beaucoup de place pour l'amélioration grâce à l'ajustement des paramètres, au changement d'indicateur et à d'autres moyens, pour rendre la stratégie encore plus remarquable.


/*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)

Plus de