
ڈبل مساوی لائن ٹریکنگ ٹرینڈ اسٹریٹجی ایک ایسی حکمت عملی ہے جس میں تیزی سے چلنے والی اوسط اور آہستہ چلنے والی اوسط کا مجموعہ استعمال کیا جاتا ہے تاکہ مارکیٹ میں رجحانات کا اندازہ لگایا جاسکے اور اس رجحان کی سمت میں تبدیلی کے وقت تجارتی سگنل جاری کیا جاسکے۔ یہ حکمت عملی ایک ہی وقت میں مساوی لائن اشارے اور قیمت چینل اشارے کو رجحانات کی نشاندہی کرنے کے لئے جوڑتی ہے ، جس سے مارکیٹ میں شور کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے اور اس رجحان کی سمت کا اندازہ لگایا جاسکتا ہے۔
ڈبل اوسط ٹرینڈ ٹریکنگ حکمت عملی میں دو متحرک اوسط اشارے استعمال کیے جاتے ہیں۔ ایک تیز رفتار اوسط ((5 سائیکل) اور ایک آہستہ چلنے والی اوسط ((21 سائیکل) ۔ تیز رفتار اوسط ٹریڈنگ سگنل پیدا کرنے کے لئے استعمال کیا جاتا ہے ، اور سست رفتار اوسط مارکیٹ کی سمت کا تعین کرنے کے لئے استعمال کیا جاتا ہے۔ جب تیز رفتار اوسط نیچے سے اوپر کی طرف سے سست اوسط کو عبور کرتا ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔ جب تیز رفتار اوسط اوپر سے نیچے کی طرف سے سست اوسط کو عبور کرتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
اس حکمت عملی میں قیمتوں کے چینل کے اشارے بھی استعمال کیے جاتے ہیں تاکہ رجحانات کا اندازہ لگایا جاسکے۔ قیمت کا چینل اعلی ترین قیمتوں اور کم ترین قیمتوں کی اوسط اوسط سے طے ہوتا ہے۔ جب قیمتیں چینل کو توڑتی ہیں تو ، اس کا مطلب یہ ہوتا ہے کہ رجحان الٹ جاتا ہے۔ اس حکمت عملی میں دو قیمت چینلز استعمال کیے جاتے ہیں ، پہلی قیمت چینل کی مدت 21 ہے ، اور دوسری قیمت چینل کی مدت 5 ہے ، جو اوسط لائن کی مدت سے مماثل ہے۔
خرید و فروخت کے سگنل کا فیصلہ کرتے وقت ، اس حکمت عملی میں سرخ کالموں کو مسلسل ظاہر ہونے کی ضرورت ہوتی ہے ((صارفین کالموں کی تعداد مقرر کرسکتے ہیں) ، اضافی فلٹرنگ کی شرط کے طور پر۔ اس سے تالیف کے علاقے میں غلط سگنل جاری ہونے سے بچا جاسکتا ہے۔
مجموعی طور پر، رجحانات کی پیمائش کرنے کے لئے دوہری مساوی حکمت عملی کی منطق یہ ہے:
ٹرینڈ کی متعدد سطحوں کے ذریعہ ، آپ کو مؤثر طریقے سے شور کو فلٹر کرنے اور رجحانات کی سمت کا تعین کرنے کی اجازت دیتا ہے۔
ڈبل مساوی رجحانات کی حکمت عملی کے فوائد ہیں:
مجموعی طور پر ، اس حکمت عملی میں مجموعی طور پر بہت زیادہ استحکام ہے ، جو بڑے پیمانے پر رجحانات والے بازاروں میں بہت اچھا کام کرتا ہے۔
ڈبل لائن رجحانات کی حکمت عملی کے ساتھ کچھ خطرات بھی ہیں، خاص طور پر:
اسی طرح ، اسٹریٹجک خطرات کو کم کرنے کے لئے ، مندرجہ ذیل اقدامات کیے جاسکتے ہیں۔
ڈبل مساوی رجحان ٹریکنگ حکمت عملی میں مزید اصلاحات کی گنجائش ہے ، جس میں شامل ہیں:
ان اصلاحات سے حکمت عملی کی استحکام ، موافقت اور ذہانت کی سطح کو مزید بہتر بنایا جاسکتا ہے۔
ڈبل مساوی ٹریڈنگ ٹرینڈ ٹریڈنگ حکمت عملی مجموعی طور پر ایک زیادہ مضبوط رجحان ٹریڈنگ حکمت عملی ہے۔ یہ ایک ہی وقت میں مساوی اشارے اور قیمت چینل کے ساتھ رجحان کی سمت اور طاقت کا تعین کرتا ہے ، اور فوری مساوی طور پر تجارتی سگنل بھیجتا ہے۔ اضافی کالم فلٹرنگ شرائط بھی غلط سگنل سے بچنے میں مزید مدد کرتی ہیں۔ اس حکمت عملی کی پیرامیٹرز کو ایڈجسٹ کیا جاسکتا ہے ، جو مارکیٹ کے مختلف حالات کے مطابق اچھی طرح سے ڈھال سکتا ہے۔
/*backtest
start: 2023-12-24 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's Trend MAs Strategy v1.8", shorttitle = "Trend MAs str 1.8", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, "long")
needshort = input(true, "short")
needstops = input(false, "stops")
stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %")
useohlc4 = input(false, defval = false, title = "Use OHLC4")
usefastsma = input(true, "Use fast MA Filter")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period")
slowlen = input(21, defval = 20, minval = 2, maxval = 200, title = "slow MA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")
needbg = input(false, defval = false, title = "Need trend Background?")
needarr = input(false, defval = false, title = "Need entry arrows?")
src = useohlc4 == true ? ohlc4 : close
fastsma = ema(src, 5)
//PriceChannel 1
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2
//PriceChannel 2
lasthigh2 = highest(src, fastlen)
lastlow2 = lowest(src, fastlen)
center2 = (lasthigh2 + lastlow2) / 2
//Trend
//ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
//trend = low > ma and low[1] > ma[1] and low[2] > ma[2] ? 1 : high < ma and high[1] < ma[1] ? -1 : trend[1]
trend1 = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend1[1]
trend2 = low > center2 and low[1] > center2[1] ? 1 : high < center2 and high[1] < center2[1] ? -1 : trend1[1]
trend = trend1 == 1 and trend2 == 1 ? 1 : trend2 == -1 and trend2 == -1 ? -1 : trend[1]
//Bars
bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0
//Signals
up = trend == 1 and (low < center2 or usefastsma == false) and (redbars == 1) ? 1 : 0
dn = trend == -1 and (high > center2 or usefastsma == false) and (greenbars == 1) ? 1 : 0
//Lines
colorfastsma = usefastsma == true ? red : na
plot(fastsma, color = colorfastsma, title = "Fast MA")
plot(center, color = blue, linewidth = 3, transp = 0, title = "Slow MA")
plot(center2, color = red, linewidth = 3, transp = 0, title = "PriceChannel 2")
//Arrows
plotarrow(up == 1 and needarr == true ? 1 : 0, colorup = black, colordown = black, transp = 0)
plotarrow(dn == 1 and needarr == true ? -1 : 0, colorup = black, colordown = black, transp = 0)
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)
//Alerts
alertcondition(up == 1, title='buy', message='Uptrend')
alertcondition(dn == 1, title='sell', message='Downtrend')
//Trading
stoplong = up == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1]
stopshort = dn == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1]
longCondition = up == 1
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
strategy.exit("Stop Long", "Long", stop = stoplong)
shortCondition = dn == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
strategy.exit("Stop Short", "Short", stop = stopshort)