Stratégie de suivi des tendances basée sur les écarts

Auteur:ChaoZhang est là., Date: 2024-01-22 11:51:28 Je suis désolé
Les étiquettes:

img

Résumé

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 logique de la stratégie

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:

  1. Calculer le VWAP comme la ligne médiane du prix

  2. Calculer l'écart type sd du prix comme indicateur de volatilité des prix

  3. 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.

  4. 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.

  5. 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.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Les indicateurs d'écart de prix permettent de déterminer efficacement les tendances des prix et de suivre les tendances

  2. Les zones de retracement de Fibonacci rendent les sorties d'entrée et de stop loss plus claires

  3. Le VWAP comme ligne médiane du prix améliore également la valeur de référence de l'indicateur

  4. Les paramètres peuvent être ajustés pour s'adapter à différents produits et délais

Analyse des risques

La stratégie comporte également certains risques:

  1. Il peut subir des pertes plus importantes lors d'inversions de tendance

  2. Des paramètres incorrects peuvent également affecter les performances de la stratégie

  3. Il existe un risque de stop loss plus élevé lors de fortes fluctuations de prix.

Les contre-mesures:

  1. Réduire de manière appropriée la période de détention et arrêter les pertes à temps

  2. Optimiser les paramètres pour trouver la meilleure combinaison de paramètres

  3. Améliorer la gestion de la taille des positions pour contrôler les pertes uniques

Directions d'optimisation

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

  1. Incorporer des indicateurs de tendance afin d'éviter les opérations contre tendance

  2. Ajouter des mécanismes de gestion de la taille de la position

  3. Optimiser les paramètres

  4. Retour à l'essai et optimisation sur plusieurs délais

Résumé

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))

Plus de