
Die Quantitative Dual Factor Reversal Inertia Trading Strategy ist eine quantitative Trading-Strategie, die sowohl Preis-Reversal- als auch Markt-Inertie-Signale kombiniert. Die Strategie nutzt zunächst ein Zufallsindikator, um ein Preis-Reversal-Signal zu erzeugen, und kombiniert dann ein Markt-Inertie-Signal mit einem Relativ-Volatilitätsindikator, um schließlich eine binäre Faktor-getriebene Handelsentscheidung zu erreichen.
Die Strategie basiert auf zwei Teilen:
Der Preiswechsel basiert zum Teil auf den Ideen von Ulf Jensen, der in seinen Schriften schreibt: Wenn der Schlusskurs 2 Tage in Folge steigt und der Slow Stochastic am 9. Tag unter 50 liegt, machen Sie mehr; Wenn der Schlusskurs 2 Tage in Folge fällt und der Fast Stochastic am 9. Tag über 50 liegt, machen Sie leer.
Der Marktinerie-Teil verwendet den Relative Volatility Index (RVI). Dieser Indexwert schwankt zwischen 0 und 100, wobei ein Wert über 50 eine steigende langfristige Marktentwicklung darstellt. Ein Wert unter 50 eine rückläufige langfristige Marktentwicklung.
Insgesamt integriert diese Strategie die Preisumkehrsignale und die Marktinerzitätssignale, um die aktuelle Marktrichtung zu bestimmen. Wenn die beiden Signale übereinstimmen, wird ein Handelssignal erzeugt.
Der größte Vorteil dieser Strategie liegt in der Kombination von Umkehr- und Trend-Trading. Umkehrsignale können kurzfristige Anpassungen erfassen und Handelsmöglichkeiten bieten. Inertialsignale sorgen dafür, dass Positionen nur dann eröffnet werden, wenn ein langfristiger Trend übereinstimmt.
Darüber hinaus bietet die Doppelfaktor-Driven-Technologie die Möglichkeit, die Signalqualität zu verbessern, während die Optimierung der stochastischen Indikatorparameter und die RVI-Gleichungsoptimierung Raum für die Optimierung der Strategie bieten.
Die wichtigsten Risiken dieser Strategie sind:
Risiko für ungenaue Erkennung von Kehrsignalen. Es muss überprüft werden, ob die Parameter vernünftig sind.
Inertial Signal ist gefährdet, falsche Signale zu senden. Die RVI-Indikatoren selbst sind nachlässig und müssen die Gleitparameter anpassen.
Unzulängliche Zeit-Matching von Doppelfaktorsignalen, Gefahr verpasster Handelschancen. Die Matching muss unter verschiedenen Parametern getestet werden.
Darüber hinaus besteht die Gefahr, dass die Verlustgefahr bei einem Trendmarkt steigt. Die Stop-Loss-Regeln müssen streng eingehalten werden.
Die Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Parameter des Stochastic-Indikators, um die Qualität und Aktualität des Umkehrsignals zu erkennen.
Optimierung der Gleitparameter der RVI-Indikatoren, um die Genauigkeit der Inergie-Beschlüsse zu verbessern.
Verschiedene Haltezeiten werden getestet, um die optimale Haltezeit zu bestimmen.
Ein Stop-Loss-Mechanismus wird eingesetzt, um die verschiedenen Stop-Loss-Punkte zu testen und die optimale Stop-Loss-Position zu finden.
Es kann in Erwägung gezogen werden, andere Faktoren zu berücksichtigen, z. B. die Dynamik des Handelsvolumens, um einen Multifaktor-Dreif zu bilden.
Die Quantifizierung der Binärfaktor-Umkehr-inerativen Handelsstrategie berücksichtigt die Umkehr- und Trendfaktoren und erzeugt Handelssignale mit Stochastic- und RVI-Indikatoren. Die Strategie hat die Vorteile des Binärfaktor-Antriebs, der Umkehr-Chancenerfassung und der Signalfilterung und kann durch die Optimierung vielseitiger Parameter weiter verbessert werden. Die Risikokontrolle ist besonders wichtig und erfordert eine strenge Durchführung von Stop-Losses.
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 27/11/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
// The inertia indicator measures the market, stock or currency pair momentum and
// trend by measuring the security smoothed RVI (Relative Volatility Index).
// The RVI is a technical indicator that estimates the general direction of the
// volatility of an asset.
// The inertia indicator returns a value that is comprised between 0 and 100.
// Positive inertia occurs when the indicator value is higher than 50. As long as
// the inertia value is above 50, the long-term trend of the security is up. The inertia
// is negative when its value is lower than 50, in this case the long-term trend is
// down and should stay down if the inertia stays below 50.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
//
// 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
Inertia(Period, Smooth) =>
pos = 0.0
nU = 0.0
nD = 0.0
xPrice = close
StdDev = stdev(xPrice, Period)
d = iff(close > close[1], 0, StdDev)
u = iff(close > close[1], StdDev, 0)
nU := (13 * nz(nU[1],0) + u) / 14
nD := (13 * nz(nD[1],0) + d) / 14
nRVI = 100 * nU / (nU + nD)
nRes = ema(nRVI, Smooth)
pos :=iff(nRes > 50, 1,
iff(nRes < 50, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Inertia Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(10, minval=1)
Smooth = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posInertia = Inertia(Period, Smooth)
pos = iff(posReversal123 == 1 and posInertia == 1 , 1,
iff(posReversal123 == -1 and posInertia == -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 )