Stratégie de suivi de tendance bidirectionnelle


Date de création: 2023-09-17 18:20:27 Dernière modification: 2023-09-17 18:20:27
Copier: 1 Nombre de clics: 468
1
Suivre
1237
Abonnés

Aperçu

La stratégie est basée sur l’identification et le suivi des tendances bidirectionnelles de l’indicateur Aroon. L’indicateur Aroon permet de déterminer efficacement la direction de la tendance du marché et, combiné à l’indicateur RSI, permet de déterminer les zones de survente et de survente, ce qui constitue une stratégie de suivi plus complète.

Principe de stratégie

  1. L’indicateur Aroon est utilisé pour déterminer la direction de la tendance des prix. L’indicateur supérieur à la ligne 0 est une tendance à la hausse, inférieur à la ligne 0 est une tendance à la baisse.

  2. L’opération d’achat est effectuée lorsque l’indicateur Aroon franchit la ligne 0 en bas.

  3. Si la position a été créée et que le prix de clôture est inférieur au prix d’achat et que le RSI est inférieur à 30, il est considéré comme une survente et une mise en position est effectuée.

  4. Une fois que l’indicateur Aroon est descendu en dessous de la ligne 0, il est vendu en totalité.

  5. Le stop loss est fixé à 5%, et le stop loss est vendu si la perte est supérieure à ce point.

Analyse des avantages

  1. L’utilisation de l’indicateur Aroon pour déterminer la direction des tendances permet de capturer efficacement les points de rotation du marché.

  2. L’indicateur RSI aide à déterminer les zones de survente et d’excédent afin d’éviter de suivre les hauts et les bas aux points de basculement.

  3. Les transactions bidirectionnelles permettent de réaliser des bénéfices dans des conditions de marché à la fois haussière et baissière.

  4. La définition d’un point d’arrêt aide à contrôler les risques.

Analyse des risques

  1. L’indicateur Aroon est en retard et risque de manquer une inversion brève et soudaine.

  2. L’absence d’une gestion efficace du marché de la liquidation entraînerait une augmentation des transactions inutiles.

  3. Les transactions bilatérales augmentent la fréquence des transactions et les frais de traitement.

  4. Les paramètres doivent être adaptés pour s’adapter aux différentes périodes et variétés.

Direction d’optimisation

  1. En combinaison avec d’autres indicateurs, le filtrage des signaux réduit la probabilité d’erreur de transaction due à un retard.

  2. Augmentation des études quantitatives et optimisation des combinaisons de paramètres pour les différentes variétés.

  3. L’augmentation des stratégies de prévention et d’amélioration des facteurs de profit.

  4. Envisagez de négocier uniquement lorsque la tendance est claire et réduisez les transactions inefficaces.

Résumer

La stratégie intègre les deux indicateurs Aroon et RSI pour former une stratégie de trading de tendance bidirectionnelle plus complète. Cependant, il est nécessaire de définir des paramètres d’optimisation supplémentaires, en combinaison avec d’autres indicateurs de filtrage pour réduire la probabilité d’une transaction erronée.

Code source de la stratégie
/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-12 00:00:00
period: 1m
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/
// © mohanee

//@version=4
// strategy(title="Aroon Oscillator Strategy", overlay=false, pyramiding=2,    initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed, 

//variables BEGIN
aroonLength=input(169,title="Aroon Length")   //square root of 13
rsiLength=input(13, title="RSI Length")
stopLoss = input(title="Stop Loss%", defval=5, minval=1)
//variables  END

//RSI 
rsi13=rsi(close,rsiLength)




// Drawings

//Aroon oscillator

arronUpper = 100 * (highestbars(high, aroonLength+1) + aroonLength)/aroonLength
aroonLower = 100 * (lowestbars(low, aroonLength+1) + aroonLength)/aroonLength

aroonOsc  = arronUpper - aroonLower

aroonMidpoint = 0
oscPlot = plot(aroonOsc, color=color.green)
midLine= plot(aroonMidpoint, color=color.green)
topLine = plot(90,style=plot.style_circles, color=color.green)
bottomLine = plot(-90,style=plot.style_circles, color=color.red)

fill(oscPlot, midLine, color=aroonOsc>0?color.green:color.red, transp=50)
fill(topLine,bottomLine, color=color.blue)


// RSI 
//plot(rsi13, title="RSI", linewidth=2, color=color.purple)
//hline(50, title="Middle Line", linestyle=hline.style_dotted)
//obLevel = hline(80, title="Overbought", linestyle=hline.style_dotted)
//osLevel = hline(30, title="Oversold", linestyle=hline.style_dotted)
//fill(obLevel, osLevel, title="Background", color=rsi13 >=30 ? color.green:color.purple, transp=65)  // longTermRSI >=50


//Entry--

strategy.entry(id="Long Entry", comment="LE",  long=true,  when= crossover(aroonOsc,0)   )     //crossover(close,ema34)  //and close>ema34  //crossover(rsi5Val,rsiBuyLine)

//Add
if(strategy.position_size>=1 and close < strategy.position_avg_price and crossover(rsi13,30))
    strategy.order(id="Long Entry", comment="Add", long=true )     //crossover(close,ema34)  //and close>ema34  //crossover(rsi5Val,rsiBuyLine)  --


stopLossVal= abs(strategy.position_size)>1 ? strategy.position_avg_price*(1-0.5) : 0.00 


//close partial
strategy.close(id="Long Entry", comment="Partial X",  qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 90) )   //close<ema55 and rsi5Val<20 //ema34<ema55 


//close All
strategy.close(id="Long Entry", comment="Exit All",  when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 0) )   //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89

//close All on stop loss
strategy.close(id="Long Entry", comment="Stoploss X",  when=abs(strategy.position_size)>=1 and close < stopLossVal )   //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89