
Die Strategie ist eine Trend-Tracking-Strategie, die auf einer Gleichlinie basiert. Sie nutzt die Ichimoku-Cloud-Chart-Indikatoren, um die Richtung des Trends zu bestimmen, und kombiniert die 200-Tage-Moving-Average-Filtersignale, um den Trend zu verfolgen.
Die Strategie verwendet hauptsächlich die Umrechnungsgrenze und die Basislinie eines Cloud-Diagramms, um die Richtung des Trends zu bestimmen. Die Umrechnungsgrenze ist der mittlere Preisdurchschnitt der letzten 9 Tage, die Basislinie ist der mittlere Preisdurchschnitt der letzten 26 Tage.
Die Strategie verwendet auch 200-Tage-Moving Averages, um Signale zu filtern. Ein Kaufsignal wird nur erzeugt, wenn der Schlusskurs über der 200-Tage-Linie liegt. Dies filtert die meisten falschen Signale aus.
Beim Ausstieg wird die einfache Strategie verwendet, um die Basislinie unter der Umschaltung zu durchbrechen, um ein Gleichgewicht zu signalisieren.
Die Strategie kombiniert Trendschätzung mit einer Wolkenkarte und langfristige Trendschätzung mit einer 200-Tageslinie, um Trends effektiv zu verfolgen und den Großteil der Falschsignale zu filtern. Durch die Verwendung von mittleren Durchschnittsparametern kann der Einfluss von außergewöhnlichen Preisschwankungen auf die Mittellinie verringert werden.
Die Strategie kann Trendwendepunkte besser erfassen und so die Position rechtzeitig anpassen als die Verwendung von Indikatoren wie beispielsweise Moving Averages. Dies ist der größte Vorteil.
Die Strategie beruht auf der Trendendung durch die Cloud-Chart-Indikatoren, die aber selbst ein falsches Signal erzeugen. Wenn die Beurteilung abweicht, kann die Strategie zu Verlusten führen.
Darüber hinaus kann eine falsche Einstellung der Parameter zu schlechten Strategie-Performances führen. Wenn die Umschalungsparameter zu kurz sind, kann ein falsches Signal erzeugt werden. Wenn die Basisparameter zu lang sind, wird die Tracking-Effekt schlechter.
Es kann in Kombination mit anderen Indikatoren in Betracht gezogen werden, um die Signalqualität zu verbessern, z. B. der KDJ-Indikator, der überkaufende und überverkaufte Bereiche ermittelt, um ein Signal zu filtern. Oder der ATR-Indikator zur Einstellung eines Stop-Losses.
Die Parameter können in mehr Kombinationen getestet werden, z. B. die Anpassung der Umschaltlinie-Parameter an 5 oder 7 Tage, um ein sensibleres Handelssignal zu erhalten. Es kann auch getestet werden, die Basislinie-Parameter für etwa 20 Tage zu ändern, um die Tracking-Effekte auszugleichen.
Darüber hinaus kann man in bestimmten schwankenden Umgebungen auch die Strategie abschalten, um die Auswirkungen der extremen Situation zu vermeiden.
Die Strategie integriert die Vorzüge von Trendbeurteilungen und langfristigen Filterindikatoren, um die mittleren und langfristigen Trends wirksam zu verfolgen. Gleichzeitig müssen die Parameter-Einstellungen und Windkontrollmaßnahmen kontinuierlich optimiert werden, um die Auswirkungen von Fehlsignalen und Schwankungen zu reduzieren. Insgesamt kann die Strategie funktionieren und hat einen gewissen tatsächlichen Betriebswert.
/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="TK Cross > EMA200 Strat", overlay=true)
ema200 = ema(close, 200)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#0496ff, title="Conversion Line", linewidth=3)
plot(baseLine, color=#991515, title="Base Line", linewidth=3)
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement, color=green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
plot(ema200, color=purple, linewidth=4,title='ema200')
strategy.initial_capital = 50000
strategy.entry('tkcross', strategy.long, strategy.initial_capital / close, when=conversionLine>baseLine and close > ema200)
strategy.close('tkcross', when=conversionLine<baseLine)
start = input(2, minval=0, maxval=10, title="Start - Default = 2 - Multiplied by .01")
increment = input(2, minval=0, maxval=10, title="Step Setting (Sensitivity) - Default = 2 - Multiplied by .01" )
maximum = input(2, minval=1, maxval=10, title="Maximum Step (Sensitivity) - Default = 2 - Multiplied by .10")
sus = input(true, "Show Up Trending Parabolic Sar")
sds = input(true, "Show Down Trending Parabolic Sar")
disc = input(false, title="Start and Step settings are *.01 so 2 = .02 etc, Maximum Step is *.10 so 2 = .2")
//"------Step Setting Definition------"
//"A higher step moves SAR closer to the price action, which makes a reversal more likely."
//"The indicator will reverse too often if the step is set too high."
//"------Maximum Step Definition-----")
//"The sensitivity of the indicator can also be adjusted using the Maximum Step."
//"While the Maximum Step can influence sensitivity, the Step carries more weight"
//"because it sets the incremental rate-of-increase as the trend develops"
startCalc = start * .01
incrementCalc = increment * .01
maximumCalc = maximum * .10
sarUp = sar(startCalc, incrementCalc, maximumCalc)
sarDown = sar(startCalc, incrementCalc, maximumCalc)
colUp = close >= sarDown ? lime : na
colDown = close <= sarUp ? red : na
plot(sus and sarUp ? sarUp : na, title="Up Trending SAR", style=circles, linewidth=3,color=colUp)
plot(sds and sarDown ? sarDown : na, title="Up Trending SAR", style=circles, linewidth=3,color=colDown)