Umkehrungsmomentum-Verbundstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-05 14:06:21
Tags:

img

Übersicht

Die Reversal Momentum Compound Strategie kombiniert eine Umkehrstrategie und eine Momentumstrategie. Durch die Nutzung von Preisumkehrsignalen und Momentumindikatorsignalen erfasst sie Marktwendepunkte genauer und kommt rechtzeitig auf den Markt, wenn der Preis umzukehren beginnt.

Strategie Logik

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrstrategie: Gehen Sie lang, wenn der Schluß 2 aufeinanderfolgende Tage nach einem niedrigeren Schluß höher als der vorherige Schluß ist und die 9-tägige langsame K-Linie unter 50 liegt; Gehen Sie kurz, wenn der Schluß 2 aufeinanderfolgende Tage nach einem höheren Schluß niedriger als der vorherige Schluß ist und die 9-tägige schnelle K-Linie über 50 liegt.

  2. DAPD Momentum Breakout Strategie: DAPD ist die durchschnittliche Differenz zwischen 21-Tage-Hoch und 21-Tage-Tief.

Ein Einstiegssignal wird erzeugt, wenn zwei Strategien ausgerichtete Signale geben.

Vorteile

Die Strategie vereint die Vorteile von Umkehr- und Dynamikstrategien und erfasst Wendepunkte präziser.

  1. Ein doppelter Filter erhöht die Signalzuverlässigkeit, erhöht die Erfolgsrate, wenn sich die Signale ausrichten.

  2. 123 Muster reduziert das Risiko von Whipsaws.

  3. DAPD-Impuls geeignet für Trendprodukte.

Risiken

  1. Signal-Timing-Missmatch-Risiko. Die Signale aus zwei Strategien können sich nicht perfekt ausrichten.

  2. Schwierig, zwei Parameter zusammen zu optimieren.

  3. Verdoppeltes Transaktionskostenrisiko.

Optimierung

  1. Optimieren Sie die Signal-Ausrichtung von zwei Strategien.

  2. Prüfung der Wirksamkeit verschiedener Parametermengen für verschiedene Produkte.

  3. Nehmen Sie nur starke Signale, um schwache zu filtern.

Schlussfolgerung

Die Umkehrmomentum-Verbundstrategie erfasst den Umkehrpreis rechtzeitig, indem sie die Vorzüge von Umkehr- und Momentumsstrategien kombiniert. Doppelfilter erhöhen die Erfolgsrate. Eine weitere Leistungsverbesserung kann durch Optimierung der Signalausrichtung erzielt werden. Die Strategie eignet sich für Anleger mit ausreichendem Kapital und Handelskompetenz.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/12/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
// This indicator is similar to Bollinger Bands. It based on DAPD - Daily
// Average Price Delta. DAPD is based upon a summation for each of the
// highs (hod) for the 21 days prior to today minus the summation for
// each of the lows (lod) for the last 21 days prior to today. The result
// of this calculation would then be divided by 21.
// It will be buy when high above previos DAPD high and sell if low below previos DAPD low
//
// 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

DAPD(Length) =>
    pos = 0.0
    xHighSMA = sma(high, Length)
    xLowSMA = sma(low, Length)        
    nDAPD = xHighSMA - xLowSMA
    nTop = high + nDAPD
    nBottom = low - nDAPD
    pos :=  iff(high > nTop[1], 1,
    	     iff(low < nBottom[1], -1, nz(pos[1], 0)))    
    pos

strategy(title="Combo Backtest 123 Reversal & DAPD", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDAPD = input(21, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDAPD = DAPD(LengthDAPD)
pos = iff(posReversal123 == 1 and posDAPD == 1 , 1,
	   iff(posReversal123 == -1 and posDAPD == -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