
Cette stratégie est appelée la stratégie de réversion de tendance pondérée en volume (VWAP) et l’indicateur de correction d’estimation quantitative qualitative (QE Mod) pour générer un signal de négociation.
Cette stratégie utilise deux indicateurs: VWAP et QQE Mod.
Le VWAP représente le prix moyen pondéré en volume de transactions. Il est calculé en divisant le prix de clôture d’une période par le total des transactions de la même période. Le VWAP reflète le prix moyen de transaction d’un actif sur une période, pondéré en fonction du volume de transactions.
Le QQE Mod est une version modifiée de l’indicateur d’estimation quantitative et qualitative qui intègre des éléments de l’indicateur relativement faible ((RSI) et de l’indice des moyennes mobiles ((EMA)). Il aide à identifier les points de retournement de tendance potentiels et à évaluer la force de la tendance.
Un signal d’achat est généré lorsque le prix de clôture est à la fois supérieur à la valeur du VWAP et du QQE Mod. Cela signifie qu’il y a une opportunité potentielle d’achat lorsque le prix est supérieur à la moyenne et que le QQE Mod montre de la force.
Un signal de vente est généré lorsque le prix de clôture est en dessous de la valeur du VWAP et du QQE Mod simultanément. Cela signifie qu’il y a une opportunité de vente potentielle lorsque le prix est en dessous de la moyenne et que le QQE Mod montre une faiblesse.
La stratégie utilise les indicateurs VWAP et QQE Mod à travers cette combinaison, dans le but d’identifier et de tirer profit en temps opportun d’un renversement des prix.
Cette stratégie présente les avantages suivants:
L’indicateur VWAP est basé sur la pondération du prix en fonction du volume de transactions, ce qui rend l’analyse plus utile.
Distinguer les tendances des fluctuations aléatoires. L’indicateur QQE Mod aide à déterminer si les fluctuations de prix sont des tendances durables ou seulement des fluctuations aléatoires.
Capture des signaux de revers en temps opportun. L’utilisation d’une combinaison des deux types d’indicateurs peut générer des signaux de transaction le plus tôt possible en cas de revers des prix.
Les paramètres de l’indicateur peuvent être optimisés en fonction de l’environnement du marché et adaptés à différents cycles et actions.
Facilité de mise en œuvre et de retracement. La stratégie peut être écrite directement dans TradingView à l’aide de Pine Script pour faciliter la visualisation et le retracement. Elle peut également être convertie en MQL pour les transactions automatiques MT4/MT5.
Malgré la rigueur de la stratégie, les transactions comportent des risques, notamment:
Risque de faux signal. Comme tous les indicateurs techniques, le VWAP et le QQE génèrent des faux signaux, entraînant des pertes.
Risque de rétractation. Si la situation change fortement, le compte sera rétracté. Le risque peut être maîtrisé par un arrêt de perte.
Risque d’optimisation excessive. Les paramètres peuvent être sur-optimisés lors de la retestation, ce qui est bon pour les données historiques, mais ne s’applique pas nécessairement aux données futures.
Différences entre les prix en temps réel et les prix en temps réel. Les prix en temps réel et les prix en temps réel peuvent être différents, ce qui peut entraîner des variations dans l’efficacité de la stratégie.
Risques liés à l’automatisation des transactions. Si vous utilisez l’automatisation des transactions, vous devez également prendre en compte les risques techniques tels que les pannes de serveur, les pannes de réseau.
Cette stratégie peut être optimisée dans les directions suivantes:
Choisir des actions d’agence. Choisir des actions plus actives, par exemple, rend le VWAP et le QQE Mod plus précis.
Ajuster les paramètres. Modifier la longueur de QQE, le cycle de lissage et le cycle de filtration pour trouver la meilleure combinaison.
Combiné avec une stratégie d’arrêt des pertes, la définition d’une position d’arrêt raisonnable et une stratégie d’arrêt des pertes mobiles permettent de contrôler efficacement le retrait.
Considérez les frais de transaction. Incorporer les frais tels que les commissions et les points de dérapage dans le backtest et le hard disk pour rendre les tests de stratégie plus précis.
Augmentation des conditions de filtrage. Autres facteurs, tels que la prise en compte des ruptures de volume, des indicateurs de volatilité, etc., réduisent les signaux erronés.
La stratégie de renversement de tendance basée sur des indicateurs de prix quantifiés vise à identifier les points de renversement de tendance des prix en combinant les deux indicateurs VWAP et QQE Mod. Elle prend en compte à la fois l’analyse du volume de transactions et l’analyse des indicateurs de force et de faiblesse, ce qui permet de capturer efficacement les occasions de renversement à court terme. La stratégie est simple à mettre en œuvre et peut s’adapter à différents environnements de marché grâce à l’optimisation des paramètres.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("VWAP and QQE Mod Strategy", overlay=true)
// Input parameters
length = input(14, title="QQE Length")
m = input(5, title="QQE Smoothing")
filterLength = input(5, title="QQE Filter Length")
// Calculate VWAP
vwapValue = ta.sma(close * volume, length) / ta.sma(volume, length)
// Calculate QQE Mod indicator
qqeMod(source, length, m, filterLength) =>
emaSource = ta.ema(source, length)
rsiValue = ta.rsi(source, length)
var float j = na
j := (1.0 - 1.0 / m) * nz(j[1]) + 1.0 / m * (rsiValue - 50)
upperBand = emaSource + filterLength * ta.stdev(source - emaSource, length)
lowerBand = emaSource - filterLength * ta.stdev(source - emaSource, length)
qqeModValue = j > 0 ? upperBand : lowerBand
[qqeModValue, upperBand, lowerBand]
[qqeModValue, upperBand, lowerBand] = qqeMod(close, length, m, filterLength)
// Generate trading signals
buySignal = close > vwapValue and close > qqeModValue
sellSignal = close < vwapValue and close < qqeModValue
// Plot signals on the chart
bgcolor(buySignal ? color.new(color.green, 90) : na)
bgcolor(sellSignal ? color.new(color.red, 90) : na)
// Print trading signals
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)