Bestätigte Divergenzstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-15 15:19:56
Tags:

img

Übersicht

Die Konfirmierte Divergenzstrategie nutzt die Doppeldivergenzsignale des RSI-Indikators und des Awesome Oscillators, um zuverlässigere Einstiegspunkte zu bestimmen. Wenn die Preise neue Höchst- oder Tiefstände bilden, während die RSI- und AO-Indikatoren Höchst- oder Tiefstände umkehren, ist dies ein Divergenzsignal. Diese Strategie erfordert die Divergenz beider Indikatoren gleichzeitig, um einige falsche Signale auszufiltern und die Einstiegseffizienz zu verbessern.

Strategieprinzip

Diese Strategie beurteilt Kauf- und Verkaufspunkte anhand der Differenz zwischen der Größenordnung der Preissteigerungen und -rückgänge und den Werten der RSI- und AO-Indikatoren.

Aufwärtsdivergenz: Die Preise bilden ein neues Tief, während RSI und AO neuere Höchststände bilden, d. h. die Preise fallen, während RSI und AO steigen, was ein Aufwärtsdivergenzsignal darstellt.

Bei einer niedrigeren Divergenz bilden die Preise ein neues Hoch, während RSI und AO neuere Tiefststände bilden, d. h. die Preise steigen, während RSI und AO fallen, was ein niedrigeres Divergenzsignal darstellt.

Die Strategie erfordert, dass beide Indikatoren gleichzeitig die Divergenzkriterien erfüllen, um fehlerhafte Signale aus falscher Divergenz eines einzelnen Indikators zu vermeiden.

Analyse der Vorteile

Diese Strategie hat folgende Vorteile:

  1. Die doppelte Indikatorfilterung erhöht die Zuverlässigkeit der Signale und verhindert falsche Divergenzsignale aus einem einzigen Indikator.

  2. Die Verwendung der Divergenzmerkmale der Indikatoren zur Bestimmung von Kauf- und Verkaufspunkten hat eine relativ geringe Rücknahmechance.

  3. Divergenzsignale haben eine gute Nachhaltigkeit und ein größeres Gewinnpotenzial.

  4. Die Einstellung von Stop-Loss in der Nähe der wichtigsten Unterstützung oder des Widerstands reduziert die Möglichkeit individueller großer Verluste.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Die Voraussetzungen für die Doppelfilterung werden seltener erfüllt und möglicherweise einige Handelsmöglichkeiten verpasst.

  2. Die Abweichung ist kein zuverlässiges Signal zu 100%, und in einigen Einzelfällen können Verluste auftreten.

  3. Bei unzulässigen Parameter-Einstellungen für Bollinger-Bänder kann es zu einem zu lockeren oder zu engen Stop-Loss kommen.

Optimierungsrichtlinien

Diese Strategie kann auf verschiedene Weise optimiert werden:

  1. Anpassung der Zyklusparameter zur Beurteilung der Divergenz zur Optimierung der Parameter für die Divergenzsignale.

  2. Versuche verschiedene Stop-Loss-Methoden wie Trailing-Stop oder Dynamic-Stop-Loss.

  3. Erhöhung der Filterung nach anderen Indikatoren wie dem Handelsvolumen zur weiteren Verbesserung der Signalzuverlässigkeit.

  4. Umfassende Berücksichtigung von Trends, Unterstützung/Widerstand und anderen Faktoren zur Bestimmung der Qualität der Divergenzsignale.

Zusammenfassung

Die Konfirmierte Divergenzstrategie bestimmt die Einstiegspunkte durch die doppelten Divergenzsignale von RSI und AO. Der doppelte Filtermechanismus reduziert effektiv falsche Signale und erhöht die Rentabilität. Die Strategie setzt außerdem Stopp-Loss auf Schlüsselniveaus, um Risiken zu kontrollieren, mit guten Risiko-Renditeigenschaften. Durch Parameteroptimierung, erhöhte Signalfilterung usw. kann die Stabilität und der Handelseffekt der Strategie weiter verbessert werden.


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

//@version=3
strategy("Confirmed Divergence Strategy", overlay=true)
source = close
length = input(30, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
// SETTING UP VARIABLES //

src = close

// RSI //
rsiprd = input(title="RSI period",defval=14)
rv = rsi(src,rsiprd)
ob = input(title="Overbought Level",  defval=70)
os = input(title="Oversold Level",  defval=30)
lengthAO1=input(title="Awesome Short MA", defval=5, minval=1) //5 periods
lengthAO2=input(title="Awesome Long MA", defval=34, minval=1) //34 periods


//Awesome//

AO = sma((high+low)/2, lengthAO1) - sma((high+low)/2, lengthAO2)

// look back periods //
x = input(title = "short lookback period",defval=5)
z = input(title = "long lookback period",defval=25)


// END SETUP //

////////////////////////
// BULLISH DIVERGENCE //
////////////////////////

// define lower low in price //

srcLL = src > lowest(src,x) and  lowest(src,x)<lowest(src,z)[x]

// define higher low in rsi //

rsiHL = rv>lowest(rv,x) and lowest(rv,x) > lowest(rv,z)[x] and lowest(rv,z)<os

// define higher low in AO //


aoHL = AO > lowest(AO,x) and lowest(AO,x) > lowest(AO,z)[x] and lowest(AO, x) < 0



BullishDiv = srcLL and rsiHL and aoHL


////////////////////////
// BEARISH DIVERGENCE //
////////////////////////

// define higher high in price //

srcHH = src < highest(src,x) and  highest(src,x)>highest(src,z)[x]

// define lower high in RSI //

rsiLH = rv<highest(rv,x) and highest(rv,x) < highest(rv,z)[x] and highest(rv,z)>ob

// define lower high in AO //
aoLH = AO<highest(AO,x) and highest(AO,x) < highest(AO,z)[x] and highest(AO, x) > 0

BearishDiv = srcHH and rsiLH and aoLH


basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev



if (BullishDiv)
    strategy.entry("DivLE", strategy.long, stop=lower, oca_name="BullishDiv",comment="DivLE")
else
    strategy.cancel(id="DivLE")
    
if (crossover(close, lower))
    strategy.close("DivSE")
    
if (crossunder(close, upper))
    strategy.close("DivLE")

if (BearishDiv)
    strategy.entry("DivSE", strategy.short, stop=upper, oca_name="BearishDiv",comment="DivSE")
else
    strategy.cancel(id="DivSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)


Mehr