Cette stratégie utilise un double système de moyenne mobile et un indice de force relative, combiné à la volatilité historique du stock, pour automatiser les signaux d'achat et de vente pour le trading d'actions.
La stratégie tire parti de la moyenne mobile de 150 semaines et de la moyenne mobile rapide de 50 jours pour former un système de MA double. Elle utilise également une MA ultra-rapide de 20 jours. Lorsque le prix dépasse la moyenne mobile de 150 semaines, cela indique un début de tendance haussière. Lorsque le prix dépasse la moyenne mobile de 50 jours, cela indique une tendance baissière. Cela nous permet d'acheter en hausse et de vendre en baisse.
En outre, la stratégie utilise également le prix le plus élevé annualisé basé sur la volatilité et l'indice de force relative pour déterminer des points d'entrée spécifiques.
Le double système MA permet d'identifier efficacement les changements de tendance pour poursuivre la hausse et arrêter la baisse.
La mesure de la volatilité et le RSI nous aident à ne pas nous faire piéger sur les marchés.
La MA rapide de 20 jours permet un stop loss plus rapide.
Il y a un certain retard, incapable de réaliser un stop loss rapidement.
Aucun stop loss n'est défini, cela pourrait entraîner de grosses pertes.
Manque d'optimisation des paramètres, paramètres définis plutôt arbitrairement.
Pour atténuer les risques, un stop loss peut être ajouté, ou utiliser des multiples d'ATR comme pourcentage de stop loss.
En résumé, il s'agit d'une stratégie d'investissement d'actions plutôt conservatrice. Utilisant un système de double MA pour mesurer la tendance globale, combiné à des mesures de volatilité et de force à l'entrée dans le temps, il peut filtrer efficacement les fausses ruptures. Le MA rapide permet également des sorties rapides. Cependant, la stratégie peut être encore améliorée en ajoutant un stop loss, une optimisation des paramètres, etc. Dans l'ensemble, elle convient aux investisseurs d'actions à long terme.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Relative Strength strategy("Stan my man", overlay=true) comparativeTickerId = input("BTC_USDT:swap", title="Comparative Symbol") l = input(50, type=input.integer, minval=1, title="Period") baseSymbol = security(syminfo.tickerid, timeframe.period, close) comparativeSymbol = security(comparativeTickerId, timeframe.period, close) hline(0, color=color.black, linestyle=hline.style_dotted) res = baseSymbol / baseSymbol[l] /(comparativeSymbol / comparativeSymbol[l]) - 1 plot(res, title="RS", color=#1155CC) //volume ma vol1 = sma(volume,20) // 30 week ma ema1 = ema(close, 150) //consolidation h1 = highest(high[1],365) fastPeriod = input(title="Fast MA", type=input.integer, defval=50) slowPeriod = input(title="Slow MA", type=input.integer, defval=150) fastestperiod = input(title="Fastest MA", type=input.integer, defval=20) fastEMA = ema(close, fastPeriod) slowEMA = ema(close, slowPeriod) fastestEMA = ema(close, fastestperiod) monitorStrategy = close < close[20] // trade conditions buytradecondition1 = close >ema1 and res>0 and volume> 1.5*vol1 and close > h1 buytradecondition2 = close > fastEMA and volume> 1.5* vol1 selltradecondition1 = close< 0.95 * fastEMA selltradecondition2 = close< 0.90 * open if (buytradecondition1) strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy") alert("Buy Alert Price (" + tostring(close) + ") crossed over Slow moving average",alert.freq_all) if (buytradecondition2) strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy") alert("Buy Alert Price (" + tostring(close) + ") crossed over fast moving average",alert.freq_all) if (selltradecondition1) strategy.close("long",alert_message ="Seems ready to Sell") alert("Sell Alert Price (" + tostring(close) + ") crossed down fast moving average",alert.freq_all) if (selltradecondition2) strategy.close("long",alert_message ="Seems ready to Sell") alert("Sell Alert Price (" + tostring(close) + ") crossed down 10% below open price ",alert.freq_all) //alertcondition(buytradecondition1,title ="BuySignal", message ="Price Crossed Slow Moving EMA ") plot(fastEMA, color=color.navy) plot(slowEMA, color=color.fuchsia) plot(fastestEMA, color=color.green)