RSI stochastique avec stratégie Auto Buy Scalper

Auteur:ChaoZhang est là., Date: le 31 octobre 2023
Les étiquettes:

img

Résumé

Cette stratégie vise à mettre en œuvre une stratégie de trading de scalper de pièces automatique basée sur les indicateurs techniques stochastiques RSI et EMA. Elle est conçue pour des bougies de 5 minutes, optimisées pour le BTC.

La logique de la stratégie

La stratégie utilise l'indicateur RSI pour déterminer les niveaux de surachat et de survente, combiné à la relation entre les valeurs K et D du RSI stochastique pour générer des signaux d'achat et de vente.

Il déclenchera un signal d'achat lorsque la ligne K du RSI stochastique est inférieure à 20, considérée comme survendue, et que K est supérieure à D. Après cela, il déterminera s'il faut vendre en fonction de trois conditions: 1) la hausse du prix de plus de 1% suivie d'un renversement de l'EMA; 2) la ligne K du RSI stochastique inférieure à D; 3) le prix de stop loss atteint 98,5% du prix d'entrée.

En outre, un virage à la baisse de l'EMA à court terme après une tendance haussière sera également considéré comme un signal de vente.

Les avantages

  • L'utilisation du RSI stochastique pour le moment de l'entrée est plus fiable, filtrant efficacement les fausses ruptures.
  • L'intégration de l'EMA permet de mieux détecter le moment où la tendance change.
  • L'application du stop loss aide à contrôler efficacement les pertes.
  • Le fait de détenir autant de pièces que possible réduit la fréquence des transactions et les frais.

Les risques

  • Les paramètres RSI peuvent être ajustés pour optimiser.
  • Le fait de régler le pourcentage de stop-loss trop serré peut entraîner une augmentation des pertes.
  • Un mauvais réglage des paramètres de l'EMA peut manquer le moment du changement de tendance.

Directions d'optimisation

  • Testez différentes combinaisons de paramètres RSI et stochastiques pour un réglage optimal.
  • Essayez différents pourcentages de stop loss pour équilibrer la prévention des pertes et les retraits.
  • Testez les combinaisons longues et courtes des EMA afin de déterminer les meilleurs paramètres pour détecter les changements de tendance.
  • Envisager d'ajouter d'autres indicateurs pour améliorer la précision des temps d'entrée et de sortie.

Résumé

Cette stratégie intègre les forces du RSI stochastique, de l'EMA et d'autres indicateurs, en utilisant des méthodes relativement robustes pour déterminer le moment de l'entrée et de la sortie.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Stochastic RSI W Auto Buy Scalper Scirpt III ", shorttitle="Stoch RSI_III", format=format.price, precision=2)
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(3, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
plot(k, "K", color=#2962FF)
plot(d, "D", color=#FF6D00)
h0 = hline(80, "Upper Band", color=#787B86)
hline(50, "Middle Band", color=color.new(#787B86, 50))
h1 = hline(20, "Lower Band", color=#787B86)

longStopLoss  = strategy.opentrades.entry_price(0)* (.985)

stochDropping = ta.falling(k,2)
shortSma = ta.sma(hlc3,12)
shorterSma = ta.sma(hlc3,3)
plot(shortSma[3])

shortSmaFlip = (ta.change(shortSma,3)>0) and ta.falling(hlc3,1)
shorterSmaFlip = (ta.change(shorterSma,2)>0) and ta.falling(hlc3,1)
messageSellText ='"type": "sell", "symbol": "BTCUSD", "marketPosition": "{{strategy.market_position}}"'

messageBuyText ='"type": "buy", "symbol": "BTCUSD", "marketPosition": {{strategy.market_position}}"'

fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")

strategy.entry("Tech", strategy.long, when=(strategy.position_size <= 0 and k<17 and k>d),alert_message=messageBuyText)
//original: strategy.close("TL", when=(strategy.position_size >= 0 and (k>90 and k<d)))

takeProfit = hlc3 > strategy.opentrades.entry_price(0)*1.01
//longStopLoss  = strategy.opentrades.entry_price(0)* (.995)

strategy.close("Tech", when=(strategy.position_size >= 0 and (k>90 and k<d and stochDropping)) or close<longStopLoss, comment="rsi or Stop sell",alert_message=messageSellText)
//strategy.close("Tech", when=(strategy.position_size >= 0 and close<longStopLoss), comment="stopLoss sell",alert_message=messageSellText)

strategy.close("Tech", when=(shortSmaFlip and k>20 and takeProfit),comment="Sma after profit",alert_message=messageSellText)



Plus de