مومنٹم ڈبل موونگ ایوریج ٹریڈنگ حکمت عملی ایک قلیل مدتی تجارتی حکمت عملی ہے جو قیمت کی رفتار اور رجحان دونوں اشارے استعمال کرتی ہے۔ حکمت عملی تجارتی سگنل پیدا کرنے کے لئے اختتامی قیمت ، افتتاحی قیمت ، قیمت چینل ، تیز RSI اور دیگر اشارے استعمال کرتی ہے۔ جب قیمتوں میں خرابی یا اشارے کے اشارے سامنے آتے ہیں تو یہ لمبی یا مختصر پوزیشنیں قائم کرے گی۔ جب نقصانات ایک خاص سطح تک پہنچ جاتے ہیں تو اسے ختم کرنے کے لئے اسٹاپ نقصان کی شرائط بھی طے کرتی ہے۔
حکمت عملی بنیادی طور پر مندرجہ ذیل فیصلے کے اشارے پر مبنی تجارتی فیصلے کرتی ہے:
قیمت چینل: چینل کی حد کا تعین کرنے کے لئے پچھلے 30 موم بتیوں کی سب سے زیادہ اور کم قیمتوں کا حساب لگائیں۔ چینل کے وسط نقطہ سے اوپر کی بندش کی قیمت کو بائیش سمجھا جاتا ہے۔ چینل کے وسط نقطہ سے نیچے کی بندش کی قیمت کو bearish سمجھا جاتا ہے۔
فاسٹ آر ایس آئی: تازہ ترین 2 موم بتیوں کی آر ایس آئی کی قیمت کا حساب لگائیں۔ 25 سے کم آر ایس آئی کو زیادہ فروخت اور 75 سے زیادہ آر ایس آئی کو زیادہ خریدا سمجھا جاتا ہے۔
ین یانگ لائن: تازہ ترین 2 شمعدانوں کے ادارے کے سائز کا حساب لگائیں۔ دو سرخ موم بتیاں bearish سگنل کی تجویز کرتی ہیں جبکہ دو سبز موم بتیاں bullish سگنل کی تجویز کرتی ہیں۔
نقصانات کو روکنے کی شرط: جب نقصانات نقصانات کو محدود کرنے کے لئے ایک مخصوص فیصد تک پہنچ جاتے ہیں تو معاوضہ لگانے پر مجبور کریں.
رجحان، رفتار اور oversold/overbought اشارے سے مجموعی سگنل کے ساتھ، یہ قلیل مدتی حکمت عملی مؤثر طریقے سے واپسی کی شناخت اور بروقت ٹریڈنگ سگنل پیدا کر سکتی ہے.
اس حکمت عملی کے فوائد میں شامل ہیں:
متعدد اشارے کو ملا کر سگنل کی درستگی میں بہتری، جو غلط سگنلز کو فلٹر کرنے میں مدد کرتی ہے۔
فاسٹ آر ایس آئی کے استعمال کی وجہ سے موڑ کے مقامات پر تیز ردعمل ، جو باقاعدہ آر ایس آئی سے زیادہ حساس ہے۔
مختلف مصنوعات اور ٹائم فریموں میں اعلی وشوسنییتا ، بیک ٹیسٹ کے دوران سخت پیرامیٹر اصلاح کی بدولت۔
توقعات سے زیادہ ممکنہ نقصانات کو کنٹرول کرنے کے لئے خودکار سٹاپ نقصان کا طریقہ کار.
اس حکمت عملی کے کچھ خطرات:
قیمت چینل پیرامیٹر کی غلط ترتیب جھٹکے کا سبب بن سکتی ہے۔ بہت تنگ چینلز جھوٹے بریکآؤٹس کا سبب بن سکتے ہیں۔
ایک طرفہ پوزیشن رکھنے کا وقت مضبوط رجحانات کے دوران بہت لمبا ہوسکتا ہے ، جو پیش گوئیوں سے تجاوز کرتا ہے۔
سٹاپ نقصان نقطہ کی غلط ترتیب سے نقصانات میں اضافہ ہوسکتا ہے۔ اس پیرامیٹر کو محتاط ترتیب کی ضرورت ہے - بہت زیادہ یا بہت کم نقصان دہ ہوسکتا ہے۔
ہم چینل پیرامیٹرز کو ایڈجسٹ کرکے، انٹری ٹائمنگ کو بہتر بنا کر، سٹاپ نقصان پوائنٹس کو متحرک طور پر ایڈجسٹ کرکے ان خطرات کو کم اور کم کر سکتے ہیں۔
کچھ سمتیں جن میں حکمت عملی کو مزید بہتر بنایا جاسکتا ہے:
خودکار پیرامیٹر اصلاحات حاصل کرنے کے لئے مشین لرننگ الگورتھم کو شامل کریں ، موافقت کو بڑھانا۔
تجارتی فیصلوں اور سگنل کی درستگی کو بہتر بنانے کے لئے خبروں جیسے مزید اعداد و شمار کے ذرائع کو یکجا کریں۔
مارکیٹ کے حالات پر مبنی متحرک پوزیشن سائزنگ میکانزم تیار کریں تاکہ خطرات کو بہتر طریقے سے کنٹرول کیا جا سکے۔
مستقبل کے معاہدے کی تجارت میں اطلاق کو بڑھانا تاکہ مطلق منافع کو مزید بڑھا سکے۔
اس حکمت عملی میں مختلف تکنیکوں کا امتزاج ہوتا ہے جن میں قیمت توڑ ، اشارے کا اشارہ ، اسٹاپ نقصان وغیرہ شامل ہیں۔ اس نے بیک ٹیسٹ اور براہ راست تجارت میں اچھے استحکام اور کارکردگی کا مظاہرہ کیا ہے۔ جیسے جیسے الگورتھم اور ڈیٹا ٹکنالوجی میں پیشرفت ہوتی ہے ، اس حکمت عملی کے لئے نمایاں اضافہ ہوتا رہتا ہے۔ مسلسل بہتری کی توقع کی جاسکتی ہے۔
/*backtest start: 2023-11-23 00:00:00 end: 2023-11-30 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Price Channel Strategy v1.2", shorttitle = "Price Channel str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 100000, title = "capital, %") uset = input(true, defval = true, title = "Use trend entry") usect = input(true, defval = true, title = "Use counter-trend entry") usersi = input(true, defval = true, title = "Use RSI strategy") pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel Period") showcl = input(true, defval = true, title = "Price Channel") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") src = close //Price channel lasthigh = highest(src, pch) lastlow = lowest(src, pch) center = (lasthigh + lastlow) / 2 trend = low > center ? 1 : high < center ? -1 : trend[1] col = showcl ? blue : na col2 = showcl ? black : na plot(lasthigh, color = col2, linewidth = 2) plot(lastlow, color = col2, linewidth = 2) plot(center, color = col, linewidth = 2) //Bars bar = close > open ? 1 : close < open ? -1 : 0 rbars = sma(bar, 2) == -1 gbars = sma(bar, 2) == 1 //Fast RSI fastup = rma(max(change(src), 0), 2) fastdown = rma(-min(change(src), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Signals body = abs(close - open) abody = sma(body, 10) up1 = rbars and close > center and uset dn1 = gbars and close < center and uset up2 = close <= lastlow and close < open and usect dn2 = close >= lasthigh and close > open and usect up3 = fastrsi < 25 and close > center and usersi dn3 = fastrsi > 75 and close < center and usersi exit = (((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2) lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] //Trading if up1 or up2 or up3 if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 or dn2 or dn3 if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()