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 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.
La stratégie présente les avantages suivants:
La stratégie comporte également certains risques:
Des méthodes telles que l'ajustement des paramètres, la combinaison d'autres indicateurs peuvent être utilisées pour optimiser et améliorer.
La stratégie peut être optimisée dans les aspects suivants:
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.
Essayez d' autres indicateurs
Les indicateurs tels que RSI, KD peuvent avoir des résultats très différents
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
Ajuster la stratégie de stop loss
Considérez les arrêts de trailing pour rendre le stop loss plus dynamique
Test sur différentes paires de devises
Appliquer la stratégie à d'autres paires et examiner les effets
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)