
Die Dual-Base-Indicator-Follow-Strategie ist eine Strategie für den quantitativen Handel mit digitalen Währungen. Die Strategie erzeugt ein Handelssignal durch die Kombination von Signalen aus zwei Basisindikatoren, dem 123 Reverse Indicator und dem Qstick Indicator, und entscheidet über den Eintritt aufgrund der Konsistenz der beiden Indikatoren.
Die Strategie besteht aus zwei Teilen:
Das Handelssignal für diesen Indikator stammt von den Schlusskursen der letzten beiden K-Linien. Es wird ein Handelssignal erzeugt, wenn die Schlusskurse der letzten beiden K-Linien sich umkehren (d. h. der Schluskurs von oben nach unten oder von unten nach oben wechselt) und gleichzeitig die Bedingungen des zufälligen Indikators erfüllen.
Konkret heißt das, wenn der Schlusskurs in den ersten beiden Tagen gefallen ist, steigt der Schlusskurs heute an, während die zufällige langsame Linie am 9. Tag unter 50 liegt, was ein Kaufsignal erzeugt. Wenn der Schlusskurs in den ersten beiden Tagen gestiegen ist, sinkt der Schlusskurs heute, während die zufällige schnelle Linie am 9. Tag über 50 liegt, was ein Verkaufssignal erzeugt.
Der Indikator beurteilt die Stärke von Mehrköpfen und Leerköpfen durch die Berechnung eines einfachen Moving Averages der Differenz zwischen dem Öffnungs- und dem Schlusskurs. Durch das Durchlaufen der Null-Achse erzeugt er ein Handelssignal.
Wenn der Qstick die Null-Achse überschreitet, erhöht sich die Mehrkopfkraft und erzeugt ein Kaufsignal. Wenn der Qstick die Null-Achse unterschreitet, erhöht sich die Leerkopfkraft und erzeugt ein Verkaufssignal.
Der Binäre Basis-Indikator folgt einer Strategie, die die Handelssignale des 123 Reversal-Indikators und des Qstick-Indikators zusammenfasst und entsprechende Handelsmaßnahmen ergreift, wenn die beiden Signale übereinstimmen.
Der Dual-Base-Indikator folgt einer Strategie, die Signale aus zwei verschiedenen Arten von Indikatoren kombiniert, um die Genauigkeit der Handelssignale zu verbessern. Im Vergleich zu einem einzelnen Indikator kann er die Fehlsignale effektiv reduzieren und eine höhere Gewinnrate erzielen.
Außerdem kann die Strategie nur eingesetzt werden, wenn die beiden Kennzeichen übereinstimmen, um das Risiko wirksam zu kontrollieren und die Doppelbasisunterschiede zu verhindern.
Die Parameter der beiden Indikatoren können durch Parameteroptimierung angepasst werden, um die Frequenz und den Rhythmus der Signale zu harmonisieren.
Es kann eine Mindesthaltungsphase eingestellt werden, um die häufige Widerrufung und Einrichtung von Mandaten zu vermeiden.
Optimierung der Längenparameter der beiden Indikatoren, um die beste Kombination zu finden
Verschiedene Parameterkonfigurationen für Zufallsindikatoren testen
Einstieg in die Stop-Loss-Strategie
Dual-Basis-Indikatoren folgen einer Strategie, die durch die Kombination von mehreren Basis-Indikatoren die Vorteile nutzt, um die Signalqualität zu verbessern und gleichzeitig ein höheres Einkommen zu erzielen, während das Risiko kontrolliert wird. Die Strategie hat Raum für weitere Parameteroptimierungen und Strategieoptimierungen, die durch Tests zu einer stabileren und zuverlässigeren Strategie führen können.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 24/05/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
// A technical indicator developed by Tushar Chande to numerically identify
// trends in candlestick charting. It is calculated by taking an 'n' period
// moving average of the difference between the open and closing prices. A
// Qstick value greater than zero means that the majority of the last 'n' days
// have been up, indicating that buying pressure has been increasing.
// Transaction signals come from when the Qstick indicator crosses through the
// zero line. Crossing above zero is used as the entry signal because it is indicating
// that buying pressure is increasing, while sell signals come from the indicator
// crossing down through zero. In addition, an 'n' period moving average of the Qstick
// values can be drawn to act as a signal line. Transaction signals are then generated
// when the Qstick value crosses through the trigger line.
//
// 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
Qstick(Length) =>
pos = 0.0
xR = close - open
xQstick = sma(xR, Length)
pos:= iff(xQstick > 0, 1,
iff(xQstick < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Qstick Indicator", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Qstick Indicator ----")
LengthQ = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posQstick = Qstick(LengthQ)
pos = iff(posReversal123 == 1 and posQstick == 1 , 1,
iff(posReversal123 == -1 and posQstick == -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 )