La stratégie du double stochastique évalue les zones haussières et baissières en calculant les indicateurs stochastiques de la période en cours et de plusieurs délais, visant à acheter bas et à vendre haut.
La stratégie calcule deux ensembles d'indicateurs stochastiques simultanément. Le premier ensemble est l'indicateur stochastique de la période en cours, à savoir les valeurs K et D. Le deuxième ensemble est l'indicateur stochastique de 3 fois la période en cours, à savoir MTFK et MTFD.
Lorsque le MTFK dépasse 50 et que le K actuel est supérieur à D, un signal d'achat est généré, indiquant une zone haussière pour aller long. Lorsque le MTFD dépasse 50 et que le K actuel est inférieur à D, un signal de vente est généré, indiquant une zone baissière pour aller court.
Par conséquent, la stratégie utilise deux indicateurs stochastiques pour juger des zones haussières et baissières et suivre les tendances des prix.
Plus précisément, la logique d'entrée longue est:
longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD
La logique courte de l'entrée est:
shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD
où mtfK est la valeur K de la période 3x, et mtfD est la valeur D de la période 3x. Les signaux longs sont générés lorsque mtfK dépasse 50 et k>d. Les signaux courts sont générés lorsque mtfD dépasse 50 et k
La stratégie définit également une logique de stop loss. Lorsqu'elle est longue, si mtfD traverse sous la bande supérieure, un signal de fermeture est généré. Lorsqu'elle est courte, si mtfK traverse au-dessus de la bande inférieure, un signal de fermeture est déclenché.
Les avantages de cette stratégie sont les suivants:
L'utilisation de la double stochastique permet un jugement plus précis des zones haussières et baissières. L'indicateur de la période courante juge les tendances à court terme tandis que l'indicateur de la période plus large juge les tendances à long terme.
Les transactions basées sur des croisements d'indicateurs de différents délais peuvent suivre efficacement les tendances et atteindre des prix bas d'achat et des prix élevés de vente.
La logique de stop loss aide à contrôler les risques et à limiter les pertes dans une certaine mesure.
La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre pour le trading en direct.
La stratégie comporte également certains risques:
Les stochastiques doubles peuvent générer de faux signaux, provoquant des transactions inutiles, par exemple des divergences entre les tendances à court et à long terme causées par des événements soudains.
Les paramètres d'arrêt de perte incorrects peuvent entraîner une augmentation des pertes.
La fréquence des transactions générées par la stratégie peut avoir une incidence négative sur les bénéfices dus aux commissions.
La stratégie repose uniquement sur des indicateurs techniques sans tenir compte des fondamentaux, qui devraient être surveillés dans une certaine mesure.
Les solutions:
Ajustez les paramètres de la double stochastique pour réduire les faux signaux.
Optimiser la logique de stop loss et définir des distances de stop loss raisonnables.
Ajustez les paramètres pour réduire la fréquence des échanges.
Faites attention aux événements fondamentaux importants pour éviter les transactions subjectives.
La stratégie peut être optimisée dans les aspects suivants:
Optimiser les paramètres de la double stochastique pour réduire les faux signaux. Tester les effets de différentes valeurs K et D.
Incorporer d'autres indicateurs pour filtrer les signaux, tels que le MACD, les moyennes mobiles, etc., en évitant les faux signaux.
Optimiser la stratégie d'arrêt des pertes en testant différents points et ratios d'arrêt des pertes afin de contrôler efficacement les risques.
Incorporer des indicateurs du volume des transactions, tels que les écarts de volume, afin d'éviter des transactions inefficaces lors de la consolidation des prix.
Testez différentes périodes de détention: des périodes de détention trop courtes entraînent des commissions qui mangent les bénéfices, trop longs ne parviennent pas à arrêter les pertes à temps.
Incorporer des facteurs fondamentaux, fermer des positions autour d'événements importants pour éviter d'être choqué.
La stratégie du double stochastique évalue les zones haussières et baissières en fonction des indicateurs stochastiques de la période en cours et de plusieurs périodes, atteignant l'objectif d'acheter à bas prix et de vendre à haut prix. Elle présente des avantages tels qu'une forte capacité de suivi des tendances, une logique simple et un trading en direct facile. Mais des risques existent, nécessitant un ajustement des paramètres, une optimisation des stop-loss et l'incorporation d'autres techniques ou fondamentaux pour s'améliorer. Si elle est optimisée de manière complète et strictement testée, cette stratégie peut devenir un système de suivi des tendances très pratique.
/*backtest start: 2023-10-07 00:00:00 end: 2023-11-06 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD) len = input(54, minval=1, title="Length for Main Stochastic") smoothK = input(12, 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(30, minval=10, maxval=50, title="Lower Line Value?") trailStep=input(100,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",blue,style=line, linewidth=2) plot(d,"current TF d",red,style=line, linewidth=2) plot(mtfK,"MTF TF k",black,style=line) plot(mtfD,"Multi TF d",green,style=line, linewidth=2) hline(upLine) hline(50) hline(lowLine) longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD if (longCondition) strategy.entry("Lungo", strategy.long) shortCondition = crossunder(mtfD, 50) and k<50 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) showZones = input(true, title="Show Bullish/Bearish Zones") // bullish signal rule: bullishRule = k >= mtfD // bearish signal rule: bearishRule = k <= mtfD // current trading State ruleState = 0 ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1]) bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)