Résumé:
L'oscillateur de volume en pourcentage (PVO) est un oscillateur de momentum pour le volume. L'oscillateur de volume en pourcentage mesure la différence entre deux moyennes mobiles basées sur le volume en pourcentage de la moyenne mobile plus grande pour mesurer les changements dans les tendances du volume. Cette stratégie utilise l'oscillateur de volume pour identifier les tendances du volume pour confirmer ou réfuter l'action des prix.
La logique de la stratégie:
La stratégie forme un indicateur PVO grâce à une composition double EMA et utilise une ligne de signal pour identifier les changements de tendance du volume afin d'anticiper la direction potentielle des prix.
Les avantages:
La stratégie utilise pleinement l'effet indicatif des changements de volume sur l'action des prix. Par rapport à un seul indicateur, la structure PVO est plus stable avec des paramètres personnalisables pour juger des changements de tendance de volume et détecter à l'avance la direction potentielle des prix.
Les risques:
Le volume change souvent en retard par rapport à l'action des prix et le PVO peut donner un mauvais signal lorsque le prix approche de la fin de la tendance. Des paramètres incorrects peuvent également affecter l'exactitude du jugement. La prudence est nécessaire lors de la négociation inverse, car la tendance peut s'étendre. Le volume seul ne peut pas déterminer un point d'entrée précis et a besoin de l'aide d'autres indicateurs pour le timing.
Optimisation:
Test et optimisation des combinaisons EMA pour trouver les meilleures périodes pour la détection de tendance. Ajout d'un seuil de fluctuation du volume pour filtrer les signaux inefficaces. Incorporation de MACD, KD pour une confirmation d'entrée ultérieure. Configuration d'un stop loss pour contrôler les pertes d'un seul commerce. Cela améliorera considérablement l'applicabilité de la stratégie.
Conclusion:
La stratégie de l'oscillateur de volume en pourcentage juge les changements de tendance du volume en calculant la différence en pourcentage entre les EMA en volume pour anticiper la direction potentielle des prix. Elle adopte une structure double EMA simple et efficace pour mesurer les fluctuations de volume et utilise un codage de couleur intuitif pour améliorer l'effet visuel.
/*backtest start: 2023-10-06 00:00:00 end: 2023-10-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 27/09/2017 // The Percentage Volume Oscillator (PVO) is a momentum oscillator for volume. // PVO measures the difference between two volume-based moving averages as a // percentage of the larger moving average. As with MACD and the Percentage Price // Oscillator (PPO), it is shown with a signal line, a histogram and a centerline. // PVO is positive when the shorter volume EMA is above the longer volume EMA and // negative when the shorter volume EMA is below. This indicator can be used to define // the ups and downs for volume, which can then be use to confirm or refute other signals. // Typically, a breakout or support break is validated when PVO is rising or positive. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Percentage Volume Oscillator (PVO)", shorttitle="PVO") LengthShortEMA = input(12, minval=1) LengthLongEMA = input(26, minval=1) LengthSignalEMA = input(9, minval=1) reverse = input(false, title="Trade reverse") hline(0, color=gray, linestyle=line) xShortEMA = ema(volume , LengthShortEMA) xLongEMA = ema(volume , LengthLongEMA) xPVO = ((xShortEMA - xLongEMA) / xLongEMA) * 100 xSignalEMA = ema(xPVO , LengthSignalEMA) xPVOHisto = xPVO - xSignalEMA pos = iff(xSignalEMA < xPVO, -1, iff(xSignalEMA > xPVO, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xPVO, color=blue, title="PVO") plot(xSignalEMA, color=red, title="Signal") plot(xPVOHisto, color=gray, title="PVO Histo", style=histogram)