Cette stratégie est une stratégie de trading basée sur l'indice de force relative (RSI). Elle évalue les conditions de surachat et de survente à court terme à travers l'indicateur RSI pour effectuer des entrées et sorties d'inversion.
TodaysMinRSI
Day3RSIMax
Le mécanisme de sortie de la stratégie est lorsque l'indicateur RSI dépasse à nouveau la valeur de seuil du paramètre réglableExit RSI
La stratégie introduit également la moyenne mobile de 200 jours pour juger de la direction globale de la tendance. Seulement lorsque le prix est au-dessus de la ligne de 200 jours, des ordres d'entrée longs peuvent être effectués. Cela permet d'assurer que l'on n'achète que dans les phases de tendance haussière et d'éviter les risques de contre-trend.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 00:00:00 period: 3m basePeriod: 1m 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/ // @version = 5 // Author = TradeAutomation strategy(title="R3 ETF Strategy", shorttitle="R3 ETF Strategy", overlay=true) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time') InDateRange = true // Calculations and Inputs // RSILen = input.int(2, "RSI Length") RSI = ta.rsi(close, RSILen) TodaysMinRSI = input.int(10, "Today's Min RSI for Entry", tooltip = "The RSI must be below this number today to qualify for trade entry") Day3RSIMax = input.int(60, "Max RSI 3 Days Ago for Entry", tooltip = "The RSI must be below this number 3 days ago to qualify for trade entry") EMA = ta.ema(close, 200) // Strategy Rules // Rule1 = close>ta.ema(close, 200) Rule2 = RSI[3]<Day3RSIMax and RSI<TodaysMinRSI Rule3 = RSI<RSI[1] and RSI[1]<RSI[2] and RSI[2]<RSI[3] Exit = ta.crossover(RSI, input.int(70, "Exit RSI", tooltip = "The strategy will sell when the RSI crosses over this number")) // Plot // plot(EMA, "200 Day EMA") // Entry & Exit Functions // if (InDateRange) strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3) // strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop)) strategy.close("Long", when = Exit) if (not InDateRange) strategy.close_all()