Long-Short-Crossover-Strategie basierend auf Volumenoszillator


Erstellungsdatum: 2023-12-12 11:19:04 zuletzt geändert: 2023-12-12 11:19:04
Kopie: 0 Klicks: 855
1
konzentrieren Sie sich auf
1621
Anhänger

Long-Short-Crossover-Strategie basierend auf Volumenoszillator

Überblick

Die Strategie basiert auf einem langfristigen, beweglichen Durchschnitt des Handelsvolumens. Sie verwendet EMAs für verschiedene Perioden, um die langfristigen Trends des Handelsvolumens zu berechnen, und erstellt einen Schwankungsindikator anhand der Differenzwerte. Der Schwankungsindikator ist hoch, wenn er die Null-Achse überschreitet, und leer, wenn er die Null-Achse überschreitet.

Strategieprinzip

Der Kern der Strategie ist der Volumen-Oszillator, der die Trendentwicklung des Volumens durch die Differenz zwischen den langfristigen und kurzfristigen Moving Averages des Volumen-Index darstellt. Die Berechnungsformel lautet:

Volume Oscillator = (ShortEMA - LongEMA) / LongEMA * 100

Die ShortEMA und die LongEMA repräsentieren jeweils kurz- und langfristige Index-Moving-Averagen. Wenn die LongEMA über die ShortEMA liegt, ist der Indikator positiv, was bedeutet, dass die Handelsmenge wächst. Wenn die LongEMA unter der ShortEMA liegt, ist der Indikator negativ, was bedeutet, dass die Handelsmenge schrumpft.

Nach der Berechnung des Schwankungsindikators erzeugt die Strategie das Handelssignal durch Kreuzung mit der Null-Achse. Wenn der Indikator negativ umgekehrt ist, also auf der Null-Achse, machen Sie einen Plus; wenn der Indikator positiv umgekehrt ist, also unter der Null-Achse, machen Sie einen Minus. Dies zeigt die dynamische Umstellung des Handelsvolumens.

Außerdem wird die Strategie in Kombination mit einem vorherigen Hoch-Low-Punkt verwendet, um die Richtung des jeweiligen Handelns zu bestimmen. Das heißt, wenn der Indikator die Null-Achse durchläuft, wird der vorherige Hochpunkt größer als der absolute Wert des vorherigen Tiefpunkts, umso weniger. Mit dieser Eigenschaft kann die Ausdehnung des Handelsvolumens beurteilt werden.

Strategische Vorteile

Die Strategie hat folgende Vorteile:

  1. Die Verwendung von Transaktionsvolumen als Basisindikator kann die Absichten von Marktteilnehmern effektiv beurteilen und ist von großer praktischer Bedeutung.

  2. In Kombination mit einer langfristigen EMA können sowohl mittelfristige Trends als auch kurzfristige Dynamiken erfasst werden.

  3. Die Handelssignale, die durch die Kreuzung des Indikators mit der Null-Achse erzeugt werden, sind einfach, klar und leicht zu erkennen.

  4. Der Wert der vorangegangenen Höhen- und Tiefststände wird verwendet, um die Richtung des Handelns zu bestimmen.

  5. Strategie ist klar, Parameter sind flexibel und anpassungsfähig.

Strategisches Risiko

Die Strategie birgt auch einige Risiken, die beachtet werden müssen:

  1. Die Handelsvolumen-Indikatoren sind anfällig für Marktfalschbrüche und können falsche Signale erzeugen.

  2. In einem konjunkturellen Zustand kann es häufig zu einer Überschneidung der Transaktionen kommen, was eine vernünftige Bestätigung der Kennzifferverlagerung erfordert.

  3. Die vorherigen Höhen und Tiefen spiegeln lediglich die jüngste Expansion wider, und es ist unmöglich, die Dauerhaftigkeit der Expansion zu bestimmen.

  4. Die Parameter für verschiedene Sorten und Zeitabschnitte müssen einzeln optimiert werden und sind nicht genügend universell.

  5. Der Handelsvolumenindex reagiert langsam auf hochfrequente programmierbare Transaktionen und verpasst möglicherweise die beste Zeit für den Einstieg.

Richtung der Strategieoptimierung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Filterbedingungen werden hinzugefügt, um falsche Signale zu vermeiden, z. B. die Bestätigung des Hinzufügens von Preisindikatoren.

  2. Optimierung der Zyklusparameter der langfristigen und kurzfristigen EMA, um sie besser an die Eigenschaften der verschiedenen Sorten anzupassen.

  3. Setzen Sie die Periodiparameter für den vorherigen Höchst-Low-Punkt und verwenden Sie den Höchst- und Mindestpreis für eine bestimmte Zeit.

  4. Die Umschlagzone des Indikators wird als Spanne eingestellt, um häufige Transaktionen zu vermeiden.

  5. Erhöhen Sie Ihre Stop-Loss-Strategie und kontrollieren Sie Ihre Einzelschäden.

  6. In Kombination mit anderen technischen Kennzahlen wie dem VRP-Kennwert.

  7. Automatische Optimierung der Parameter mittels maschineller Lernmethoden.

Zusammenfassen

Insgesamt nutzt die Long-Short-Line-Cross-Strategie, die auf dem Handelsvolumen-Schock-Indikator basiert, die Eigenschaften des Handelsvolumen-Umkehrs, der starken Urteilsfähigkeit und der guten Detektionsfähigkeit in der Anfangsphase der Trendentwicklung. Gleichzeitig wird die spezifische Richtung in Verbindung mit den vorherigen Höhen und Tiefen bestimmt, so dass die Handelsentscheidung genauer ist.

Strategiequellcode
/*backtest
start: 2022-12-05 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("SB_Volume_oscillator_Prev_high_low", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

shortlen = input(5, minval=1)
longlen = input(10, minval=1)
short = ema(volume, shortlen)
long = ema(volume, longlen)
osc = 100 * (short - long) / long
//hline(0, title="Zero")
//plot(osc)
zero=input(0.0)

low_val=input(0.0)
high_val=input(0.0)
prev_high_val=input(0.0)
prev_low_val=input(0.0)
where=input(0)
where:=nz(where[1])
low_val:=nz(low_val[1])
high_val:=nz(high_val[1])
prev_high_val:=nz(prev_high_val[1])
prev_low_val:=nz(prev_low_val[1])
if(crossover(osc,zero))
    high_val:=osc
    where:=1
    prev_low_val:=low_val
    low_val:=osc

if(crossunder(osc,zero))
    low_val:=osc
    where:=-1
    prev_high_val:=high_val
    high_val:=osc

if(where==1)
    if(high_val<osc)
        high_val:=osc
        
if(where==-1)
    if(low_val>osc)
        low_val:=osc


if (crossover(osc,zero))
    if(prev_high_val<=abs(prev_low_val))
        strategy.entry("My Long Entry Id", strategy.long)
    if(prev_high_val>abs(prev_low_val))
        strategy.entry("My Short Entry Id", strategy.short)

if (crossunder(osc,zero))
    if(prev_high_val<=abs(prev_low_val))
        strategy.entry("My Long Entry Id", strategy.long)
    if(prev_high_val>abs(prev_low_val))
        strategy.entry("My Short Entry Id", strategy.short)