Übersicht: Die Double K Crossbow-Strategie kombiniert die 123 Reversal-Strategie und die Special K-Strategie von Martin Pring
Strategie Logik:
Die Double K Armbrust besteht aus zwei Teilen:
123 Umkehrstrategie: Sie identifiziert Kauf- und Verkaufssignale basierend auf 2 aufeinanderfolgenden Tagen der Schlusskursumkehrung, kombiniert mit stochastischen Oszillatorenlesungen. Sie erzeugt ein Kaufsignal, wenn der Schluss höher als der vorherige Schlusskurs für 2 Tage und der stochastische Wert unter 50 ist, was auf Konsolidierung hinweist. Sie erzeugt ein Verkaufssignal, wenn der Schlusskurs niedriger als der vorherige Schlusskurs für 2 Tage und der stochastische Wert über 50 ist, was auf Verteilung hinweist.
Martin Pring
Der Double K Crossbow konsolidiert die Signale beider Strategien und erfordert eine Einigung, um tatsächliche Trades auszulösen.
Vorteilsanalyse:
Kombiniert Signale aus zwei Strategien für einen zuverlässigeren Handelseingang und -ausgang.
123 Umkehrung erfasst kurzfristige Umkehrungen, während Special K langfristige Trends beurteilt.
Mehrzeitrahmenveränderungsrate bietet Einblick in die Marktzyklen.
Optimierbare stochastische Parameter passen sich unterschiedlichen Marktbedingungen an.
Risikoanalyse:
Konsolidierende Signale können einige Kauf-/Verkaufspunkte verpassen und kurzfristige Bewegungen verzögern.
Strategie kann bei Ausreißereignissen uneins werden, was ein Urteilsvermögen über die Richtung erfordert.
Es bedarf einer Überwachung und Optimierung der Parameter für beide Strategien, was die Komplexität erhöht.
Eine falsche Optimierung von kurz- und langfristigen Parametern kann Zykluswendepunkte verpassen.
Möglichkeiten zur Verbesserung:
Versuche verschiedene Parameterkombinationen, um optimale Einstellungen zu finden.
Hinzufügen eines Stop-Loss-Moduls zur Begrenzung von Verlusten.
Hinzufügen eines Positionsgrößenmoduls zur Anpassung an die Marktbedingungen.
Einbeziehung von maschinellem Lernen für eine robustere Signalmodellierung.
Adaptive Optimierung hinzufügen, um dynamisch Marktrhythmen zu verfolgen.
Schlussfolgerung:
Der Double K Crossbow kombiniert erfolgreich die Stärken von Umkehr- und zyklischen Strategien für qualitativ hochwertige Signale und Multi-Timeframe-Gewinnchancen. Der neuartige Ansatz lohnt sich als stabile Strategie weiter zu testen und zu optimieren.
/*backtest start: 2023-09-17 00:00:00 end: 2023-10-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 17/02/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 // Pring's Special K is a cyclical indicator created by Martin Pring. // His method combines short-term, intermediate and long-term velocity // into one complete series. Useful tool for Long Term Investors // Modified for any source. // // 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 MPSK(a, sources) => pos = 0.0 roc1 = (sma(roc(sources,10),10)*1) roc2 = (sma(roc(sources,15),10)*2) roc3 = (sma(roc(sources,20),10)*3) roc4 = (sma(roc(sources,30),15)*4) roc5 = (sma(roc(sources,40),50)*1) roc6 = (sma(roc(sources,65),65)*2) roc7 = (sma(roc(sources,75),75)*3) roc8 = (sma(roc(sources,100),100)*4) roc9 = (sma(roc(sources,195),130)*1) roc10 = (sma(roc(sources,265),130)*2) roc11 = (sma(roc(sources,390),130)*3) roc12 = (sma(roc(sources,530),195)*4) osc = roc1+roc2+roc3+roc4+roc5+roc6+roc7+roc8+roc9+roc10+roc11+roc12 oscsmt = sma(osc,a) pos := iff(osc > oscsmt, 1, iff(osc < oscsmt, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Martin Pring's Special K", 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, "---- Martin Pring`s ----") a = input(10, title = "Smooth" ) sources = input(title="Source", type=input.source, defval=close) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posMPSK = MPSK(a,sources) pos = iff(posReversal123 == 1 and posMPSK == 1 , 1, iff(posReversal123 == -1 and posMPSK == -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 )