Stratégie de négociation des ETF de suivi des tendances de l'indice de risque de renversement

Auteur:ChaoZhang est là., Date: 2024-01-22 17h15 et 18h
Les étiquettes:

img

Résumé

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.

Principe de stratégie

TodaysMinRSIDay3RSIMax

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.

Analyse des avantages

  • Incorporer une ligne de 200 jours pour déterminer la direction de la tendance principale, ce qui aide à éviter le contre-trend.

Risques et solutions

  • L'indicateur RSI a la possibilité de fausses ruptures, incapable d'éviter complètement de perdre des transactions.

Directions d'optimisation

  • Incorporer d'autres indicateurs tels que KDJ, Bollinger Bands, etc. pour former des combinaisons d'indicateurs, améliorant ainsi la précision du signal.

Résumé


/*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()
    

Plus de