
यह एक रणनीति है जिसमें कई तकनीकी संकेतकों का ट्रेंड ट्रैकिंग शामिल है, मुख्य रूप से SMA ((सरल चलती औसत), MACD ((चलती औसत समापन और फैलाव संकेतक) और ADX ((औसत ट्रेंडिंग सूचकांक) के माध्यम से तीन संकेतकों का सामंजस्यपूर्ण संयोजन है, जो सप्ताह के स्तर पर व्यापार करता है। यह रणनीति गतिशील स्टॉप-लॉस तंत्र का उपयोग करती है, जो स्विंग लो की पहचान करके जोखिम प्रबंधन को अनुकूलित करती है, अधिक सटीक स्थिति नियंत्रण प्राप्त करती है।
इस रणनीति का मूल तर्क तीन प्रकार के सत्यापन पर आधारित हैः
इस रणनीति के माध्यम से कई तकनीकी संकेतकों के सामंजस्यपूर्ण कार्य के माध्यम से एक मजबूत प्रवृत्ति ट्रैकिंग प्रणाली का निर्माण किया गया है। गतिशील रोकथाम तंत्र मध्यम और दीर्घकालिक रुझानों को ट्रैक करने के लिए उपयुक्त अच्छा जोखिम नियंत्रण प्रदान करता है। इस रणनीति के मुख्य लाभ संकेत विश्वसनीयता में उच्च हैं, जोखिम प्रबंधन में सुधार किया गया है, लेकिन साथ ही संकेत विलंबता जैसी चुनौतियों का सामना करना पड़ रहा है। इस रणनीति को आगे के अनुकूलन पैरामीटर अनुकूलन और बाजार की स्थिति की पहचान के माध्यम से बेहतर प्रदर्शन की उम्मीद है।
/*backtest
start: 2024-02-20 00:00:00
end: 2024-03-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Invest SMA|MACD|ADX Long Weekly Strategy (BtTL)", overlay=true)
// SMA Inputs
smaLength = input.int(30, title="SMA Länge")
// MACD Inputs
macdFastLength = input.int(9, title="MACD schnelle Periode")
macdSlowLength = input.int(18, title="MACD langsame Perside")
macdSignalLength = input.int(9, title="MACD Signal Smoothing")
//ADX Inputs
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Länge")
// SMA-Berechnung
smaValue = ta.sma(close, smaLength)
isAboveSMA = close > smaValue
isBelowSMA = close < smaValue
// MACD-Berechnung
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
isMACDBuy = macdLine > signalLine and macdLine > 0
// Swing-Low Berechnung (5-Kerzen)
isSwingLow = low[2] > low[1] and low[3] > low[1] and low[1] < low and low[1] < low[4]
var float lastSwingLow = na
var float secondLastSwingLow = na
// Wenn ein neuer Swing-Low gefunden wird
if (isSwingLow[1])
secondLastSwingLow := lastSwingLow
lastSwingLow := low[1]
//ADX ermitteln
[pDI,mDI,ADX] = ta.dmi(dilen, adxlen)
IsInTrend = ADX > 25
// Einstiegskondition mit MACD und SMA
longCondition = isAboveSMA and isMACDBuy and IsInTrend
if (longCondition)
strategy.entry("Long", strategy.long)
// Ausstiegskondition am vorletzten Swing-Low
if (isBelowSMA and na(secondLastSwingLow) == false)
strategy.exit("Exit", from_entry="Long", stop=secondLastSwingLow)
// Reset bei Position schließen
if(strategy.position_size <= 0)
secondLastSwingLow := na
lastSwingLow := na
// Plots
plot(smaValue, title="SMA 30", color=#063eda, linewidth=2)
plot(na(lastSwingLow) ? na : lastSwingLow, title="Last Swing Low", color=#ffb13b, linewidth=1, style=plot.style_circles)
plot(na(secondLastSwingLow) ? na : secondLastSwingLow, title="Second Last Swing Low", color=color.red, linewidth=1, style=plot.style_circles)