
Die Strategie basiert auf dynamischen Mark-Even-Indikatoren, kombiniert mit Bollinger Bands und RSI für die Filterung von Handelssignalen und ermöglicht eine Trendverfolgungsstrategie, bei der nur mehr getan wird und keine Leerstände gemacht werden. Die Strategie beurteilt die Trends durch Berechnung der Veränderungen der dynamischen Mark-Even-Linie des Hike-Line-Abschlusspreises und sendet Handelssignale im Vergleich zu den Bollinger Bands. In Kombination mit dem RSI-Filter können die Ausbrüche der Trends effektiv identifiziert werden, um eine Trendverfolgung zu ermöglichen.
Der Kern dieser Strategie ist die Berechnung der Veränderung der dynamischen Mark-Mittellinie für den Heck-Linien-Schlusskurs. Konkret wird die Differenz zwischen der aktuellen K-Linie und den Mark-Mittellinien der beiden vorherigen K-Linien berechnet und mit dem Sensitivitätsfaktor multipliziert, um den genauen Mark-Mittellinien-Wandel zu erhalten.
Dann wird der Wert der Veränderung mit der Differenz zwischen den oberen und unteren Bahnen im Brin-Band verglichen. Wenn die Mark-Even-Linie sich größer als die Brin-Band-Differenz ändert, wird der Trend zu einem Antennenbruch angesehen. Wenn der Ausbruch positiv ist, d. h. wenn die Mark-Even-Linie sich positiv ändert, erzeugt dies ein Multi-Signal und eine grüne Säulenlinie.
Darüber hinaus hat die Strategie einen RSI-Filter, der nur mehrere Signale sendet, wenn der RSI über der Schwelle liegt, um das Risiko einer Trendwende zu vermeiden.
Risikominderungsmaßnahmen umfassen: die richtige Anpassung der Parameter, um sie stabiler zu machen, in Kombination mit anderen Indikatoren, um eine Trendwende zu beurteilen, die nur bei klaren Trends in der langen Linie verwendet werden, usw.
Die Strategie kann noch optimiert werden:
Versuchen Sie mit verschiedenen Preisquellen, z. B. Schlusskurs, Durchschnittspreis, um bessere Gleitwerte zu erhalten.
Anpassung der Periodiparameter für die Mark-Gleichlinie und den Brin-Band, optimiert für verschiedene Sorten
Versuchen Sie, die Proportionsbeziehungen anstelle des Sensitivitätskoeffizienten zu verwenden, um die Ergebnisse des Indikators intuitiver zu machen
Hinzufügen von anderen Filtern, wie z. B. Trendmittellinien, Transaktionsvolumen, um die Signalqualität zu verbessern
Entwicklung einer Strategie für die Rückwärtsbewegung basierend auf der Form der Kennziffer
Ein Stop-Loss-Mechanismus zur besseren Risikokontrolle
Diese Strategie ist insgesamt eine eher stabile Trend-Tracking-Strategie. Sie nutzt die dynamische Gleichung, um die Trendrichtung zu bestimmen, Brin-Band-Explosionspunkte zu identifizieren, RSI-Filter-Falschsignale, um ein Trendsystem zu realisieren, das nur mehr tut. Es besteht jedoch ein gewisses Risiko, dass Parameteroptimierungen für verschiedene Sorten und Zyklen erforderlich sind und keine Abwärtsbewegungen profitieren können.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
///////////Original Script Courtesy of Lazy_Bear.... Absolute Legend\\\\\\\\\\\\\\\
strategy('SmoothedWaddah', overlay=false, initial_capital=1)
sensitivity = input(150, title='Sensitivity')
fastLength = input(20, title='MacD FastEMA Length')
slowLength = input(40, title='MacD SlowEMA Length')
channelLength = input(20, title='BB Channel Length')
mult = input(1.5, title='BB Stdev Multiplier')
RSI14filter = input(40, title='RSI Value trade filter')
////////////MacD Calculation of price//////////////////////////////
calc_macd(source, fastLength, slowLength) =>
fastMA = ta.ema(source, fastLength)
slowMA = ta.ema(source, slowLength)
fastMA - slowMA
/////////BolingerBand Calculation of Price///////////////////////
calc_BBUpper(source, length, mult) =>
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
basis + dev
calc_BBLower(source, length, mult) =>
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
basis - dev
//////heinkenashi chart call for closing price "smoothing mechanism"\\\\\\\\\\\\\\\\\\\\\\\\\\\
point = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)
////////////////////T1 is change in MacD current candle from previous candle Sensitivy amplifies calculation/////////////////////
t1 = (calc_macd(point, fastLength, slowLength) - calc_macd(point[1], fastLength, slowLength)) * sensitivity
//////////////////////T2 is T1 from two candles prior\\\\\\\\\\\\\\\\\\\\\\\\\\\
t2 = (calc_macd(point[2], fastLength, slowLength) - calc_macd(point[3], fastLength, slowLength)) * sensitivity
////////////////E1 is difference in bolinger band upper and lower...E2 is E1 from one candle prior not needed//////////////
e1 = calc_BBUpper(ohlc4, channelLength, mult) - calc_BBLower(ohlc4, channelLength, mult)
//e2 = (calc_BBUpper(close[1], channelLength, mult) - calc_BBLower(close[1], channelLength, mult))
//////signal bar printing.. Up if MacD positive .. Down if MacD negative//////////
trendUp = t1 >= 0 ? t1 : 0
trendDown = t1 < 0 ? -1 * t1 : 0
///////plots difference in macD*Sensitivity, color change if increasing or decreasing.
//////color is green/lime if explosion is up \ color is red/orange if explosion is down/////////
plot(trendUp, style=plot.style_columns, linewidth=1, color=trendUp < trendUp[1] ? color.new(color.lime,45) : color.new(color.green,45), title='UpTrend')
plot(trendDown, style=plot.style_columns, linewidth=1, color=trendDown < trendDown[1] ? color.new(color.orange,45) : color.new(color.red,45), title='DownTrend')
plot(e1, style=plot.style_line, linewidth=2, color=color.new(#A0522D, 0), title='ExplosionLine')
////////////Entry conditions and Concept/////////////////////
////////////Long Only System. T1 is measuring the distance between MACD EMA's. This is Multiplied
////////////by the sensitivity so that it can be compared to the difference between BollingerBand.
/////////////{this could have been a ratio maybe i will work with that in a different script.}
/////////////I found that 135-175 sensitivy allows for values to be compared on most charts.....
////////////If the (difference between the EMA)*(Sensitivity) is greater than (BB upper line- BB lower line)
////////////it is considered an explosion in either the downside or the upside.The indicator will print
///////////a bar higher than the trigger line either green or red (up or down respectively)//////////////////
longCondition = trendUp > e1 and ta.rsi(close, 14) > RSI14filter
if longCondition
strategy.entry('up', strategy.long)
strategy.close('up', trendDown > e1)