Binomial Momentum Breakout Umkehrstrategie

Schriftsteller:ChaoZhang, Datum: 2024-02-28 17:20:02
Tags:

img

Übersicht

Die Binomial Momentum Breakout Reversal Strategy kombiniert den Stochastic-Indikator und den Bull Power-Indikator, um das Dual-Signal-Filtern und den Umkehrhandel an Marktturnpunkten umzusetzen, um überverkaufte und überkaufte Situationen zu verfolgen.

Strategie Logik

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrstrategie

    Es verwendet die Umkehrstrategie, die Ulf Jensen in seinem Buch How I Tripled My Money in the Futures Market vorgeschlagen hat. Es geht lang, wenn der Schlusskurs 2 aufeinanderfolgende Tage höher als der vorherige Schlusskurs ist und der 9-tägige langsame Stochastik unter 50 liegt; es geht kurz, wenn der Schlusskurs 2 aufeinanderfolgende Tage niedriger als der vorherige Schlusskurs ist und der 9-tägige schnelle Stochastik über 50 liegt.

  2. Stierkraftindikator

    Es verwendet den von Vadim Gimelfarb in seinem Buch Bull and Bear Balance Indicator vorgeschlagenen Momentum-Indikator. Es beurteilt die Bullish/Bearish-Macht, indem es die Beziehung zwischen der aktuellen K-Linie und der vorherigen K-Linie berechnet und Handelssignale erzeugt.

Die Strategie kombiniert die beiden oben genannten Einzelsignalstrategien. Sie erzeugt Handelssignale nur, wenn die Signale der beiden Strategien konsistent sind, um eine doppelte Signalfilterung zu implementieren.

Analyse der Vorteile

Die Strategie kombiniert die Vorteile von Umkehrstrategien und Tracking-Strategien. Sie kann Umkehrsignale rechtzeitig erfassen, wenn der Markt Anzeichen einer Umkehr zeigt, und gleichzeitig falsche Signale durch doppeltes Signalfiltern reduzieren, um Höchststände und Verkaufstiefstände zu vermeiden. Die Hauptvorteile sind:

  1. Die Verwendung des Musters 123 zur Ermittlung von Wendepunkten auf dem Markt und zur Identifizierung von Überverkaufssituationen und Überkaufssituationen.
  2. Der Dual-Signal-Filter-Mechanismus vermeidet falsche Signale, die durch einzelne Indikatoren erzeugt werden, und verbessert die Qualität der Handelssignale.
  3. Umkehrhandel, um die Trendchancen zu nutzen, die durch Marktumkehrungen entstehen.
  4. Großer Parameteroptimierungsraum zur Anpassung an verschiedene Marktumgebungen durch Anpassung der Indikatorparameter.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Das Risiko einer Umkehrung ist sehr hoch. Es ist schwierig, Umkehrsignale zu erkennen.
  2. Chancenverlust bei inkonsistenten Signalen zwischen zwei Indikatoren.
  3. Fehlende Identifizierung der Umkehrsignale aufgrund unpassender Parameter.
  4. Die Strategie eignet sich besser für den mittelfristigen und langfristigen Handel, wobei der Effekt des kurzfristigen Handels nicht sehr gut ist.

Die Gegenmaßnahmen:

  1. Einfache Verluste zu kontrollieren, indem Stop-Loss-Strategien angewendet werden.
  2. Optimierung der Parameter. Für verschiedene Sorten können verschiedene Kombinationen ausgewählt werden.
  3. Kombination anderer Indikatoren als Hilfsurteil.

Optimierungsrichtlinien

Die Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Testen Sie die Auswirkungen verschiedener Parameter auf die Strategieleistung, um die optimale Parameterkombination zu finden.
  2. Erhöhen Sie die Stop-Loss-Strategien, um einzelne Verluste zu kontrollieren.
  3. Kombination anderer Indikatoren zur Signalprüfung. Zum Beispiel können MACD, KD, RSI und andere Indikatoren bei der Erstellung von Handelssignalen berücksichtigt werden.
  4. Verwenden von Algorithmen für maschinelles Lernen zur Optimierung von Parametern und zur dynamischen Anpassung von Parametern.

Zusammenfassung

Die Binomial Momentum Breakout Reversal Strategy kombiniert den Stochastic Indikator und den Bull Power Indikator, um eine doppelte Signalfilterung und einen Umkehrhandel zu erreichen. Sie kann Marktumkehrmöglichkeiten nutzen und Geräusche, die durch einzelne Signale erzeugt werden, vermeiden. Es ist eine stabile und effektive quantitative Strategie. Die Strategie kann durch Parameteroptimierung, Stop-Loss-Strategien, Signalverifizierung usw. verbessert werden, was sie für mehr Sorten und Marktumgebungen geeignet macht. Sie hat ein großes Potenzial für Optimierung und Anwendung.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/07/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//  Bull Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

BullPower(SellLevel, BuyLevel) =>
    pos = 0
    value = iff (close < open ,  
             iff (close[1] < open ,  max(high - close[1], close - low), max(high - open, close - low)),
              iff (close > open, 
               iff(close[1] > open,  high - low, max(open - close[1], high - low)), 
                 iff(high - close > close - low, 
                  iff (close[1] < open, max(high - close[1], close - low), high - open), 
                   iff (high - close < close - low, 
                     iff(close[1] > open,  high - low, max(open - close, high - low)), 
                      iff (close[1] > open, max(high - open, close - low),
                       iff(close[1] < open, max(open - close, high - low), high - low))))))
    pos := iff(value > SellLevel, -1,
	         iff(value <= BuyLevel, 1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Bull Power", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(15, step=1)
BuyLevel = input(3, step=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullPower = BullPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullPower == 1 , 1,
	   iff(posReversal123 == -1 and posBullPower == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mehr