
یہ حکمت عملی مارکیٹ کے رجحانات کی تبدیلی کا اندازہ لگانے کے لئے دو متحرک اوسط کی کراسنگ کا استعمال کرتی ہے اور اس رجحان کے مطابق خرید و فروخت کی کارروائی کرتی ہے۔ جب طویل مدتی اوسط طویل مدتی اوسط سے گزرتا ہے تو زیادہ کام کرتا ہے ، اور طویل مدتی اوسط طویل مدتی اوسط سے گزرتا ہے تو اس کی جگہ لے لیتا ہے ، تاکہ رجحان کی سمت پر عمل پیرا ہو۔
اس حکمت عملی کا مرکز دو چلتی اوسط ہیں: ایک تیز اوسط ((ڈیفالٹ دورانیہ 32 ہے) اور ایک آہستہ اوسط ((ڈیفالٹ دورانیہ بھی 32 ہے ، جس کو پیرامیٹرز کے ذریعہ ایڈجسٹ کیا جاسکتا ہے) ۔ جب اختتامی قیمت اوپر / نیچے سے گزرتی ہے تو ان دونوں اوسطوں کے ذریعہ تشکیل پانے والا چینل ، رجحان کی تبدیلی کی نمائندگی کرتا ہے ، حکمت عملی اس کے مطابق خرید و فروخت کا اشارہ پیدا کرتی ہے:
اس طرح کی مساوی لائن کراسنگ کے ذریعہ ، حکمت عملی رجحان کی پیروی کر سکتی ہے ، جو اوپر کی طرف بڑھنے والے رجحان میں زیادہ اختیارات رکھتی ہے ، اور نیچے کی طرف جانے والے رجحان میں خالی اختیارات رکھتی ہے ، جب تک کہ رجحان میں الٹ کا اشارہ نہ ہو۔
مذکورہ بالا خطرات کے ل appropriate ، مناسب فلٹرز کو شامل کرنے پر غور کیا جاسکتا ہے ، جیسے اے ٹی آر یا اوسط حقیقی طول و عرض کے فلٹرز ، ہلکے بازاروں میں ضرورت سے زیادہ تجارت کو کم کرنا۔ معقول رکاوٹیں طے کریں ، ایک بار نقصان کو کنٹرول کریں۔ مارکیٹ کے مطابق پیرامیٹرز کو مستقل طور پر بہتر بنائیں۔ لیکن حکمت عملی کی حدود کو مکمل طور پر دور کرنا مشکل ہے۔
مندرجہ بالا اصلاحات پیچیدہ مارکیٹوں سے نمٹنے کے لئے حکمت عملی کی صلاحیت کو بہتر بناسکتی ہیں ، لیکن اس بات کو ذہن میں رکھنا ضروری ہے کہ ضرورت سے زیادہ اصلاح سے منحنی فٹ ہونے کا سبب بن سکتا ہے ، جس کی وجہ سے مستقبل میں خراب کارکردگی کا سامنا کرنا پڑتا ہے۔
ڈبل یکساں رجحان ٹریکنگ حکمت عملی کے ذریعے یکساں کراس رجحان پکڑنے، سادہ، استعمال میں آسان، اور وسیع پیمانے پر قابل اطلاق خصوصیات ہیں ۔ تاہم، یہ اتار چڑھاؤ مارکیٹ میں خراب کارکردگی کا مظاہرہ، انتہائی حالات کے لئے ناکافی ردعمل، اور پیرامیٹرز کی اصلاح مشکل ہے ۔ زیادہ فلٹرنگ اشارے، متحرک سٹاپ نقصان، پوزیشن مینجمنٹ، کثیر دورانیہ، پیرامیٹرز خود کو اپنانے اور اس طرح کے طریقوں کو متعارف کرانے کی طرف سے حکمت عملی کو بہتر بنایا جا سکتا ہے ۔ لیکن یکساں حکمت عملی خود کی حدود کو مکمل طور پر قواعد و ضوابط سے بچنے کے لئے، ریئل اسٹیک میں اب بھی احتیاط کی ضرورت ہے، مارکیٹ کی خصوصیات کے مطابق لچکدار ایڈجسٹمنٹ ۔ مجموعی طور پر، یہ حکمت عملی رجحان ٹریکنگ کی بنیاد کے طور پر کام کر سکتی ہے، لیکن اکیلے کافی نہیں ہے، یہ ایک مشترکہ حکمت عملی کے حصے کے طور پر زیادہ مناسب ہے ۔
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//study(title="Demo - SSL Basic", shorttitle="Demo - SSL Basic", overlay=true)
strategy(title='Demo - SSL Basic', shorttitle='Demo - SSL Basic', overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, commission_value=0.15)
// Backtest Date Range
start_date_long = input(title='Backtest Long Start Date', defval=timestamp('01 Jan 2018 00:00 +0530'))
end_date_long = input(title='Backtest Long End Date', defval=timestamp('25 Jan 2030 00:00 +0530'))
backtest_range = true
// Inputs
maType = input.string(title='SSL MA Type', options=['SMA', 'EMA', 'WMA'], defval='SMA')
sslLen = input(title='SSL Length', defval=32)
showCross = input(title='Show Crossover?', defval=true)
showEntry = input(title='Show Entry?', defval=true)
showTrend = input(title='Show Trend Colors?', defval=true)
// Calc MA for SSL Channel
calc_ma(close, len, type) =>
float result = 0
if type == 'SMA' // Simple
result := ta.sma(close, len)
result
if type == 'EMA' // Exponential
result := ta.ema(close, len)
result
if type == 'WMA' // Weighted
result := ta.wma(close, len)
result
result
// Add SSL Channel
maHigh = calc_ma(high, sslLen, maType)
maLow = calc_ma(low, sslLen, maType)
Hlv = int(na)
Hlv := close > maHigh ? 1 : close < maLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? maHigh : maLow
sslUp = Hlv < 0 ? maLow : maHigh
ss1 = plot(sslDown, title='Down SSL', linewidth=2, color=showTrend ? na : color.red)
ss2 = plot(sslUp, title='Up SSL', linewidth=2, color=showTrend ? na : color.lime)
// Conditions
longCondition = ta.crossover(sslUp, sslDown)
shortCondition = ta.crossover(sslDown, sslUp)
// Strategy
if shortCondition
strategy.close('Long', comment='Long Exit', alert_message='JSON')
if longCondition
strategy.close('Short', comment='Short Exit', alert_message='JSON')
if backtest_range and longCondition
strategy.entry('Long', strategy.long, comment='Long Entry', alert_message='JSON')
if backtest_range and shortCondition
strategy.entry('Short', strategy.short, comment= 'Short Entry', alert_message='JSON')
// Plots
fill(ss1, ss2, color=showTrend ? sslDown < sslUp ? color.new(color.lime, transp=75) : color.new(color.red, transp=75) : na, title='Trend Colors')