La tendance de l'oscillateur de vortex suivant la stratégie

Auteur:ChaoZhang est là., Date: 2023-12-07 16:48:45 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie de suivi de tendance de l'oscillateur de vortex est une stratégie de suivi de tendance basée sur l'indicateur de vortex. Elle utilise des moyennes mobiles de plusieurs délais pour construire l'indicateur de vortex afin d'identifier les tendances potentielles des prix, et se combine avec une moyenne mobile à plus courte période comme jugement auxiliaire pour obtenir des opérations de suivi de tendance à faible risque.

Principe de stratégie

L'indicateur de tourbillon est un indicateur à court terme, à moyen terme et à long terme. Il utilise des moyennes mobiles de 6 jours, 27 jours, 72 jours et 234 jours. La moyenne mobile à court terme reflète la dernière tendance des prix, tandis que la moyenne mobile à long terme reflète la tendance à long terme.

L'avantage important de l'indicateur Vortex est qu'il juge avec précision les tendances et filtre efficacement le bruit du marché. Cependant, sa réaction n'est pas suffisamment sensible pour capturer les points tournants en temps opportun. Par conséquent, la stratégie intègre une moyenne mobile de 6 jours plus sensible pour construire un indicateur de jugement auxiliaire. Achetez lorsque l'indicateur Vortex et l'indicateur auxiliaire franchissent la ligne zéro, et vendez lorsque les deux indicateurs franchissent la ligne zéro.

Analyse des avantages

Le plus grand avantage de cette stratégie est l'exactitude du jugement et la sensibilité des opérations. La combinaison de l'indicateur vortex et des indicateurs auxiliaires permet d'atteindre une unité organique du jugement de tendance et de la détermination de points d'entrée/sortie spécifiques tout en évitant les interférences entre eux. Le mécanisme de confirmation multiple peut filtrer efficacement le bruit du marché et éviter les transactions erronées.

Comparée aux stratégies à indicateur unique, l'avantage de cette stratégie est qu'elle combine plusieurs indicateurs pour atteindre des capacités plus fortes d'identification et de réponse aux changements du marché.

Analyse des risques

Les principaux risques de cette stratégie proviennent de paramètres inappropriés des indicateurs et de l'impact d'événements extrêmes. Les paramètres des moyennes mobiles doivent équilibrer la sensibilité et la résistance aux interférences sonores.

Pour atténuer ces risques, les paramètres doivent être optimisés et testés en arrière-plan pour stabiliser les performances de l'indicateur. En outre, faites attention aux impacts du marché des événements majeurs, pausez les stratégies si nécessaire pour éviter les erreurs pendant les périodes de volatilité anormale.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Optimiser les paramètres de moyenne mobile pour améliorer la résistance au bruit et la sensibilité de fonctionnement de l'indicateur.

  2. Ajoutez des mécanismes d'arrêt des pertes. Définissez des points d'arrêt des pertes lorsque les prix dépassent les niveaux de support clés dans des directions défavorables pour éviter de nouvelles pertes.

  3. Incorporer d'autres jugements d'indicateurs pour accroître la stabilité de la stratégie, par exemple en ne prenant des signaux que lorsque les volumes de négociation augmentent.

  4. Utilisez différents ensembles de paramètres basés sur les différentes étapes du marché. Par exemple, des paramètres plus agressifs pendant les marchés haussiers et des réglages plus stables sur les marchés baissiers.

Conclusion

La stratégie de suivi de tendance de l'oscillateur vortex combine avec succès le jugement et l'exécution de la tendance à travers l'indicateur vortex qui détermine la direction / la force de la tendance des prix et une moyenne mobile à court terme sensible qui indique le moment d'entrée / sortie spécifique.


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

//@version=3
//swap strategy line for study line to enable backtesting
strategy(title="Vortex Ocillator" )
//study(title = "Vortex Oscillator", precision = 6)

// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2048, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

//vortex histogram
short_input = input(6, minval = 1)
long_input = input(27, minval = 1)
longer_input = input(72, minval = 1)
longest_input = input(234, minval = 1)

short = sma(close, short_input)
long = sma(close, long_input)
longer = sma(close, longer_input)
longest = sma(close, longest_input)

hist = short - long
longhist = short - longer
longesthist = short - longest

hist_fractal = input(3, minval = 0)
longhist_fractal = input(2, minval = 0)
longesthist_fractal = input(4, minval = 0)

vortexhist = avg((hist / hist_fractal), (longhist / longhist_fractal), (longesthist / longesthist_fractal))

crossover_calc = vortexhist > 0 and vortexhist[1] < 0
crossunder_calc = vortexhist < 0 and vortexhist[1] > 0

crossover2 = crossover(vortexhist, 0)
crossunder2 = crossunder(vortexhist, 0)

hist_color = hist > 0? fuchsia : purple
longhist_color = longhist > 0? olive : orange
longesthist_color = longesthist > 0? teal : blue
vortexhist_color = vortexhist >= 0? green : red

plot(longesthist, "Longest Ocillator", style = histogram, color = longesthist_color, transp = 5)
plot(longhist, "Longer Ocillator", style = histogram, color = longhist_color, transp = 30)
plot(hist, "Short Ocillator", style = histogram, color = hist_color, transp = 30)
plot(vortexhist, "Vortex Ocillator", style = columns, color = vortexhist_color, transp = 40)
plotshape(crossover_calc,title = "Crossover",location = location.bottom, style = shape.triangleup, size = size.small, color = green)
plotshape(crossunder_calc,title = "Crossunder",location = location.bottom, style = shape.triangledown, size = size.small, color = red)

//micro
micro_ema_length = input(6,"Micro EMA Length")
micro = ema(vortexhist, micro_ema_length)
plot(micro, title = "micro", linewidth = 1, color = white)
microup = crossover(vortexhist, micro)
microdown = crossunder(vortexhist, micro)

//new micro signals
xmicroup = microup and vortexhist >=0 or crossover_calc
xmicrodown = microdown and vortexhist >=0 or crossunder_calc
plotshape(xmicroup, title = "Micro up", style = shape.circle, color = olive, location = location.bottom, size = size.tiny)
plotshape(xmicrodown, title = "Micro down", style = shape.circle, color = fuchsia, location = location.bottom, size = size.tiny)

//optional strategy options for backtesting, comment out the alertcondition rows and swap the top study row for the strategy row to compile as strategy
if testPeriod()
    strategy.entry("buy", true, 1, when = xmicroup, limit = low)
if testPeriod()
    strategy.close("buy", when = xmicrodown)

   

//if (xmicroup)
    //strategy.entry("My Long Entry Id", strategy.long)
//if (xmicroup)
    //strategy.exit("My Short Exit Id", "My Short Entry Id")
//if (xmicrodown)
    //strategy.exit("My Long Exit Id", "My Long Entry Id")

  




Plus de