Umkehrung dynamischer Pivotpunkte Exponentielle gleitende Durchschnittsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-08 11:37:36
Tags:

img

Übersicht

Die Reversal Dynamic Pivot Points Exponential Moving Average-Strategie kombiniert Reversal Trading und dynamische Support-Widerstandsniveaus. Sie verwendet den Stochastic-Oszillator, um Marktumkehrpunkte zu identifizieren und berechnet täglich Support/Widerstand basierend auf den Vortags-Hoch-, Tief- und Schlusskursen. Sie geht lang oder kurz, wenn sowohl die Umkehr- als auch die Pivot-Punkt-Strategien Kauf- oder Verkaufssignale generieren. Die Strategie eignet sich für den mittelfristigen Handel.

Strategie Logik

Umkehrstrategie

Die Umkehrstrategie basiert auf der Begründung, dass, wenn die Märkte überkauft oder überverkauft werden, die Preise dazu neigen, wieder in den Wertbereich zurückzukehren.

Gehen Sie lang, wenn der Schluß 2 aufeinanderfolgende Tage höher als der vorherige Schluß war und die 9-tägige Slow K-Linie unter 50 liegt; Gehen Sie kurz, wenn der Schluß 2 aufeinanderfolgende Tage niedriger als der vorherige Schluß war und die 9-tägige Fast K-Linie über 50 liegt.

Strategie für dynamische Drehpunkte

Die dynamische Pivot-Punkt-Strategie berechnet die Unterstützungs- und Widerstandsniveaus des aktuellen Tages anhand der Höchst-, Tief- und Schlusskurse der vorherigen Tage.

Drehpunkt = (Hoch + Niedrig + Schließen) / 3

Unterstützung 1 = Drehpunkt - (Höher - Drehpunkt)

Widerstand 1 = Drehpunkt + (Drehpunkt - niedrig)

Es geht lang, wenn die Schließung höher als Widerstand 1 ist, und kurz, wenn die Schließung niedriger als Unterstützung 1 ist.

Doppelsignale

Diese Strategie kombiniert die Umkehr- und dynamischen Drehpunktstrategien. Sie tritt nur in Positionen ein, wenn Signale aus beiden Strategien ausgerichtet sind. Dies hilft, einige falsche Signale auszufiltern und die Stabilität zu verbessern.

Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie die Stärken sowohl der Umkehr- als auch der dynamischen S/R-Strategien kombiniert - sie kann von großen Trendumkehrungen profitieren und auch wichtige Unterstützungs- und Widerstandsniveaus identifizieren.

Außerdem hat die Strategie nur wenige Parameter und ist leicht umzusetzen und zu optimieren.

Risiken

Die Strategie birgt außerdem folgende Risiken:

  • Fehlgeschlagene Umkehrung - die Preise können trotz Umkehrsignal übermäßig erweitert und weiter trenden.

  • Verstöße gegen Unterstützungs-/Widerstandsniveaus - die Preise können berechnete S/R-Niveaus durchbrechen, was zu falschen Signalen führt.

  • Das Doppelsignal kann zu viele Trades filtern.

Gegenmaßnahmen:

  • Feinabstimmungsparameter, kombiniere andere Faktoren, um Umkehrungen zu bestätigen.

  • Verwenden Sie Stop-Loss, um Verluste zu kontrollieren.

  • Anpassung der Regeln, um mehr Handelsmöglichkeiten zu ermöglichen.

Möglichkeiten zur Verbesserung

Die Strategie kann in folgenden Bereichen verbessert werden:

  1. Versuche verschiedene Stochastische Parameterkombinationen, um die Empfindlichkeit bei der Identifizierung von Umkehrungen zu verbessern.

  2. Verschiedene gleitende Durchschnitte oder längerfristige Indikatoren testen, um den Gesamttrend besser abzuschätzen.

  3. Hinzufügen anderer Faktoren zur Bestimmung der Marktstruktur, z. B. Volumenindikatoren.

  4. Optimieren Sie die Doppelsignalregeln, um mehr Trades zu erfassen.

  5. Einbeziehung von Stop-Loss zur Risikomanagement.

Schlussfolgerung

Die Strategie des Reversal Dynamic Pivot Points Exponential Moving Average kombiniert die Stärken des Reversal-Tradings und der dynamischen Support-Widerstandsanalyse. Sie kann von wichtigen Trendwendepunkten profitieren und auch die Intraday-Richtung gegen Schlüsselniveaus messen. Durch die Nutzung eines Dual-Signal-Mechanismus hat sie eine gute Stabilität beim Filtern falscher Trades. Die Strategie kann durch Optimierung von Parametern, Testen zusätzlicher Filter usw. weiter optimiert werden, um die Leistung zu verbessern.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/03/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
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// 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

DPP() =>
    pos = 0
    xHigh  = security(syminfo.tickerid,"D", high[1])
    xLow   = security(syminfo.tickerid,"D", low[1])
    xClose = security(syminfo.tickerid,"D", close[1])
    vPP = (xHigh+xLow+xClose) / 3
    vR1 = vPP+(vPP-xLow)
    vS1 = vPP-(xHigh - vPP)
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

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