Stratégie de trading d'indicateurs énergétiques de suivi de tendance


Date de création: 2023-11-15 17:36:46 Dernière modification: 2023-11-15 17:36:46
Copier: 0 Nombre de clics: 600
1
Suivre
1617
Abonnés

Stratégie de trading d’indicateurs énergétiques de suivi de tendance

Aperçu

Cette stratégie est une stratégie de suivi de tendance basée sur l’indicateur Smeared VCI devitelot. Cette stratégie combine le jugement de tendance des moyennes mobiles et le jugement de surachat et de survente de l’indicateur du canal de variation pour capturer la direction de la tendance principale des prix.

Principe de stratégie

La stratégie utilise le Smeared VCI de Vitelot pour déterminer la direction de la tendance. Le Smeared VCI est traité en douceur sur la base de l’indice des canaux de variation (VCI). Il est composé de trois paramètres: l’EMA rapide, l’EMA lente et le cycle de douceur.

La stratégie impose deux conditions:

  1. Smeared VCI à travers la ligne de déclenchement en haut comme signal de multiplication; à travers la ligne de déclenchement en bas comme signal de vide

  2. Traiter uniquement dans la fenêtre de temps de retour

Lorsque les deux conditions sont réunies, effectuez une opération de plus ou de moins. La position est à plat lorsque la condition d’arrêt de perte ou le signal de renversement apparaît.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation d’indicateurs de suivi de tendance permet de suivre efficacement les tendances

  2. L’ajout d’un traitement lisse réduit le faux signal.

  3. Le test peut être effectué sur une période donnée, en utilisant un temps de rétroaction.

  4. Les points de rupture permettent de maîtriser les risques

  5. Les paramètres de l’indicateur sont utilisés pour les jugements sur la pluralité des espaces, les règles sont simples et claires

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les tendances peuvent être mal évaluées et entraîner des pertes

  2. Une mauvaise configuration des paramètres de l’indicateur peut entraîner une mauvaise rentabilité

  3. Un arrêt trop petit peut entraîner un arrêt mineur.

  4. Une fenêtre de temps de réception déraisonnable peut entraîner une déviation des résultats des tests

  5. La commutation multi-espace trop fréquente peut entraîner des frais de transaction

Direction d’optimisation

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

  1. Tester différentes combinaisons de paramètres pour trouver le meilleur

  2. Utilisation d’autres indicateurs pour aider à la prise de décision et améliorer la précision

Optimisation des algorithmes de stop-loss et mise en place d’un stop-loss de suivi dynamique

  1. Optimiser les conditions d’ouverture pour éviter les transactions fréquentes

  2. Une fenêtre de test plus longue pour vérifier la stabilité de la stratégie

  3. Augmentation de l’exactitude des décisions, combinée à d’autres facteurs tels que le volume des transactions

Résumer

Cette stratégie est une stratégie de suivi de tendance relativement simple dans son ensemble. Elle utilise l’indicateur Smeared VCI pour déterminer la direction de la tendance et ouvrir une position lorsque l’indicateur envoie un signal de négociation.

Code source de la stratégie
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Smeared VCI Backtest", overlay=false, shorttitle="SVCI Backtest", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, slippage = 5)
// Smeared Variability Channel Index
//    a variation of the VCI indicator of the same author.
// The orange line over the lime line is bullish;
// The lime line over the orange one is bearish.
//
// vitelot/yanez/Vts
// Feb 2019
//
src = close

ep1 = input(5, minval=1, title="Fast EMA period")
ep2 = input(13, minval=2, title="Slow EMA period")

sm = input(34, minval=1, title="Smearing period")
tp = input(13, minval=1, title="Trigger line period")

fixedSL = input(title="SL Activation", defval=300)
trailSL = input(title="SL Trigger", defval=1)
fixedTP = input(title="TP Activation", defval=150)
trailTP = input(title="TP Trigger", defval=1)

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 6, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 19, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2030, title = "To Year", minval = 2017)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
startTimeOk()  => time >= start and time <= finish ? true : false // create function "within window of time" if statement true

atrP = 96

e1 = ema(src,ep1)
e2 = ema(src,ep2)

vci = (e1-e2)/atr(atrP)

svci = sma(vci,sm)
t = sma(svci,tp)

plot(svci, color=lime, linewidth=3, transp=0, title="Smeared VCI")
plot(t, color=orange, linewidth=3, transp=0, title="Trigger line")

hline(0, title="Reference line")

long = crossover(svci,t)
short = crossover(t,svci)

// === STRATEGY - LONG POSITION EXECUTION ===
strategy.entry("Long", strategy.long, when= long and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP) 
strategy.exit("Exit", when= short)
// === STRATEGY - SHORT POSITION EXECUTION ===
strategy.entry("Short", strategy.short, when= short and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP)
strategy.exit("Exit", when= long)