
یہ ایک ٹرینڈ ٹریکنگ حکمت عملی ہے جس میں متعدد تکنیکی اشارے شامل ہیں ، بنیادی طور پر ایس ایم اے (سادہ منتقل اوسط) ، ایم اے سی ڈی (موبائل اوسط اختتام پھیلنے والا اشارے) اور اے ڈی ایکس (اوسط رجحان اشارے) کے ذریعہ تین اشارے کا ہم آہنگی سے کام کیا جاتا ہے ، اور ہفتہ وار لائن کی سطح پر تجارت کی جاتی ہے۔ اس حکمت عملی میں متحرک اسٹاپ نقصان کا طریقہ کار استعمال کیا جاتا ہے ، جس میں سوئنگ لو کی نشاندہی کرکے خطرے کے انتظام کو بہتر بنایا جاتا ہے ، اور پوزیشن پر زیادہ درست کنٹرول حاصل کیا جاتا ہے۔
اس حکمت عملی کی بنیادی منطق تینوں قسم کی توثیق پر مبنی ہے:
اس حکمت عملی نے متعدد تکنیکی اشارے کے ہم آہنگی کے ذریعے ایک مضبوط رجحان ٹریکنگ سسٹم تشکیل دیا ہے۔ متحرک اسٹاپ نقصان کا طریقہ کار درمیانی اور طویل مدتی رجحانات کی پیروی کرنے کے لئے مناسب خطرہ کنٹرول فراہم کرتا ہے۔ اس حکمت عملی کے بنیادی فوائد سگنل کی اعلی وشوسنییتا اور خطرے کے انتظام میں بہتری ہیں ، لیکن اس کے ساتھ ساتھ سگنل کے پیچھے پڑنے جیسے چیلنجوں کا بھی سامنا کرنا پڑتا ہے۔ اس حکمت عملی کو بہتر کارکردگی کا مظاہرہ کرنے کی امید ہے کہ پیرامیٹرز کی موافقت اور مارکیٹ کے ماحول کی شناخت کو مزید بہتر بنایا جائے۔
/*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)