
Diese Strategie kombiniert hauptsächlich zwei verschiedene Arten von Strategie-Signalen, um die Überschneidung von Strategie-Signalen zu erreichen, um die Signalqualität zu verbessern. Die erste Signalstrategie ist die Überschreiten-Umkehr-Strategie, die zweite Signalstrategie ist die Dreißig-Oscillator-Strategie.
Die Strategie stammt aus dem Buch “Wie kann ich dreimal so viel Gewinn am Futures-Markt erzielen?” auf Seite 183. Die Strategie ist vom Umkehrungs-Typ. Die spezifische Logik lautet: Wenn der Schlusskurs zwei Tage in Folge höher ist als der Schlusskurs des Vortages und die langsame K-Linie am neunten Tag unter 50 liegt, macht man mehr; wenn der Schlusskurs zwei Tage in Folge unter dem Schlusskurs des Vortages liegt und die schnelle K-Linie am neunten Tag über 50 liegt, macht man null.
Die Strategie nutzt die Differenz zwischen dem 3-Tage-Mittelwert und dem 10-Tage-Mittelwert, um den Indikator zu erstellen. Im Einzelnen wird der 3-Tage-Indikator-Moving-Average minus der 10-Tage-Indikator-Moving-Average als schnelle Linie ermittelt, dann wird der 16-Tage-Simple-Moving-Average für die schnelle Linie erstellt, um eine langsame Linie zu erhalten. Wenn die schnelle Linie von unten nach oben überschreitet, machen Sie mehr; wenn die schnelle Linie von oben nach unten überschreitet, machen Sie eine Lücke.
Diese Kombination aus mehreren Strategien bietet folgende Vorteile:
Durch die Notwendigkeit, dass zwei Strategien gleichzeitig ein Gleichgewichtssignal geben, können die Auswirkungen von Falschsignalen in einer einzigen Strategie vermieden werden, wodurch die Signalzuverlässigkeit erhöht wird.
In Kombination mit den beiden Konzepten der Umkehrstrategie und der Trendstrategie kann man die strategischen Blindpunkte zu einem gewissen Grad reduzieren und eine umfassendere Marktperspektive erhalten.
Das Portfolio von Strategien zur Integration der Beteiligten kann je nach Bedarf angepasst werden, um verschiedene Arten von Strategien zu kombinieren und eine breitere Vielfalt von integrierten Strategien zu schaffen.
Die grundlegende Annahme dieser Strategie ist, dass mehrere Strategien einander bestätigen können. Theoretisch besteht jedoch die Möglichkeit, dass alle Strategien gleichzeitig falsche Signale senden.
Wenn zwei Strategie-Signale nicht übereinstimmen, ist es unmöglich zu entscheiden, welche Strategie zuverlässiger ist, und es besteht ein bestimmtes Entscheidungsrisiko.
Wenn die Parameter nicht korrekt eingestellt sind, können einige Strategien nicht funktionieren und die gewünschte Wirkung der Strategiekombination nicht erzielt werden.
Gegenmaßnahmen:
Erhöhung der Anzahl der Strategien und Mehrheitsbeschlüsse
Setzen Sie einen Stop-Loss-Punkt, um den Verlust eines einzelnen Signals zu steuern
Optimierung von Parametern, um sicherzustellen, dass die Strategie funktioniert
Die Strategie kann auch in folgenden Richtungen optimiert werden:
Es können weitere verschiedene Arten von Strategien hinzugefügt werden, um eine Kombination von Strategien zu bilden, die die Signalqualität weiter verbessern.
Je nach Marktsituation kann man einige Vorbedingungen einstellen, wie z. B. einen Großportfilter, um eine Position unter unangemessenen Bedingungen zu vermeiden.
Die unterschiedlichen Strategien können ihre Gewichtsbeteiligung anhand ihrer bisherigen Leistung dynamisch anpassen, so dass die besser leistenden Strategien eine größere Rolle spielen.
Die Parameter innerhalb der Strategien können durch eine systematischere Methode sorgfältig getestet und optimiert werden, um die besten Parameter zu erhalten.
Diese Strategie gehört zu den Komplexstrategien der Multi-Strategie-Überlagerung. Sie integriert zwei Unterstrategien der Cross-Trend-Umkehr-Strategie und der Dreißig-Schwingungs-Strategie, die durch die Synchronisierung ihrer Handelssignale Handelsanweisungen erzeugen können, um die falschen Signale in einer einzigen Strategie effektiv zu entfernen und die Signalqualität zu verbessern. Im Vergleich zu einer einzigen Strategie hat diese Strategie-Kombinationsart Vorteile wie höhere Signalzuverlässigkeit und größere Fehlerfähigkeit.
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-18 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 04/12/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
// TradeStation does not allow the user to make a Multi Data Chart with
// a Tick Bar Chart and any other type a chart. This indicator allows the
// user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
// Walter Bressert's 3-10 Oscillator is a detrending oscillator derived
// from subtracting a 10 day moving average from a 3 day moving average.
// The second plot is an 16 day simple moving average of the 3-10 Oscillator.
// The 16 period moving average is the slow line and the 3/10 oscillator is
// the fast line.
// For more information on the 3-10 Oscillator see Walter Bressert's book
// "The Power of Oscillator/Cycle Combinations"
//
// 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
D_Three(Length1, Length2, Length3) =>
pos = 0.0
xPrice = security(syminfo.tickerid,"D", hl2)
xfastMA = ema(xPrice, Length1)
xslowMA = ema(xPrice, Length2)
xMACD = xfastMA - xslowMA
xSignal = sma(xMACD, Length3)
pos := iff(xSignal > xMACD, -1,
iff(xSignal < xMACD, 1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & D_Three Ten Osc", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length1 = input(3, minval=1)
Length2 = input(10, minval=1)
Length3 = input(16, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_Three = D_Three(Length1, Length2, Length3)
pos = iff(posReversal123 == 1 and posD_Three == 1 , 1,
iff(posReversal123 == -1 and posD_Three == -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 )