Umkehrung und Schwerpunkt integrierte Handelsstrategie auf der Grundlage von Multi-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-03 16:51:03
Tags:

img

Übersicht

Diese Strategie realisiert stabilere und effizientere Handelsentscheidungen durch die Integration von dualen Handelssignalen. Eine ist die Umkehrstrategie, die Preisumkehrsignale und stochastische Indikatoren kombiniert, und die andere ist die Breakout-Strategie der Mittellinie und des Preiskanals. Die Handelssignale der beiden Strategien werden logisch ANDed sein, dh die Position wird nur geöffnet, wenn die beiden Strategien gleichzeitig Signale in die gleiche Richtung ausgeben. Diese Art von Multi-Strategie-Integration kann einige ungültige Signale filtern und zuverlässigere Handelsentscheidungen treffen.

Strategieprinzip

Der Umkehrstrategie-Teil erzeugt Handelssignale, wenn der Preis für zwei aufeinanderfolgende Handelstage ein Umkehrmuster zeigt und der stochastische Indikator in den Überkauf- oder Überverkaufsbereich eingetreten ist. Dies ermöglicht die Verwendung sowohl von Preisumkehrsignalen als auch von Überkauf/Überverkaufssignalen zur doppelten Bestätigung. Der Schwerpunktteil baut oberen und unteren Kanäle um die lineare Regressionsmittellinie des Preises herum, um Handelssignale zu erzeugen, wenn der Kanal gebrochen wird. Kanal-Breakout-Signale deuten auch darauf hin, dass die Preise beginnt, richtungsweisende Trendbewegungen zu erleben.

Die beiden Strategien erfassen jeweils Wert- und Trendchancen. Durch das logische ANDing der Strategie-Signale wird die Position nur geöffnet, wenn die beiden Strategien gleichzeitig Signale in die gleiche Richtung ausgeben. Dies kann einige ungültige Signale effektiv filtern und die endgültige Strategie zuverlässiger machen.

Analyse der Vorteile

Der größte Vorteil dieser Strategie ist die Stabilität und Zuverlässigkeit der Signale. Die Kombination von Umkehr- und Trendstrategien erfasst sowohl Umkehr- als auch Trendhandelsmöglichkeiten gleichzeitig, ohne dass wichtige Bewegungen verpasst werden.

Darüber hinaus erreicht die Kombination von Umkehr- und Trendstrategien auch stabile Operationen unter mehreren Zeitrahmen. Die Umkehrstrategie nutzt kurzfristige Überkauf-/Überverkaufssignale, während die Schwerpunktstrategie auf mittelfristigen und langfristigen gleitenden Durchschnitten basiert. Die komplementären Zeitrahmen können nachhaltige und stabile Handelsmöglichkeiten generieren.

Risikoanalyse

Das größte Risiko dieser Strategie ist das Versagen bei der Übereinstimmung von Signalen aus den zwei Strategien, was zu unzureichenden Handelssignalen führt. Dies kann passieren, wenn der Preis ohne einen klaren Richtungstrend im Bereich liegt und sich konsolidiert. Wenn der Preis für einen längeren Zeitraum in einem seitlichen Muster oszilliert, ist es schwierig, Umkehrsignale und Trendsignale zu erzeugen, was zu weniger Handelsmöglichkeiten führt.

Darüber hinaus kann der logische AND-Betrieb der dualen Strategien auch einige Chancen aus einer einzigen Strategie verpassen. Wenn nur eine Strategie ein gültiges Handelssignal generiert, wird keine Position eröffnet. Dies könnte zu bestimmten Opportunitätskosten führen.

Um die Risiken zu mindern, könnten die Parameter moderat gelockert werden, um die Strategiesignale leichter abzugleichen und Positionen zu eröffnen.

Optimierungsrichtlinien

Diese Strategie könnte in zweierlei Hinsicht optimiert werden:

Die erste ist die Optimierung der Parameter. Parameter, einschließlich der Stoch-Indikatoren und der Mittellinie-Kanäle, können weiter getestet und optimiert werden, um mehr ausgerichtete Signale zu erhalten. Dies kann durch mehr Backtests erreicht werden.

Zweitens ist die Einführung von Mechanismen ähnlich wie Aktienwahloperationen. Da diese Strategie für Aktien mit klaren Trends geeigneter ist. Wenn daher Aktien, die bestimmte Bedingungen erfüllen, auf der Grundlage spezifischer Indikatoren für den Handel ausgewählt werden können, würde dies die Gesamtstrategieleistung erheblich verbessern. Dies erfordert die Gestaltung eines Aktienwahlmoduls in Kombination mit Branchenrotationstrends, gleitenden Durchschnittssystemen usw.

Zusammenfassung

Diese Strategie ermöglicht die doppelte Bestätigung und die mehrjährige Abgleichung von Handelsentscheidungen durch die Integration von Umkehr- und Trendstrategien und stellt sich gleichzeitig dem Problem der reduzierten Handelschancen aufgrund der Schwierigkeit bei der Signal-Abgleichung.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/07/2019
// 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 indicator is based on moving averages. On the basis of these, the 
// "center" of the price is calculated, and price channels are also constructed, 
// which act as corridors for the asset quotations.
//
// 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

CenterOfGravity(Length, m,Percent, SignalLine) =>
    pos = 0
    xLG = linreg(close, Length, m)
    xLG1r = xLG + ((close * Percent) / 100)
    xLG1s = xLG - ((close * Percent) / 100)
    xLG2r = xLG + ((close * Percent) / 100) * 2
    xLG2s = xLG - ((close * Percent) / 100) * 2
    xSignalR = iff(SignalLine == 1, xLG1r, xLG2r)
    xSignalS = iff(SignalLine == 1, xLG1s, xLG2s)
    pos :=  iff(close > xSignalR, 1,
             iff(close < xSignalS, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Center Of Gravity", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCoF = input(20, minval=1)
m = input(5, minval=0)
Percent = input(1, minval=0)
SignalLine = input(1, minval=1, maxval = 2, title = "Trade from line (1 or 2)")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(LengthCoF, KSmoothing, DLength, Level)
posCenterOfGravity = CenterOfGravity(Length, m,Percent, SignalLine)
pos = iff(posReversal123 == 1 and posCenterOfGravity == 1 , 1,
	   iff(posReversal123 == -1 and posCenterOfGravity == -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 )

Mehr