
Die Strategie verwendet die Kombination von Aktienpreis-Rückwärtsfaktoren und Dynamikfaktoren, um ein Doppelfaktormodell zu erstellen, um die Chancen für kurzfristige Marktrückwärtswirkungen und mittelfristige Persistenz zu erfassen. Die Strategie nutzt zunächst die 123-Form, um die jüngsten Preisrückwärtswirkungen zu ermitteln, und kombiniert diese mit dem Laguerre RSI-Indikator, um die mittelfristigen Trends zu ermitteln.
Die Strategie besteht aus zwei Teilen:
Dieser Abschnitt beurteilt die kurzfristigen Kursumkehrsignale, indem er die Kursveränderungen der letzten zwei Tage beurteilt. Insbesondere kann ein Kursumkehrsignal als Kursumkehrsignal beurteilt werden, wenn der Kursumkehrkurs des letzten Tages niedriger als der der letzten zwei Tage ist und der heutige Kursumkehrkurs höher als der des vorherigen Tages ist. Der Stoch-Indikator dient als Hilfsmittel.
Der Abschnitt baut eine empfindlichere Form des RSI auf. Der traditionelle RSI ist weniger empfindlich auf Preisänderungen, während der Lagrange-Filter mit weniger historischen Daten gebaut werden kann, um die Sensitivität auf Preisänderungen zu erhöhen. Der neue RSI wird verwendet, um mittlere und lange Trends zu beurteilen.
Letztendlich kombiniert die Strategie die beiden Signale, um sicherzustellen, dass der große Trend nicht umgekehrt wird, während die kurzfristige Umkehr stattfindet, um so die Chance auf einen Aufprall zu ergreifen.
Der größte Vorteil dieser Strategie liegt in der erfolgreichen Kombination von Reversal- und Trendfaktoren. Der Reversal-Faktor erfasst kurzfristige Rebound-Gelegenheiten, während der Trendfaktor sicherstellt, dass sich die Richtung von Über-/Lowtrading nicht ändert. Im Gegensatz zu einem einzigen Reversal- oder Momentummodell kann das Doppelfaktor-Modell die Akkurateit von Über-/Lowtrading verbessern, unter der Voraussetzung, dass falsche Signale reduziert werden.
Darüber hinaus erhöht die Einbeziehung des RSI-Indikators die Sensitivität des Modells gegenüber Preisänderungen, was für den Hochfrequenzhandel besonders wichtig ist.
Das Hauptrisiko dieser Strategie besteht darin, dass die doppelte Faktorsignale möglicherweise auseinandergehen. Besonders während der Marktausbewegung kann es zu einer Veränderung der mittleren Trendlinie kommen, während die kurzfristigen Preise häufig umkehren. In diesem Fall besteht die höchste Wahrscheinlichkeit für eine falsche Kombination oder Verzögerung der beiden Signale. Dies führt dazu, dass die Strategie falsche Signale erzeugt, wodurch die optimale Einstiegsmomente verpasst oder unnötige Verluste verursacht werden.
Darüber hinaus kann die falsche Auswahl von Parametern zu einer schlechten Strategie führen. Technische Indikatorparameter, die den Umkehrfaktoren und den Trendfaktoren entsprechen, müssen jeweils optimiert und getestet werden. Eine falsche Kombination von Parametern kann die Strategie stark beeinträchtigen.
Die nächste Optimierung der Strategie konzentriert sich hauptsächlich auf die Signalfilterung und die Parameterwahl. Es kann in Betracht gezogen werden, weitere Filterbedingungen hinzuzufügen, die bei einer Abweichung des Doppelfaktorsignals eine Rolle spielen und sicherstellen, dass die Position nur in einem Szenario mit hoher Sicherheit geöffnet wird. Dies kann die Fehlsignalrate erheblich reduzieren.
Bei der Parameterwahl können Methoden des maschinellen Lernens und wissenschaftlicher Experimente ausprobiert werden, um verschiedene Parameterkombinationen systematisch zu testen und die optimale Parameter zu finden. Dies erfordert eine hohe Rechenleistung, kann aber die Strategie-Stabilität erheblich verbessern.
Die Strategie kombiniert erfolgreich Reversal- und Trendfaktoren, um kurzfristige Rebound- und mittelfristige Persistenzchancen durch ein Dual-Factor-Modell zu erfassen. Der hinzugefügte RSI-Lager-Filter erhöht auch die Sensitivität des Modells gegenüber Preisänderungen. Die nächsten Schritte konzentrieren sich auf die Signalfilterung und Optimierung der Parameter, um die Effektivität der Strategie weiter zu verbessern.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 21/01/2021
// 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 is RSI indicator which is more sesitive to price changes.
// It is based upon a modern math tool - Laguerre transform filter.
// With help of Laguerre filter one becomes able to create superior
// indicators using very short data lengths as well. The use of shorter
// data lengths means you can make the indicators more responsive to
// changes in the price.
//
// 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
LB_RSI(gamma,BuyBand,SellBand) =>
pos = 0.0
xL0 = 0.0
xL1 = 0.0
xL2 = 0.0
xL3 = 0.0
xL0 := (1-gamma) * close + gamma * nz(xL0[1], 1)
xL1 := - gamma * xL0 + nz(xL0[1], 1) + gamma * nz(xL1[1], 1)
xL2 := - gamma * xL1 + nz(xL1[1], 1) + gamma * nz(xL2[1], 1)
xL3 := - gamma * xL2 + nz(xL2[1], 1) + gamma * nz(xL3[1], 1)
CU = (xL0 >= xL1 ? xL0 - xL1 : 0) + (xL1 >= xL2 ? xL1 - xL2 : 0) + (xL2 >= xL3 ? xL2 - xL3 : 0)
CD = (xL0 >= xL1 ? 0 : xL1 - xL0) + (xL1 >= xL2 ? 0 : xL2 - xL1) + (xL2 >= xL3 ? 0 : xL3 - xL2)
nRes = iff(CU + CD != 0, CU / (CU + CD), 0)
pos := iff(nRes > BuyBand, 1,
iff(nRes < SellBand, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Laguerre-based RSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
gamma = input(0.5, minval=-0.1, maxval = 0.9)
BuyBand = input(0.8, step = 0.01)
SellBand = input(0.2, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLB_RSI = LB_RSI(gamma,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posLB_RSI == 1 , 1,
iff(posReversal123 == -1 and posLB_RSI == -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 )