VB-Strategie auf Basis von Volumensalden

Schriftsteller:ChaoZhang, Datum: 2023-10-30 17:03:02
Tags:

img

Diese Strategie basiert auf dem Indikator Volumensalden zur Bestimmung der Kauf- und Verkaufskraft auf dem Markt.

Strategie Logik

Der Indikator Volumensalden (VB) spiegelt die treibende Kraft der Volumenänderungen bei den Preisen wider.

  1. Berechnen Sie die Intraday-Volatilitätsrate des typischen Preises als Kursdynamik.

  2. Beurteilen Sie die Kauf- und Verkaufskraft in der Nähe durch das Produkt von Volumen und Preisdynamik.

  3. Der Indikator schwankt über und unter der Null-Achse.

Diese Strategie konstruiert den VB-Indikator und setzt eine Signallinie. Ein Kaufsignal wird erzeugt, wenn der VB-Indikator über die Signallinie kreuzt. Ein Verkaufssignal wird erzeugt, wenn der VB-Indikator unterhalb der Signallinie kreuzt.

Die wichtigsten Schritte des Kodex sind:

  1. Berechnen Sie die Intraday-Volatilitätsrate des typischen Preisinterpunkts als Kursmomentum.

  2. Die Überschreitung des Momentums über dem Bereich wird als Koeffizient betrachtet.

  3. Berechnen Sie den quantifizierten Impuls vcp nach dem Abschnitt.

  4. Summe vcp, um den quantifizierten Indikator vfi zu erhalten.

  5. Längen der Signalleitung SignalLength und erhalten Sie vfima.

  6. Vergleichen Sie den VB-Indikator vfi mit der Signallinie vfima, um Handelssignale zu erzeugen.

Vorteile

Die Vorteile dieser Strategie sind:

  1. Verwenden Sie das Volumen-Preis-Verhältnis, um die Kauf- und Verkaufskraft zu beurteilen, die nicht vom Preis selbst beeinflusst wird.

  2. Der Berechnungsbereich der quantifizierten Bewegung kann durch Parameter gesteuert werden, um die Auswirkungen von abnormalen Schwankungen zu vermeiden.

  3. Durch die Kombination des Vergleichs zwischen dem VB-Indikator selbst und der Signallinie kann ein angemessener Einstiegszeitpunkt festgelegt werden.

  4. Die Berechnungsmethode für die Indikatoren ist einfach und klar und im Live-Handel einfach zu bedienen.

  5. Anpassbare Indikatorparameter und Signallinieparameter zur Optimierung der Strategieleistung.

Risiken

Diese Strategie birgt auch einige Risiken:

  1. Der VB-Indikator ist anfällig für abnormale Kursschwankungen.

  2. Die Wahrscheinlichkeit einer Abweichung der Preise von den Indikatoren ist hoch.

  3. Die Indikatorparameter und die Signalleitparameter müssen angemessen optimiert werden, um falsche Signale zu verhindern.

  4. Mehr geeignet für Produkte mit offensichtlichen Volumen-Preis-Eigenschaften, weniger geeignet für Produkte mit geringer Liquidität.

  5. Achten Sie auf die Abweichung des Indikators, die auf eine Umkehrung des Marktes hinweisen kann.

Die Risiken können durch Anpassung des Parameterbereichs, Verwendung anderer Filter, Ermöglichung eines ordnungsgemäßen Loose Stop Loss usw. kontrolliert werden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimierung der Berechnungsparameter für den quantifizierten Impuls, um Empfindlichkeit und Stabilität auszugleichen.

  2. Optimieren Sie die Signalparameter, um Verzögerung und Lärm auszugleichen.

  3. Zusätzliche Indikatoren wie die Analyse der Volumenverteilung zur Überprüfung.

  4. Hinzufügen von Trend- und Unterstützungs-/Widerstandsindikatoren, um ungünstige Trades zu vermeiden.

  5. Dynamische Stop-Loss-Einstellungen basierend auf der Marktvolatilität.

  6. Verwenden Sie maschinelles Lernen, um die optimale Parameterkombination zu finden.

  7. Backtest für verschiedene Produkte und Zeitrahmen zur Bewertung der Robustheit.

  8. Vergleichen Sie Indikatorparameter Auswirkungen auf die Gewinnkurve, um das Optimum zu finden.

Zusammenfassung

Diese Strategie beurteilt die Kauf-/Verkaufskraft anhand des Volume Balances-Indikators. Sie hat Vorteile wie einfaches Indikatordesign und verstellbare Parameter, aber auch Risiken wie falsche Signale.


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("VB Strategy", overlay=true)

length = input(130, title="거래량 길이")
coef = input(0.2, title="계수")
vcoef = input(2.5, title="최대 계수")
signalLength=input(5)
smoothVFI=input(false, type=bool, title="부드럽게")
//볼밴
length2 = input(20, minval=1, title="볼밴 길이")

ma(x,y) => smoothVFI ? sma(x,y) : x

typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coef * vinter * close
vave = sma( volume, length )[1]
vmax = vave * vcoef
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )

vfi = ma(sum( vcp , length )/vave, 3)
vfima=ema( vfi, signalLength )
d=vfi-vfima

upper = vfima + stdev(vfi, length2)
lower = vfima - stdev(vfi, length2)

buysignal = cross(vfi, lower) and crossunder(vfi, lower) == 1 ? vfima : na

sellsignal = cross(vfi, upper) and crossover(vfi, upper) == 1 ? vfima : na

//times = timestamp("GMT+6", 2017, 12, 6, 00, 00)

//if (buysignal and times <= time)
if (buysignal)
    if(strategy.position_size < 0)
        strategy.close("SHORT")
        
    if(strategy.position_size > 0)
        strategy.order("LONG", true, 1, when = (low+high)/2)
        
    if(strategy.position_size == 0)
        strategy.entry("LONG", strategy.long, when = (low+high)/2)

//if (sellsignal and times <= time)
if (sellsignal)
    if(strategy.position_size > 0)
        strategy.close("LONG")
        
    if(strategy.position_size < 0)
        strategy.order("SHORT", false, 1, when = (low+high)/2)
        
    if(strategy.position_size == 0)
        strategy.entry("SHORT", strategy.short, when = (low+high)/2)


Mehr