Cette stratégie identifie et suit les tendances basées sur des indicateurs d'écart de prix combinés à des zones de retracement de Fibonacci.
La stratégie utilise VWAP comme ligne du point médian du prix. Ensuite, les bandes supérieures et inférieures de 1,618 et de 2,618 déviation standard des fluctuations de prix sont calculées. Un signal long est généré lorsque le prix franchit la bande inférieure vers le haut. Un signal court est généré lorsque le prix franchit la bande supérieure vers le bas.
Les signaux de stop loss EXIT après ouverture de positions longues ou courtes sont les suivants: la ligne de stop loss pour les positions longues est la bande inférieure, et pour les positions courtes est la bande supérieure.
Elle implique notamment les étapes suivantes:
Calculer le VWAP comme la ligne médiane du prix
Calculer l'écart type sd du prix comme indicateur de volatilité des prix
Calculer les bandes supérieures et inférieures en fonction de sd. Les bandes supérieures sont VWAP + 1,618sd et VWAP + 2,618les bandes inférieures sont VWAP - 1,618sd et VWAP - 2,618- Je sais.
Un signal long est généré lorsque le prix franchit la bande inférieure de 1,618 vers le haut. Un signal court est généré lorsque le prix franchit la bande supérieure de 1,618 vers le bas.
EXIT de stop-loss long: les prix franchissent la marge inférieure de 2,618; EXIT de stop-loss court: les prix franchissent la marge supérieure de 2,618.
La stratégie présente les avantages suivants:
Les indicateurs d'écart de prix permettent de déterminer efficacement les tendances des prix et de suivre les tendances
Les zones de retracement de Fibonacci rendent les sorties d'entrée et de stop loss plus claires
Le VWAP comme ligne médiane du prix améliore également la valeur de référence de l'indicateur
Les paramètres peuvent être ajustés pour s'adapter à différents produits et délais
La stratégie comporte également certains risques:
Il peut subir des pertes plus importantes lors d'inversions de tendance
Des paramètres incorrects peuvent également affecter les performances de la stratégie
Il existe un risque de stop loss plus élevé lors de fortes fluctuations de prix.
Les contre-mesures:
Réduire de manière appropriée la période de détention et arrêter les pertes à temps
Optimiser les paramètres pour trouver la meilleure combinaison de paramètres
Améliorer la gestion de la taille des positions pour contrôler les pertes uniques
La stratégie peut également être optimisée dans les domaines suivants:
Incorporer des indicateurs de tendance afin d'éviter les opérations contre tendance
Ajouter des mécanismes de gestion de la taille de la position
Optimiser les paramètres
Retour à l'essai et optimisation sur plusieurs délais
Cette stratégie identifie et suit les tendances basées sur le concept d'écart de prix combiné avec les bandes d'écart standard VWAP et Fibonacci. Par rapport à l'utilisation d'indicateurs uniques tels que les moyennes mobiles, cette stratégie a des jugements et un contrôle des risques plus clairs.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 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/ // © Mysteriown //@version=4 strategy(title="VWAP + Fibo Dev Extensions Strategy", overlay=true, pyramiding=5, commission_value=0.08) // ------------------------------------- // ------- Inputs Fibos Values --------- // ------------------------------------- fib1 = input(title="Fibo extension 1", type=input.float, defval=1.618) fib2 = input(title="Fibo extension 2", type=input.float, defval=2.618) reso = input(title="Resolution VWAP", type=input.resolution, defval="W") dev = input(title="Deviation value min.", type=input.integer, defval=150) // ------------------------------------- // -------- VWAP Calculations ---------- // ------------------------------------- t = time(reso) debut = na(t[1]) or t > t[1] addsource = hlc3 * volume addvol = volume addsource := debut ? addsource : addsource + addsource[1] addvol := debut ? addvol : addvol + addvol[1] VWAP = addsource / addvol sn = 0.0 sn := debut ? sn : sn[1] + volume * (hlc3 - VWAP[1]) * (hlc3 - VWAP) sd = sqrt(sn / addvol) Fibp2 = VWAP + fib2 * sd Fibp1 = VWAP + fib1 * sd Fibm1 = VWAP - fib1 * sd Fibm2 = VWAP - fib2 * sd // ------------------------------------- // -------------- Plots ---------------- // ------------------------------------- plot(VWAP, title="VWAP", color=color.orange) pFibp2 = plot(Fibp2, color=color.red) pFibp1 = plot(Fibp1, color=color.red) pFibm1 = plot(Fibm1, color=color.lime) pFibm2 = plot(Fibm2, color=color.lime) fill(pFibp2,pFibp1, color.red) fill(pFibm2,pFibm1, color.lime) // ------------------------------------- // ------------ Positions -------------- // ------------------------------------- bull = crossunder(low[1],Fibm1[1]) and low[1]>=Fibm2[1] and low>Fibm2 and low<Fibm1 and sd>dev bear = crossover(high[1],Fibp1[1]) and high[1]<=Fibp2[1] and high<Fibp2 and high>Fibp1 and sd>dev //plotshape(bear, title='Bear', style=shape.triangledown, location=location.abovebar, color=color.red, offset=0) //plotshape(bull, title='Bull', style=shape.triangleup, location=location.belowbar, color=color.green, offset=0) // ------------------------------------- // --------- Strategy Orders ----------- // ------------------------------------- strategy.entry("Long", true, when = bull) strategy.close("Long", when = crossover(high,VWAP) or crossunder(low,Fibm2)) strategy.entry("Short", false, when = bear) strategy.close("Short", when = crossunder(low,VWAP) or crossover(high,Fibp2))