نورو کی رجحان حرکت پذیر اوسط حکمت عملی کا انتہائی ورژن

مصنف:چاؤ ژانگ، تاریخ: 2024-01-31 17:00:53
ٹیگز:

img

جائزہ

اس حکمت عملی میں رجحان کی سمت اور طویل / مختصر مواقع کی نشاندہی کرنے کے لئے دو حرکت پذیر اوسط اشارے استعمال کیے جاتے ہیں۔ عام رجحان کی سمت کا تعین کرنے کے لئے سست حرکت پذیر اوسط (نیلی لائن) کا استعمال کیا جاتا ہے ، جبکہ قیمت چینل کے ساتھ مل کر تیز رفتار حرکت پذیر اوسط (سرخ لائن) کا استعمال تجارتی مواقع کو دریافت کرنے کے لئے کیا جاتا ہے۔

حکمت عملی منطق

  1. دو حرکت پذیر اوسطوں کا حساب لگائیں - مجموعی رجحان کا تعین کرنے کے لئے مدت 21 کے ساتھ ایک سست ایم اے ، اور مدت 5 کے ساتھ تیز تر ایم اے جو تجارتی مواقع تلاش کرنے کے لئے قیمت چینل کے ساتھ مل کر ہے۔

  2. چیک کریں کہ آیا موجودہ قیمت پچھلی مدت میں بننے والے قیمت چینل کو توڑتی ہے۔ ایک توڑنے سے ممکنہ تجارتی موقع کی نشاندہی ہوتی ہے۔

  3. حالیہ موم بتیوں کی تعداد اور سمت گنیں۔ مثال کے طور پر ، متعدد لگاتار bearish موم بتیاں ایک طویل موقع کی نشاندہی کرسکتی ہیں ، جبکہ لگاتار bullish موم بتیاں ایک مختصر موقع کی نشاندہی کرسکتی ہیں۔ موم بتیوں کی تعداد بار پیرامیٹر کے ذریعے تشکیل دی جاسکتی ہے۔

  4. طویل / مختصر سگنل پیدا کرنے کے لئے مذکورہ بالا تمام عوامل کو جوڑیں۔ جب قیمت کی نقل و حرکت آہستہ MA رجحان کی سمت کے ساتھ سیدھ میں آتی ہے تو سگنل شروع ہوجاتا ہے ، تیز رفتار MA یا قیمت چینل سگنل تیار کرتا ہے ، اور موم بتی کی نقل و حرکت شرط سے مماثل ہوتی ہے۔

فوائد

  1. دوہری حرکت پذیر اوسط نظام مؤثر طریقے سے رجحان کی سمت کو ٹریک کرتا ہے۔

  2. تیزی سے ایم اے اور قیمت چینل مل کر تجارتی مواقع کو پکڑنے کے لئے ابتدائی بریک آؤٹ پوائنٹس کا پتہ لگاتا ہے.

  3. اس کے علاوہ شمعدان کی سمت اور گنتی پر بھی غور کرتا ہے تاکہ مارکیٹ کی تبدیلیوں میں پھنسنے سے بچ سکے۔

  4. اپنی مرضی کے مطابق MA پیرامیٹرز مختلف مصنوعات اور ٹائم فریم کے لئے کام کرتے ہیں.

خطرات اور تخفیف

  1. ڈبل ایم اے سائیڈ ویز مارکیٹوں کے دوران جھوٹے سگنل پیدا کرسکتے ہیں۔ متضاد مارکیٹوں کی تجارت سے بچنے کے لئے آسکیلیٹرز یا اے ٹی آر شامل کرسکتے ہیں۔

  2. اب بھی غیر معمولی مارکیٹ کی نقل و حرکت میں پھنس جانے کا خطرہ ہے۔ نیچے کی طرف محدود کرنے کے لئے مناسب سٹاپ نقصان مقرر کر سکتے ہیں۔

  3. مکمل طور پر ردوبدل سے بچنا ناممکن ہے۔ حکمت عملی کو مزید مضبوط بنانے کے لیے منطق اور پیرامیٹرز کو بہتر بناتے رہیں گے۔

بہتر مواقع

  1. غیر مستحکم مارکیٹوں میں غلط تجارت سے بچنے کے لئے ADX، MACD جیسے معاون اشارے شامل کریں۔

  2. متحرک سٹاپ نقصان کا حساب، مثال کے طور پر اے ٹی آر اور خطرے کی ترجیح پر مبنی۔

  3. موافقت کی صلاحیت کے لیے مشین لرننگ کے ذریعے پیرامیٹر کی اصلاح۔

  4. آلہ کی خصوصیات پر مبنی ٹھیک ٹھیک پیرامیٹرز ، مثال کے طور پر کریپٹو کے لئے مختصر مدت۔

نتیجہ

مجموعی طور پر یہ حکمت عملی رجحانات کی مارکیٹوں کو ٹریک کرنے میں بہت اچھی طرح سے کام کرتی ہے ، جس میں اضافی مواقع سے باہر نکلنے کے مواقع ہیں۔ مناسب بہتری کے ساتھ اسے تجارتی طور پر قابل عمل اعلی معیار کی مقدار کی حکمت عملی میں تبدیل کیا جاسکتا ہے۔ ہم زیادہ سے زیادہ مارکیٹوں میں مستحکم تجارت کرنے کے لئے اسے بہتر بناتے رہیں گے۔


/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Trend MAs Strategy v1.9 Extreme", shorttitle = "Trend MAs str 1.9 extreme", 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

//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)
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)

مزید