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.
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.
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.
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.
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.
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)