Stratégie d'inversion de tendance

Auteur:ChaoZhang est là., Date: le 28 décembre 2023 à 15h50
Les étiquettes:

img

Résumé

La stratégie d'inversion de Super Trend est une stratégie de trading d'inversion qui combine l'indicateur de Super Trend et l'indicateur RSI.

Principe de stratégie

La stratégie inverse de Super Trend se compose de deux parties principales:

  1. Indicateur de super-tendance pour juger de l'évolution du marché

    L'indicateur Super Trend calcule la fourchette de prix en fonction du prix actuel et de la fourchette moyenne réelle sur une certaine période pour déterminer la direction de la tendance.

  2. Indicateur RSI pour identifier les renversements

    L'indicateur RSI juge si elle est actuellement surachetée ou survendue en comparant le nombre de jours de hausse et de baisse sur une période de temps.

    Dans cette stratégie, par certaines transformations, nous obtenons la courbe RSI traitée et définissons des lignes de seuil.

Analyse des avantages

La stratégie d'inversion de la super-tendance combine des indicateurs de tendance et d'inversion afin de prendre en considération de manière exhaustive la force de la tendance et les phénomènes de surachat/survente, de sorte qu'elle peut ouvrir et fermer des positions à des emplacements relativement bons pour obtenir de meilleurs rendements stratégiques.

Les principaux avantages sont les suivants:

  1. Combinaison de tendance et d'inversion, négociation aux points d'inversion
  2. Tirage contrôlé, meilleur contrôle des risques
  3. Grand espace d'optimisation des paramètres, réglable selon le marché

Analyse des risques

La stratégie inverse de Super Trend comporte également certains risques, notamment:

  1. Risque de défaillance de l'inversion

    Les signaux d'inversion peuvent être de faux signaux et ne pas s'inverser avec succès, ce qui peut accroître les pertes.

  2. Risque d'optimisation des paramètres

    Une mauvaise optimisation des paramètres peut entraîner une suradaptation de la stratégie et une incapacité à s'adapter aux changements du marché.

  3. Décalage des indicateurs techniques

    Tous les indicateurs techniques présentent des retards, ce qui signifie qu'ils manquent peut-être la meilleure position d'entrée.

Pour faire face à ces risques, nous pouvons optimiser et améliorer davantage en combinant d'autres indicateurs, en ajustant les méthodes d'optimisation des paramètres, etc.

Directions d'optimisation

La stratégie inverse de Super Trend peut être optimisée dans les dimensions suivantes selon le marché et les besoins:

  1. Optimiser les paramètres de Super Trend pour les adapter aux différents marchés
  2. Optimiser ou améliorer la logique de déclenchement de l'inversion de RSI
  3. Ajouter une stratégie de stop loss pour contrôler une seule perte
  4. Combiner d'autres indicateurs pour déterminer la fiabilité de l'inversion
  5. Ajouter un indicateur de volume de négociation pour éviter les fausses ruptures

Résumé

La stratégie inverse Super Trend combine les avantages du trading de tendance et du trading d'inversion, permettant de suivre la tendance tout en ouvrant des positions à des points d'inversion. En testant et optimisant en permanence les paramètres et en contrôlant les risques de manière appropriée, cette stratégie peut obtenir des rendements stratégiques stables.


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "Super-Trend-reverse Strategy", overlay = true)

// Super Trend Strategy
Factor=input(2,type =float, minval=1,maxval = 100)
Pd=10 //input(10,minval=1,maxval = 100)

// ST1

UP=hlc3-(Factor*atr(Pd))

DOWN=hlc3+(Factor*atr(Pd))

// ST1.2

TrendUp=na
TrendUp:=close[1]>TrendUp[1]? max(UP,TrendUp[1]) : UP

TrendDown=na
TrendDown:=close[1]<TrendDown[1]? min(DOWN,TrendDown[1]) : UP


Trend = na
Tsl = na


Trend := close[1] > TrendDown[1] ? 1: close[1] < TrendUp[1]? -1: nz(Trend[1],1)
Tsl := Trend==1 ? TrendUp: TrendDown


/////////////// Functions for Reverse //////////////////////////////

IF(input) => (exp(2*input)-1) / (exp(2*input)+1)

//////////////////////// RSI REVERSE /////////////////////

RSI_main = input(14, title="RSI Main Period")
RSI_smooth = input(5, title="RSI Smooth Period")

//Functions
RVS(input) => (exp(2*input)-1) / (exp(2*input)+1)

//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_main)-50)
wma_RSI=wma(raw_RSI,RSI_smooth)
RVS_RSI = RVS(wma_RSI)


threshold1 = RVS_RSI < 0.8? 1 : 0
threshold2 = -0.8




RSIbuy = (RVS_RSI<threshold2)
RSIsell = (RVS_RSI > threshold1)



////////////////////// RSI REVERSE ///////////////////////

// Conditions



longCond = na
shortCond = na
longCond :=  RSIbuy and crossover(close, Tsl)  
shortCond :=  RSIsell and crossunder(close, Tsl) 


yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longCond  and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( shortCond and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.close("BUY")







Plus de