Cette stratégie permet de calculer la variation du volume des transactions, de déterminer la direction de la tendance du marché, d’adopter une méthode de suivi de la tendance, d’établir une position au début de la tendance et de mettre fin à la position à la fin de la tendance.
L’ajout d’indicateurs techniques appropriés pour améliorer la réponse aux ajustements à court terme pourrait être envisagé.
Optimiser les conditions d’admission, on peut envisager d’ajouter des jugements tels que la moyenne, les points de décalage, etc. pour déterminer l’admission après le début de la tendance.
Optimisation des arrêts de perte: vous pouvez définir des arrêts mobiles, des arrêts de niveau, etc., pour que les arrêts de perte soient plus proches du prix et que la tendance soit arrêtée.
L’ajout d’éléments de jugement de tendance, tels que l’ADX, permet d’éviter les erreurs de négociation des marchés horizontaux et les chocs.
Optimisation des paramètres, permettant de trouver la combinaison optimale de paramètres avec un retour de données plus long.
L’élargissement de la stratégie à d’autres variétés, à la recherche de variétés de meilleure qualité et plus actives sur le marché.
Envisagez d’ajouter des modèles d’apprentissage automatique, d’utiliser plus de données pour évaluer les quantités et les valeurs, et d’améliorer la qualité du signal.
L’idée générale de cette stratégie est claire, les indicateurs centraux sont intuitifs et faciles à comprendre, et la direction de la tendance est identifiée de manière fiable. L’avantage de la stratégie réside dans le fait qu’elle met l’accent sur la variation du volume des transactions, elle est adaptée pour suivre la tendance de la ligne moyenne longue, mais il est nécessaire de prévenir les signaux trompeurs.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Strategy for Volume Flow Indicator with alerts and markers on the chart", overlay=true)
// This indicator has been copied form Lazy Bear's code
lengthVFI = 130
coefVFI = 0.2
vcoefVFI = 2.5
signalLength= 5
smoothVFI=true
ma(x,y) => smoothVFI ? sma(x,y) : x
typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coefVFI * vinter * close
vave = sma( volume, lengthVFI )[1]
vmax = vave * vcoefVFI
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )
vfi = ma(sum( vcp , lengthVFI )/vave, 3)
vfima=ema( vfi, signalLength )
dVFI=vfi-vfima
bullishVFI = dVFI > 0 and dVFI[1] <=0
bearishVFI = dVFI < 0 and dVFI[1] >=0
longCondition = dVFI > 0 and dVFI[1] <=0
shortCondition = dVFI < 0 and dVFI[1] >=0
plotshape(bullishVFI, color=color.green, style=shape.labelup, textcolor=#000000, text="VFI", location=location.belowbar, transp=0)
plotshape(bearishVFI, color=color.red, style=shape.labeldown, textcolor=#ffffff, text="VFI", location=location.abovebar, transp=0)
alertcondition(bullishVFI, title='Bullish - Volume Flow Indicator', message='Bullish - Volume Flow Indicator')
alertcondition(bearishVFI, title='Bearish - Volume Flow Indicator', message='Bearish - Volume Flow Indicator')
if(year > 2018)
strategy.entry("Long", strategy.long, when=dVFI > 0 and dVFI[1] <=0)
if(shortCondition)
strategy.close(id="Long")