
Die Extended Price Volume Trend (EPVT) -Strategie ist eine Strategie zur Kombination von technischen Indikatoren. Sie kombiniert die Dynamikbeschleunigungsindikatoren mit anderen Hilfsindikatoren, um potenzielle Trendwendepunkte und Dynamikwechsel zu identifizieren.
Der Kern der Strategie ist die Expansion der Preisentwicklung (EPVT). Die Berechnungsmethode lautet: kumulierte Handelsmenge * Preisanstieg und -rückgang. Dann werden die Maximal- und Minimalwerte der EPVT in einem bestimmten Zeitraum berechnet, um die Basiszone zu erhalten. Die EPVT-Indikatorkurve ist die Differenzkurve der EPVT gegenüber der Basiszone.
Wenn die EPVT-Indikatorkurve die Null-Achse nach oben durchquert, wird ein Kaufdruck verstärkt und ein Mehr-Signal erzeugt. Umgekehrt, wenn die EPVT die Null-Achse nach unten durchquert, wird ein Leerstandsignal erzeugt.
Um die Signalqualität zu verbessern, unterstützt die Strategie auch die Verwendung von einfachen Moving Averages, um die Zuverlässigkeit von Trendwechseln zu bestätigen.
Die Strategie kombiniert die drei Dimensionen von Trend, Dynamik und Handelsvolumen, um eine umfassendere Einschätzung der Kauf- und Verkaufsbereitschaft und -intensität des Marktes zu ermöglichen. Die Verwendung des Expansionspreis-Trend-Indikators hilft bei der Identifizierung von Überschussbewegungen, die in kurzer Zeit auftreten, um die Wendepunkte des Marktes zu erfassen.
Es gibt drei Stufen, in denen der Stopp aus dem Spiel gestellt wird, und die Stopp-Verhältnisse können je nach eigenen Risikopräferenzen gewählt werden.
Die Strategie ist eher auf die Gestalt der Indikatorkurve angewiesen und gibt falsche Signale aus, wenn der Kurs nicht typisch ist. Darüber hinaus können Situationen wie die Umkehrung von drei Bars zu unnötigen Umkehrungen führen.
Die Parameter können entsprechend angepasst werden oder andere Schwankungen hinzugefügt werden, um zu optimieren. Die Stop-Loss-Strategie kann auch einzelne Verluste reduzieren.
Optimierung von Parametern wie Anpassung der EPVT-Zyklusparameter, um die optimale Kombination von Parametern zu finden.
Hinzufügen von Trendfilterbedingungen, z. B. um die Richtung eines Preiskanals oder einer Mittellinie anhand des EPVT-Signals zu bestimmen.
Optimierung von Stop-Loss-Strategien, z. B. das Setzen von Fixed-Value-Stop oder ATR-Stop.
Die dynamische Beschleunigung der Erweiterung der Preis-Trend-Strategie, die Veränderungen der Kauf- und Verkaufsbereitschaft des Marktes durch die EPVT-Indikatoren zu erfassen, um potenzielle Trendwendepunkte zu erfassen. Die Einrichtung von drei Arten von unterschiedlichem Ausgangsstillstand bietet Anlegern unterschiedliche Risikopräferenzen. Die Strategie verdient weitere Tests und Optimierungen und kann ein wirksames Instrument zur Identifizierung von kurzfristigen Marktveränderungen sein.
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Extended Price Volume Trend", overlay=true )//@version=5
var cumVol = 0.
cumVol += nz(volume)
if barstate.islast and cumVol == 0
runtime.error("No volume is provided by the data vendor.")
src = close
lenght = input(200,"Trend Lenght")
vt = ta.cum(ta.change(src)/src[1]*volume)
upx = ta.highest(vt,lenght)
downx = ta.lowest(vt,lenght)
basex = (upx +downx)/2
VTX = vt - basex
VTY = ta.valuewhen(ta.cross(VTX,0),close,0)
plot(VTY, color=color.black, title="Extended-PVT")
/////////////////////// STRATEGY ////////////////
/////////////////////// TAKE PROFIT SECTION ////////////////
longConditionx = ta.crossover(close,VTY)
ShortConditionx = ta.crossunder(close,VTY)
tp1 = input.int(10, minval=1,title = "TP-1")
tp2 = input.int(20, minval=1,title = "TP-2")
tp3 = input.int(30, minval=1,title = "TP-3")
ematp = ta.ema(close,2)
TPTAKA1S = VTY*(1-tp1/100)
plot(TPTAKA1S, "SELL-TP1", color=color.red,linewidth = 1)
TPTAKA2S = VTY*(1-tp2/100)
plot(TPTAKA2S, "SELL-TP2", color=color.red,linewidth = 1)
TPTAKA3S = VTY*(1-tp3/100)
plot(TPTAKA3S, "SELL-TP3", color=color.red,linewidth = 1)
TPTAKA1B = VTY*(1+tp1/100)
plot(TPTAKA1B, "BUY-TP1", color=color.red,linewidth = 1)
TPTAKA2B = VTY*(1+tp2/100)
plot(TPTAKA2B, "BUY-TP2", color=color.red,linewidth = 1)
TPTAKA3B = VTY*(1+tp3/100)
plot(TPTAKA3B, "BUY-TP3", color=color.red,linewidth = 1)
BUYTP = ta.crossunder(close,VTY) or ta.crossunder(ematp,TPTAKA1B) or ta.crossunder(ematp,TPTAKA2B) or ta.crossunder(ematp,TPTAKA3B)
SELLTP = ta.crossover(close,VTY) or ta.crossover(ematp,TPTAKA1S) or ta.crossover(ematp,TPTAKA2S) or ta.crossover(ematp,TPTAKA3S)
/////////////////////// STRATEGY ////////////////
// Check for Long Entry
longCondition = longConditionx==true
if longCondition
strategy.entry('Long', strategy.long, comment = "ENTER-LONG")
buyclose = ShortConditionx==true or BUYTP==true
// Exit condition
strategy.close('Long', when=buyclose or BUYTP==true, comment = "EXIT-LONG")
// Check for Short Entry
ShortCondition = ShortConditionx==true
if ShortCondition
strategy.entry('Short', strategy.short, comment = "ENTER-SHORT")
sellclose = longConditionx==true or SELLTP ==true
// Exit condition
strategy.close('Short', when=sellclose or SELLTP==true, comment = "EXIT-SHORT")
///// END OF STRATEGY ///////////