Diese Strategie ist ein Trend-Folgende Handelssystem, das auf dem Crossover zwischen dem Price Volume Trend (PVT) -Indikator und seinem exponentiellen gleitenden Durchschnitt (EMA) basiert. Die Strategie identifiziert Markttrendveränderungen, indem die Crossover-Situationen zwischen PVT und seiner EMA überwacht werden, wodurch potenzielle Handelschancen erfasst werden. Diese Methode kombiniert Preisbewegungen und Volumenveränderungen, um wahre Markttrends genauer widerzuspiegeln.
Der Kern der Strategie verwendet den PVT-Indikator, der Markttrends durch Kombination von Preisbewegungen mit dem Handelsvolumen verfolgt. Konkret wird der PVT-Wert durch Akkumulation des Produkts von täglichem Preisänderungsprozentsatz und täglichem Volumen berechnet. Ein 20-Perioden-EMA von PVT wird dann als Referenzlinie berechnet. Kaufsignale werden generiert, wenn PVT über seine EMA überschreitet, während Verkaufssignale generiert werden, wenn PVT unter seine EMA überschreitet. Diese Crossover-Signale werden zur Bestimmung von Markttrend-Wendepunkten verwendet.
Die PVT-EMA Trend Crossover Strategie ist ein vollständiges Handelssystem, das Preis-, Volumen- und Trendanalyse kombiniert. Obwohl sie bestimmte Verzögerungs- und Falschsignalrisiken aufweist, kann die Strategie durch angemessene Optimierung und Risikomanagement zu einem zuverlässigen Handelswerkzeug werden.
/*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)