Le MACD, le RSI et la stratégie EMA

Auteur:ChaoZhang est là., Date: 2024-03-01 12:23:38 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie combine la moyenne mobile simple (SMA), la plage moyenne réelle (ATR), l'indice des canaux de produits de base (CCI) et les bandes de Bollinger afin d'identifier les tendances des prix à court et moyen terme et de soutenir les décisions de négociation.

Principe de stratégie

La stratégie utilise quatre lignes SMA avec des périodes différentes pour reconnaître la direction de la tendance des prix, y compris les lignes de 5 jours, 10 jours, 50 jours et 200 jours.

Aller long lorsque la SMA à court terme (lignes de 5 et 10 jours) dépasse la SMA à long terme (lignes de 50 et 200 jours). Aller court lorsque la SMA à court terme dépasse la SMA à long terme. Vendre lorsque le CCI est supérieur à 100; Acheter lorsque le CCI est inférieur à -100. Définir un stop loss basé sur les valeurs ATR.

Analyse des avantages

En combinant le jugement de tendance des lignes moyennes mobiles et le jugement de surachat/survente du CCI, cette stratégie peut effectivement saisir les opportunités du marché. Elle fonctionne particulièrement bien pour les transactions à moyen et court terme. En outre, le contrôle des risques est relativement scientifique, ce qui peut maximiser l'évitement des pertes.

Analyse des risques

Cette stratégie est relativement conservatrice et risque de manquer les signaux de trading. Lorsqu'il y a un marché limité ou un renversement de tendance, la prise de profit peut être déclenchée prématurément.

Directions d'optimisation

Essayez d'optimiser les paramètres de la SMA pour les rapprocher des conditions actuelles du marché. L'écart type des bandes de Bollinger peut également être ajusté pour une meilleure performance en tant que niveaux de support / résistance. En outre, envisagez d'ajouter d'autres indicateurs pour aider le jugement, tels que KDJ, MACD, etc. Cela peut améliorer le taux de gain de la stratégie.

Résumé

En intégrant une variété d'outils analytiques pour juger du marché, cette stratégie peut produire des rendements d'investissement satisfaisants lorsque les paramètres sont définis de manière appropriée.


/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © maizirul959

//@version=4
strategy("MACD,RSI & EMA strategy with MA+PSAR by MAM", overlay=true)

//Input Data
_ema_len1 = input(5, title="EMA1 length")
_ema_len2 = input(20, title="EMA2 length")

_macd_fast = input(12, title="MACD Fast")
_macd_slow = input(26, title="MACD Slow")
_macd_signal_len = input(20, title="MACD Signal length")

//MAM add SMA
_sma_len1 = input(5, title="SMA1 Length")
_sma_len2 = input(10, title="SMA2 Length")
_sma_len3 = input(50, title="SMA3 Length")
_sma_len4 = input(200, title="SMA4 Length")

lineWidth = input(1, minval=1, title="Line width")

src = input(close, title="Source")

SMA1 = if _sma_len1 != 0
    sma(src, _sma_len1)
SMA2 = if _sma_len2 != 0
    sma(src, _sma_len2)
SMA3 = if _sma_len3 != 0
    sma(src, _sma_len3)
SMA4 = if _sma_len4 != 0
    sma(src, _sma_len4)


//__________________________________________________________________________

_rsi_len = input(14, title="RSI length")
_rsi_signal_len = input(20, title="RSI signal length")

//_________________________________________________________________________
//MAM Add PSAR
PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)

psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
//_________________________________________________________________________

_ema1 = ema(close, _ema_len1)
_ema2 = ema(close, _ema_len2)

//_________________________________________________________________________
//MAM add SMA
//_sma1 = ema(close, _sma_len1)
//_sma2 = ema(close, _sma_len2)
//_________________________________________________________________________

_macd = ema(close, _macd_fast) - ema(close, _macd_slow)
_macd_signal = ema(_macd, _macd_signal_len)

_rsi = rsi(close, _rsi_len)
_rsi_signal = ema(_rsi, _rsi_signal_len)


//PLOT SMA
plot(SMA1, color=#B71C1C, title="SMA1", linewidth=lineWidth)
plot(SMA2, color=#FFFF00, title="SMA2", linewidth=lineWidth)
plot(SMA3, color=#5b34ff, title="SMA3", linewidth=lineWidth)
plot(SMA4, color=#d7d7d7, title="SMA4", linewidth=lineWidth)


//PLOT PSAR
plot(psar, "ParabolicSAR", style=plot.style_cross, color=#3A6CA8)

//plot(_rsi, color=color.yellow)
//plot(_rsi_signal, color=color.green)
//plot(_macd, color=color.blue)
//plot(_macd_signal, color=color.red)


longCondition = close > _ema1 and close > _ema2 and _macd > _macd_signal and _rsi > _rsi_signal 
if (longCondition)
    strategy.entry("Buy",strategy.long)
    
shortCondition = close < _ema1 and close <_ema2 and _macd < _macd_signal and _rsi < _rsi_signal
if (shortCondition)
    strategy.entry("Sell",strategy.short)


Plus de