Cette stratégie est un système de négociation basé sur le croisement entre l'indicateur de tendance du volume des prix (PVT) et sa moyenne mobile exponentielle (EMA). La stratégie identifie les changements de tendance du marché en surveillant les situations de croisement entre le PVT et son EMA, capturant ainsi les opportunités commerciales potentielles. Cette méthode combine les mouvements de prix et les changements de volume pour refléter plus précisément les vraies tendances du marché.
Le noyau de la stratégie utilise l'indicateur PVT, qui suit les tendances du marché en combinant les mouvements de prix avec le volume des transactions. Plus précisément, la valeur PVT est calculée en accumulant le produit du pourcentage de variation quotidienne des prix et du volume quotidien. Une EMA de 20 périodes de PVT est ensuite calculée comme une ligne de référence.
La stratégie PVT-EMA Trend Crossover est un système de trading complet qui combine l'analyse des prix, du volume et de la tendance. Bien qu'elle présente certains risques de retard et de faux signaux, la stratégie peut devenir un outil de trading fiable grâce à une optimisation et une gestion des risques appropriées.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © PakunFX //@version=5 strategy(title="PVT Crossover Strategy", shorttitle="PVT Strategy", overlay=false, calc_on_every_tick=true) // PVTの計算 var cumVol = 0. cumVol += nz(volume) if barstate.islast and cumVol == 0 runtime.error("No volume is provided by the data vendor.") src = close pvt = ta.cum(ta.change(src) / src[1] * volume) // EMAの計算(PVTをソースに使用) emaLength = input.int(20, minval=1, title="EMA Length") emaPVT = ta.ema(pvt, emaLength) // プロットをオフにする plot(emaPVT, title="EMA of PVT", color=#f37f20, display=display.none) // クロスオーバー戦略 longCondition = ta.crossover(pvt, emaPVT) shortCondition = ta.crossunder(pvt, emaPVT) // シグナル表示もオフにする plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", display=display.none) plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", display=display.none) // 戦略エントリー if (longCondition) strategy.entry("Buy", strategy.long) if (shortCondition) strategy.entry("Sell", strategy.short)