Doppel bewegliche Durchschnittsumkehrverfolgung

Schriftsteller:ChaoZhang, Datum: 2023-11-07 16:00:33
Tags:

img

Übersicht

Das Dual Moving Average Reversal Tracking System integriert die 123 Reversal Pattern Strategie und die Ichimoku Strategie, um Umkehrchancen zu identifizieren und Trends für übermäßige Renditen zu verfolgen.

Strategie Logik

Die Strategie besteht aus zwei Teilstrategien:

  1. 123 Strategie zur Umkehrung des Musters

Diese Strategie basiert auf Preismustern.

  • Gehen Sie lang, wenn der Schlusskurs zwei aufeinanderfolgende Tage steigt und der 9-tägige langsame Stochastik unter 50 liegt.

  • Gehen Sie kurz, wenn der Schlusskurs für zwei aufeinanderfolgende Tage fällt und der 9-tägige schnelle Stochastiksatz über 50 liegt.

Es verwendet den Ausbruch der Vortagsschlüsse, um Umkehrungen zu ermitteln, und Stochastik, um Lärm zu filtern.

  1. Ichimoku Strategie

Diese Strategie basiert auf der 5-Linien-Kreuzung von Ichimoku.

  • Gehen Sie lang, wenn der Schlusskurs über der Basislinie liegt.

  • Gehen Sie kurz, wenn der Schlusskurs unterhalb der Konvertierungslinie liegt.

Die Basislinie ist der Mittelpunkt des höchsten Höchststandes und des niedrigsten Tiefstands der letzten 26 Tage und die Umrechnungslinie ist der Mittelpunkt des höchsten Höchststandes und des niedrigsten Tiefstands der letzten 9 Tage.

Die endgültige Strategie kombiniert die Signale aus den beiden Teilstrategien und tritt ein, wenn beide Long- oder Short-Signale geben, und tritt aus, wenn sie nicht übereinstimmen.

Analyse der Vorteile

  • Kombiniert Umkehrung und Trendverfolgung, flexibel bei Umkehrungen und Trends.

  • Das Muster ist einfach und wirksam, um Umkehrungen zu erkennen.

  • Ichimoku-Parameter sind optimiert, mit geringerer Ausbruchgefahr.

  • Die Kombination zweier verschiedener Strategien kann eine Optimierung erreichen.

Risikoanalyse

  • Umgekehrte Strategien sind anfällig für Fallen und Verluste.

  • Ichimoku kann in den Märkten, in denen es um die Bandbreite geht, Whipsaws erleben, Parameter fein einstellen oder Filter hinzufügen, um unnötige Trades zu reduzieren.

  • Unvereinbare Parameter bei der Kombination von Strategien können zu zu häufigen oder spärlichen Signalen führen.

Optimierungsrichtlinien

  • Für bessere Filter müssen mehr Indikatoren getestet werden, z. B. Volumen.

  • Ich optimiere Ichimoku-Parameter, um den Instrumenten zu entsprechen.

  • Hinzufügen von Stop-Loss-Mechanismen, z. B. auf der Grundlage von ATR eingestellte Exits.

  • Ein Modul für das Geldmanagement für die Risikokontrolle hinzufügen.

  • Sammeln Sie mehr Daten für robuste Backtests, entdecken Sie Probleme und iterieren Sie.

Schlussfolgerung

Das Dual Moving Average Reversal Tracking System kombiniert die Stärken von Umkehr- und Trendfolgestrategien durch Optimierung und Kombination für die Alpha-Generation. Es hat Handelsvorteile, aber Risiken wie Whipsaws und Stop Loss bestehen. Wir müssen die Logik in Backtests weiter verbessern und eine angemessene Risikokontrolle für Stabilität und reale Leistung umsetzen. Insgesamt bietet es einen guten Ansatz, verschiedene Strategien für bessere Gesamtergebnisse zu kombinieren.


/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/11/2020
// 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
//  Ichimoku Strategy
//
// 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

middleDonchian(Length) =>
    lower = lowest(Length)
    upper = highest(Length)
    avg(upper, lower)    
    
Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) =>
    pos = 0.0
    Tenkan = middleDonchian(conversionPeriods)
    Kijun =  middleDonchian(basePeriods)
    xChikou = close
    SenkouA = middleDonchian(laggingSpan2Periods)
    SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2
    pos := iff(close < SenkouA[displacement], -1,
              iff(close > SenkouB, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ichimoku2c", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
conversionPeriods = input(9, minval=1),
basePeriods = input(26, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posIchimoku2c = Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement)
pos = iff(posReversal123 == 1 and posIchimoku2c == 1 , 1,
	   iff(posReversal123 == -1 and posIchimoku2c == -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