Diese Strategie erzeugt Handelssignale, indem der MACD-Indikator des OBV-Indikators berechnet wird, um den Trend und die Wendepunkte des OBV-Impulses zu bestimmen.
Der Kernindikator dieser Strategie ist der MACD-Indikator von OBV. Der OBV-Indikator kann den Momentumtrend einer Aktie widerspiegeln, indem er statistisch die Beziehung zwischen den sich ändernden Richtungen der Schlusskurs und dem Handelsvolumen über einen Zeitraum analysiert, um festzustellen, ob sich die Aufwärtsdynamik stärkt oder schwächt. Der MACD-Indikator zeigt den Unterschied zwischen verschiedenen gleitenden Durchschnitten, um die Dynamik der Preisänderungen zu reflektieren. Durch die Kombination des OBV-Momentumsindikators und des MACD-Momentumsindikators kann daher der Trend der Veränderung der Dynamik klarer beurteilt werden.
Konkret berechnet diese Strategie zunächst den OBV-Indikator, der die OBV-Momentumslinie berechnet, indem die Beziehung zwischen den sich ändernden Richtungen der Schlusskurse und dem Handelsvolumen über einen bestimmten Zeitraum statistisch analysiert wird. Anhand der OBV-Momentumslinie wird dann der MACD-Indikator berechnet, einschließlich der MACD-Linie, Signallinie und des Histogramms. Schließlich wird ein Kaufsignal erzeugt, wenn das MACD-Histogramm die 0-Achse vom negativen Bereich in das positive Bereich durchbricht; wenn das Histogramm die 0-Achse vom positiven Bereich in das negative Gebiet durchbricht, wird ein Verkaufssignal erzeugt.
Auf diese Weise zeigt der MACD intuitiv die Dynamikmerkmale des OBV-Volumens an und beurteilt den Trend der Volumenänderungen.
Diese Strategie kombiniert OBV-Volumenanalyse und MACD-Momentumsindikatoren für relativ genaue Beurteilungen über Volumen- und Preisentwicklungsänderungen, die FALSE Signale effektiv filtern können.
Die Strategie birgt außerdem einige Risiken, vor allem in den folgenden Aspekten:
Um diesen Risiken entgegenzuwirken, können folgende Maßnahmen ergriffen werden:
Es besteht noch Raum für eine weitere Optimierung dieser Strategie, hauptsächlich in folgenden Bereichen:
Durch kontinuierliche Tests und Optimierungen kann diese Strategie zu einer stabilen und effizienten quantitativen Handelsstrategie werden.
Diese Strategie ist eine typische quantitative Strategie, die Volumenanalyse und Momentumindikatoren kombiniert, um Preistrends zu bestimmen und Handelssignale zu generieren. Sie kann die Wendepunkte von Preisschwankungen eindeutig identifizieren, und die Handelssignale sind relativ zuverlässig. Mit angemessenen Parameter-Einstellungen können gute Strategieergebnisse erzielt werden. Aber sie hat auch einige Risiken, die durch kontinuierliche Optimierung zur Verbesserung der Leistung reduziert werden müssen. Im Allgemeinen bietet diese Strategie eine typische Idee für quantitative Handelsstrategien, die es wert ist, recherchiert und angewendet zu werden.
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "MACD of OBV", overlay = false) //////////////////////// OBV /////////////////////////// src = close obv = cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume) //////////////////////// OBV ////////////////////////// //////////////// MACD OF OBV //////////////////////////// sourcemacd = obv fastLength = input(12, minval=1), slowLength=input(26,minval=1) signalLength=input(9,minval=1) fastMA = ema(sourcemacd, fastLength) slowMA = ema(sourcemacd, slowLength) macd = fastMA - slowMA signal = ema(macd, signalLength) delta=macd-signal swap1 = delta>0?green:red plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20) p1 = plot(macd,color=blue,title='MACD Line') p2 = plot(signal,color=red,title='Signal') fill(p1, p2, color=blue) hline(0) /////////////////////////MACD OF OBV ////////////////////////// // Conditions longCond = na sellCond = na longCond := crossover(delta,0) sellCond := crossunder(delta,0) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longCond ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( sellCond ) strategy.close("BUY")