Momentum-Beschleunigung – Erweiterte Preis-Volumen-Trend-Strategie


Erstellungsdatum: 2024-01-18 16:32:28 zuletzt geändert: 2024-01-18 16:32:28
Kopie: 2 Klicks: 556
1
konzentrieren Sie sich auf
1617
Anhänger

Momentum-Beschleunigung – Erweiterte Preis-Volumen-Trend-Strategie

Überblick

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.

Strategieprinzip

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.

Analyse der Stärken

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.

Risikoanalyse

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.

Optimierungsrichtung

  1. Optimierung von Parametern wie Anpassung der EPVT-Zyklusparameter, um die optimale Kombination von Parametern zu finden.

  2. Hinzufügen von Trendfilterbedingungen, z. B. um die Richtung eines Preiskanals oder einer Mittellinie anhand des EPVT-Signals zu bestimmen.

  3. Optimierung von Stop-Loss-Strategien, z. B. das Setzen von Fixed-Value-Stop oder ATR-Stop.

Zusammenfassen

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.

Strategiequellcode
/*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 ///////////