
Bestätigungs-Spread-Strategie verwendet die doppelte Spread-Signal der RSI und Awesome Oscillator-Indikator, um zuverlässiger Eintrittszeit zu bestimmen. Wenn die Preise bilden neue hohe oder niedrige, und die RSI und AO-Indikator bilden eine umgekehrte Hochs oder Tiefs, ist die Spread-Signal. Diese Strategie erfordert, dass die beiden Indikatoren gleichzeitig zu verbreiten, so dass einige falsche Signale zu filtern und die Markteintrittswirkung zu verbessern.
Die Strategie basiert auf der Differenz zwischen den Preisschwankungen und den Werten des RSI und des AO-Indikators, um einen Kauf- und Verkaufspunkt zu bestimmen. Die spezifischen Beurteilungsmethoden sind wie folgt:
Multiple Hairspray: Die Preise bilden neue, kürzere Tiefs, während der RSI und der AO neue, kürzere Höchststände bilden, d.h. die Preise fallen und der RSI und der AO steigen, was ein Multiple Hairspray Signal darstellt.
Blank-Haar-Ausbreitung: Die Preise bilden neue Höchststände, während der RSI und der AO neue Tiefststände bilden, d. h. die Preise steigen, während der RSI und der AO fallen, was ein Blank-Haar-Ausbreitungssignal darstellt.
Die Strategie erfordert, dass beide Indikatoren gleichzeitig die Streuungsbedingungen erfüllen, um Fehlsignale zu vermeiden, die durch die falsche Streuung eines einzelnen Indikators verursacht werden. Wenn ein Streuungssignal erstellt wird, wird ein Stop-Loss-Buch in der Nähe der Unterbahn oder der Oberbahn mit Brin eingerichtet, wobei der spezifische Stop-Loss-Punkt oberhalb der Unterbahn oder unterhalb der Oberbahn liegt.
Diese Strategie hat folgende Vorteile:
Die Doppelindikator-Filter erhöhen die Signalsicherheit und verhindern das Fehlsignal eines einzelnen Indikators.
Die Differenz der Indizes wird verwendet, um die Kauf- und Verkaufspunkte zu bestimmen, die Rücknahme ist weniger wahrscheinlich.
Die Ausstrahlungssignale haben eine gute Kontinuität und einen großen Gewinnraum.
Ein Stop-Loss in der Nähe von wichtigen Unterstützungs- oder Widerstandspunkten reduziert die Wahrscheinlichkeit von individuellen Verlusten.
Die Strategie birgt auch einige Risiken:
Doppelte Filterbedingungen sind weniger zeitlich verbindlich und können einige Handelschancen verpassen.
Die Ausbreitung ist nicht hundertprozentig zuverlässig und kann in einigen Fällen zu Verlusten führen.
Eine falsche Einstellung der Parameter des Brinbands kann dazu führen, dass die Stop-Loss zu locker oder zu eng ist.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Anpassung der Periodiparameter für die Ausstrahlungsbeurteilung und Optimierung der Parameter für die Ausstrahlungssignale.
Verschiedene Stop-Methoden, wie Trailing Stops oder Dynamische Stopps, werden getestet.
Die zusätzliche Filterung anderer Indikatoren, wie beispielsweise der Transaktionsmenge, verbessert die Signalsicherheit weiter.
Trends, Unterstützungswiderstände und andere Faktoren werden berücksichtigt, um die Qualität der Ausstrahlung zu identifizieren.
Bestätigung der Spread-Strategie durch die doppelte Spread-Signal von RSI und AO zu entscheiden, wann es an der Zeit ist, die doppelte Filtermechanismus effektiv zu reduzieren falsche Signale, die Gewinnwahrscheinlichkeit zu erhöhen. Die Strategie ist auch in der Schlüsselposition Stop-Loss-Satz, um Risiken zu kontrollieren, mit besseren Risiko-Gewinn-Eigenschaften. Durch Parameter-Optimierung, erhöhen Sie die Signal-Filterung und andere Mittel, können die Strategie Stabilität und die Handelswirksamkeit 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)