
ڈبل ایم اے موڈ بریکنگ اسٹریٹجی ایک مقداری تجارتی حکمت عملی ہے جس میں دو مختلف ادوار کی متحرک اوسطوں کا استعمال کرتے ہوئے رجحان کا فیصلہ اور داخلے کے لئے استعمال کیا جاتا ہے۔ حکمت عملی بنیادی طور پر سست ایم اے کے ذریعہ مجموعی رجحان کی سمت کا فیصلہ کرتی ہے ، اور تیز ایم اے کا استعمال کرتے ہوئے داخلے کے فلٹرنگ کرتی ہے۔ جب بڑے پیمانے پر رجحان کی سمت متفق ہوتی ہے تو ، اعلی جیت اور منافع کی شرح کے حصول کے لئے داخل ہونے کے لئے K لائن کو تبدیل کرنے کا انتخاب کیا جاتا ہے۔
اس حکمت عملی کے کچھ اہم حصے یہ ہیں:
رجحانات کا جائزہ:21 سائیکلوں کی ایم اے کا حساب لگاکر ، جو سست ایم اے کے طور پر بیان کیا گیا ہے ، اس کی پوزیشن زیادہ مستحکم ہے ، جس سے مجموعی طور پر رجحان کی سمت کا تعین کیا جاسکتا ہے۔ جب قیمت بڑھتی ہے تو ایم اے کی قیمت کے قریب ہونے کا مطلب ہے کہ یہ بڑھتی ہوئی رجحان ہے ، اور جب قیمت گرتی ہے تو اس کی قیمت کے قریب ہونے کا مطلب ہے کہ یہ گرتی ہوئی رجحان ہے۔
داخلہ فلٹر:5 سائیکلوں کی ایم اے کا حساب لگائیں ، جو فاسٹ ایم اے کے طور پر بیان کی گئی ہے۔ صرف اس صورت میں تجارت کا اشارہ دیا جاتا ہے جب قیمت سست ایم اے کو توڑ دیتی ہے اور اسی وقت فاسٹ ایم اے کو بھی توڑ دیتی ہے۔ یہ ڈیزائن بنیادی طور پر جعلی توڑنے کی مزید امکان کو فلٹر کرنے کے لئے ہے۔
K لائن فلٹر:حکمت عملی صرف اس وقت زیادہ کام کرتی ہے جب اس دورانیے کی K لائن منفی ہو ، یا اس دورانیے کی K لائن مثبت ہو۔ یہ اس بات کو مدنظر رکھتے ہوئے ہے کہ ریورس K لائن داخلہ کا استعمال کرتے ہوئے کامیابی کی اعلی شرح حاصل کی جاسکتی ہے۔ جبکہ فوری RSI اشارے کے ساتھ مل کر ضرورت سے زیادہ خریدنے یا زیادہ فروخت کرنے والے علاقوں میں داخل ہونے سے گریز کریں۔
ذخیرہ اندوزی:کریپٹوکرنسی مارکیٹوں کے لئے ، حکمت عملی میں اضافی طور پر تین گنا اتار چڑھاؤ کی خرابی کی شرطیں شامل کی گئیں ، جس سے بڑے پیمانے پر گرنے کے دوران اوور ڈراپ کے مواقع کا سراغ لگایا گیا۔
سٹاپ نقصان ڈیزائن:حکمت عملی کی حمایت کرتا ہے متحرک سٹاپ ◄ جب پوزیشن کھولی جائے تو ، سٹاپ نقصان کی حیثیت کو ریئل ٹائم میں اپ ڈیٹ کیا جائے گا ، اس کی بنیاد پر جو آپ نے مقرر کیا ہے ◄
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
ان خطرات کے لیے، آپ مندرجہ ذیل طریقوں سے بہتر کر سکتے ہیں:
اس حکمت عملی کو بہتر بنانے کے لئے مندرجہ ذیل نکات پر توجہ دی جاسکتی ہے:
پیرامیٹرز کی اصلاح: زیادہ منظم ریٹرننگ کے ذریعے ، تیز اور سست ایم اے کے دورانیہ پیرامیٹرز کے مجموعے کو بہتر بنانا ، اور مجموعی طور پر منافع کے خطرے کا تناسب بڑھانا۔
پیٹرن کی شناخت: KDJ، MACD جیسے دیگر اشارے شامل کریں، زیادہ قابل اعتماد ریورس سگنل کی شناخت کریں۔
سٹاپ نقصان کی اصلاح: فلوٹنگ اسٹاپ ، اسٹاپ ٹریکنگ اور دیگر الگورتھم تیار کریں ، تاکہ اسٹاپ نقصانات کے متحرک ہونے کے امکانات کو کم کیا جاسکے۔
مشین لرننگ: مزید تاریخی ڈیٹا اکٹھا کریں اور اس کو نشان زد کریں ، مشین لرننگ کے طریقوں کا استعمال کرتے ہوئے خود کار طریقے سے تجارتی قواعد تیار کریں۔
کوانٹومیٹڈ شیئر ہولڈنگ: مارکیٹ کی صورتحال کے مطابق پوزیشن مینجمنٹ کی حکمت عملی کو خود بخود ایڈجسٹ کریں۔
ڈبل ایم اے تسلسل توڑنے کی حکمت عملی مجموعی طور پر ایک نسبتا simple آسان اور عملی رجحان سے باخبر رہنے کی حکمت عملی ہے۔ یہ حکمت عملی مشین لرننگ کے پیچیدہ الگورتھم کے مقابلے میں زیادہ آسانی سے سمجھنے اور سمجھنے میں آسان ہے ، اور اس کی وشوسنییتا بھی زیادہ ہے۔ پیرامیٹرز کی اصلاح ، فعالیت میں توسیع اور مشین لرننگ کی تعارف کے ساتھ ، اس حکمت عملی میں بہتری کا بہت زیادہ امکان ہے ، اور یہ ایک عمدہ نقطہ آغاز ہے۔
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's Trend MAs Strategy v2.0 +CB", shorttitle = "Trend MAs str 2.0", 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?")
needex = input(true, defval = true, title = "Need extreme? (crypto/fiat only!!!)")
src = useohlc4 == true ? ohlc4 : close
//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
trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[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
//Fast RSI
fastup = rma(max(change(close), 0), 2)
fastdown = rma(-min(change(close), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//CryptoBottom
mac = sma(close, 10)
len = abs(close - mac)
sma = sma(len, 100)
max = max(open, close)
min = min(open, close)
up3 = close < open and len > sma * 3 and min < min[1] and fastrsi < 10 ? 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
up2 = high < center and high < center2 and bar == -1 ? 1 : 0
dn2 = low > center and low > center2 and bar == 1 ? 0 : 0
//Lines
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 or (up2 == 1 and needex == true) or up3 == 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)