
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.
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:
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
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.
Cette stratégie présente les avantages suivants:
L’utilisation d’indicateurs de suivi de tendance permet de suivre efficacement les tendances
L’ajout d’un traitement lisse réduit le faux signal.
Le test peut être effectué sur une période donnée, en utilisant un temps de rétroaction.
Les points de rupture permettent de maîtriser les risques
Les paramètres de l’indicateur sont utilisés pour les jugements sur la pluralité des espaces, les règles sont simples et claires
Cette stratégie comporte aussi des risques:
Les tendances peuvent être mal évaluées et entraîner des pertes
Une mauvaise configuration des paramètres de l’indicateur peut entraîner une mauvaise rentabilité
Un arrêt trop petit peut entraîner un arrêt mineur.
Une fenêtre de temps de réception déraisonnable peut entraîner une déviation des résultats des tests
La commutation multi-espace trop fréquente peut entraîner des frais de transaction
Cette stratégie peut être optimisée dans les domaines suivants:
Tester différentes combinaisons de paramètres pour trouver le meilleur
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
Optimiser les conditions d’ouverture pour éviter les transactions fréquentes
Une fenêtre de test plus longue pour vérifier la stabilité de la stratégie
Augmentation de l’exactitude des décisions, combinée à d’autres facteurs tels que le volume des transactions
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.
/*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)