Stratégie de position longue RSI50_EMA

EMA RSI ATR
Date de création: 2024-05-11 11:49:29 Dernière modification: 2024-05-11 11:49:29
Copier: 3 Nombre de clics: 586
1
Suivre
1617
Abonnés

Stratégie de position longue RSI50_EMA

Aperçu

Cette stratégie est appelée “stratégie de position longue RSI50_EMA” et son idée principale est d’utiliser les signaux croisés des deux indicateurs techniques de l’indice relativement faible ((RSI) et de l’indice des moyennes mobiles ((EMA) pour prendre des décisions de négociation. Il s’agit d’une stratégie de rattrapage.

Principe de stratégie

  1. Calculer l’EMA et l’ATR, et obtenir l’EMA sur et en dessous des rails.
  2. Calculer le RSI
  3. Lorsque le cours de clôture est en train de traverser une EMA et que le RSI est supérieur à 50, il est préférable d’ouvrir une position plus élevée.
  4. Lorsque le cours de clôture est en dessous de la trajectoire de l’EMA ou lorsque le RSI est en dessous de la barre des 50, tous les ordres sont annulés.
  5. Il faut faire plus, pas moins.

Avantages stratégiques

  1. Conçu pour être utilisé dans des marchés dynamiques, il est efficace pour capturer les tendances haussières des actions dynamiques.
  2. L’utilisation de deux indicateurs, l’EMA et le RSI, permet de mieux confirmer les signaux de tendance et d’améliorer la fiabilité des signaux.
  3. La gestion des positions est basée sur le stop loss, le risque est contrôlable.
  4. La logique du code est claire et simple, facile à comprendre et à mettre en œuvre.

Risque stratégique

  1. Les marchés en crise sont sujets à des transactions fréquentes et à des retraits importants.
  2. Le mauvais choix des paramètres peut entraîner une défaillance du signal. Par exemple, le mauvais choix de la longueur de l’EMA peut entraîner un retard dans le jugement de la tendance. Le mauvais choix de la limite supérieure ou inférieure du RSI peut entraîner un mauvais point de clôture.
  3. Les stratégies ne peuvent capturer que les tendances à la hausse unilatérale, les tendances à la baisse et à la secousse ne peuvent pas être capturées et sont faciles à ignorer.

Orientation de l’optimisation de la stratégie

  1. L’introduction d’indicateurs de confirmation de tendance, tels que le MACD, améliore l’exactitude des jugements de tendance.
  2. Optimiser les paramètres du RSI ou introduire des signaux d’amélioration tels que l’écart du RSI.
  3. Considérez l’ajout d’un arrêt de mouvement ou d’un arrêt d’oscillation et améliorez le contrôle du vent.
  4. On peut envisager d’ajouter la logique de l’ouverture d’une position inversée dans une tendance à la baisse et à la convulsion.

Résumer

La stratégie de position longue RSI50_EMA est une stratégie de suivi de tendance simple et facile à utiliser, basée sur le RSI et l’EMA, adaptée à une situation de tendance unilatérale. La logique de la stratégie est claire, les avantages sont évidents, mais il existe également des lacunes et des risques. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’introduction de plus d’indicateurs auxiliaires, de paramètres d’optimisation et d’améliorations du contrôle du risque.

Code source de la stratégie
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI50_EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(11, type=input.integer, minval=1, title="Length")
mul = input(2, type=input.float, minval=0, title="Multiplier")
rsicap = input(50, type=input.integer, minval=1, title="rsicap")
rsi_1 = rsi(close,20)
price = sma(close, 2)
average = ema(close, len)
diff = atr(len) * mul
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level) 
RENTRY = crossover(rsi_1,rsicap)
bear_cross = crossover(bear_level, price)
EXIT = crossunder(rsi_1,50)

strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)
if (RENTRY)
    strategy.entry("RSI", strategy.long, when=bull_cross)
if (EXIT)
    strategy.close("RSICLose", when=bull_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)