Stratégie stochastique sur plusieurs délais

Auteur:ChaoZhang est là., Date: le 29 février 2024 12:11:23
Les étiquettes:

img

Résumé

La logique de la stratégie

Les indicateurs de base de cette stratégie sont les lignes stochastiques K et D. La ligne K reflète la dynamique récente des prix tandis que la ligne D est une moyenne mobile de la ligne K. Leur position relative et leur direction peuvent déterminer les tendances des prix et les renversements potentiels.

Cette stratégie utilise des indicateurs stochastiques sur deux délais pour confirmer les signaux et filtrer le bruit.

Lorsque l'indicateur stochastique du délai supérieur confirme une tendance haussière et que l'indicateur stochastique du délai actuel montre une rupture à la hausse, une position longue est prise. Lorsque l'indicateur stochastique du délai supérieur indique une tendance à la baisse et que l'indicateur stochastique actuel signale une rupture à la baisse, une position courte est initiée.

Analyse des avantages

En combinant des indicateurs multi-temps et la dynamique actuelle, cette stratégie permet de filtrer efficacement le bruit du marché et de capturer des transactions rentables à forte probabilité.

  1. Un délai plus long permet de négocier avec la tendance afin de minimiser les frappes inutiles et les transactions perdantes.
  2. Les indicateurs stochastiques doubles améliorent la précision du signal et réduisent les faux signaux.

Analyse des risques

Il y a quelques risques à prendre en considération avec cette stratégie:

  1. L'indicateur de temps plus élevé peut ne pas détecter tôt les renversements soudains de tendance, ce qui augmente les pertes liées aux changements de direction tardifs.
  2. L'indicateur actuel des délais peut être trop sensible, ce qui augmente la fréquence des échanges et les coûts.
  3. Bien que le double stochastique améliore la précision, il ralentit également le temps de réaction.

Directions d'optimisation

Les principales orientations d'optimisation sont les suivantes:

  1. Je teste des combinaisons de délais pour trouver l'équilibre optimal.
  2. Incorporer des stratégies de stop-loss pour contrôler le risque à la baisse par transaction.

Conclusion

La stratégie stochastique multi-temps est un système typique de suivi des tendances. En utilisant des indicateurs stochastiques sur deux échelles de temps, elle vise à capturer avec précision les mouvements du marché.


/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MTF stochastic strategy", overlay=false,pyramiding=3,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
//
//this strategy is inspired to bobby thread in forexfactory forum
//
len = input(11, minval=1, title="Length for Main Stochastic") 
smoothK = input(3, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(20, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(50,minval=10,title="Trialing step value")

// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)

//mtf stochastic calculation smoothed with period

mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)

plot(k,"current TF k",black,style=linebr)
plot(d,"current TF d",gray,style=linebr)
plot(mtfK,"MTF TF k",red,style=line)
plot(mtfD,"Multi TF d",green,style=line)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and change(k,1)>0 and k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and change(k,1)<0 and k<d and mtfK<mtfD
if (shortCondition)
    strategy.entry("Corto", strategy.short)
    
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)

if (exitlong)
    strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
    strategy.exit("Esci corto","Corto",trail_points=trailStep)
    



Plus de