
Dual-Signal-Quantitative-Umkehr-Strategie Durch die Kombination von 123 Umkehr-Strategie und Beschleuniger-Oscillator-Indikator, um die Beurteilung der Trend-Umkehr zu ermöglichen, erhalten Sie ein genaueres Handelssignal. Die Strategie wird hauptsächlich für die Kurz- und Mittellinien-Handel in Aktienindizes, Devisen, Edelmetallen und Energie Sorten.
Die Strategie besteht aus zwei unabhängigen Code-Logiken:
Der erste Teil ist die 123 Umkehrstrategie, die die Umkehrsignale auf folgende Weise beurteilt: Ein Mehrkopfsignal wird erzeugt, wenn der Schlusskurs zwei Tage in Folge unter dem vorherigen Schlusskurs liegt und die K-Linie des STOCH-Indexes am 9. Tag unter der D-Linie liegt; ein Hohlkopfsignal wird erzeugt, wenn der Schlusskurs zwei Tage in Folge über dem vorherigen Schlusskurs liegt und die K-Linie des STOCH-Indexes am 9. Tag über der D-Linie liegt.
Der zweite Teil ist der Beschleuniger-Oszillator-Indikator. Dieser Indikator spiegelt die Geschwindigkeit der Veränderung des absoluten Preis-Oszillators wider, indem er die Differenz zwischen dem absoluten Preis-Oszillator und seinem 5-Zyklus-Moving-Average berechnet, um den Trendwendepunkt im Voraus zu bestimmen.
Schließlich kombiniert die Strategie die Signale der beiden Indikatoren: Wenn die beiden Indikatoren gleichgerichtet sind, wird ein Handelssignal in diese Richtung ausgegeben; wenn die beiden Indikatoren nicht übereinstimmen, wird ein Nullsignal ausgegeben.
Die Strategie kombiniert doppelte Indikatoren, um bestimmte falsche Signale zu filtern, die genau und zuverlässig sind. Die absolute Preis-Oszillator nutzt die Eigenschaften der Beschleunigung der Veränderung, um potenzielle Trendwendepunkte im Voraus zu erfassen und so einen größeren Gewinnraum zu erlangen.
Das größte Risiko dieser Strategie besteht darin, dass der Preis bereits deutlich umgekehrt ist, bevor der Indikator sein Signal sendet, was dazu führt, dass der optimale Einstiegspunkt verpasst wird. Darüber hinaus müssen die Indikatorparameter bei starken Schwankungen optimiert werden.
Für Einstiegsrisiken kann eine Kombination mit mehr Umkehrindikatoren durchgeführt werden, um die Zuverlässigkeit des Signals zu gewährleisten. Für Parameteroptimierungsprobleme kann ein dynamischer Anpassungsmechanismus eingerichtet werden, um die Rationalität der Parameter zu gewährleisten.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Erhöhung der Filterbedingungen zur Vermeidung von Fehlsignalen während der Hochswingphase
Mehrfachüberprüfungsmechanismen in Kombination mit mehr Umkehrungskennzahlen
Einrichtung eines Anpassungsmechanismus für Parameter, um die Parameter der Indikatoren dynamisch anzupassen
Optimierung der Stop-Loss-Strategie zur Kontrolle von Einzelschlussen
Die Doppel-Signal-Quantifizierungs-Umkehrstrategie verbessert die Signalgenauigkeit durch Doppel-Verifizierung und hilft dabei, wichtige Marktumkehrpunkte zu erfassen. Gleichzeitig ist darauf zu achten, das Risiko von Verzögerungen der Indikatoren und Parameterfehlern zu vermeiden. Die Strategie wird kontinuierlich verifiziert und optimiert, damit sie sich an veränderliche Marktumgebungen anpasst.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/04/2019
// This is combo strategies for get
// a cumulative signal. Result signal will return 1 if two strategies
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// The Accelerator Oscillator has been developed by Bill Williams
// as the development of the Awesome Oscillator. It represents the
// difference between the Awesome Oscillator and the 5-period moving
// average, and as such it shows the speed of change of the Awesome
// Oscillator, which can be useful to find trend reversals before the
// Awesome Oscillator does.
//
// 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
AcceleratorOscillator(nLengthSlow, nLengthFast) =>
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes = xSMA1_SMA2 - xSMA_hl2
cClr = nRes > nRes[1] ? blue : red
pos = 0.0
pos := iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal and Accelerator Oscillator (AC)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posAcceleratorOscillator = AcceleratorOscillator(nLengthSlow, nLengthFast)
pos = iff(posReversal123 == 1 and posAcceleratorOscillator == 1 , 1,
iff(posReversal123 == -1 and posAcceleratorOscillator == -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 ? red: possig == 1 ? green : blue )