یہ حکمت عملی قیمت چینل اشارے پر مبنی ہے۔ ایک رفتار پیرامیٹر کی ترتیب کے ذریعہ ، یہ قیمت چینل کی وسط لائن بنانے کے لئے مختلف سائیکلوں میں سب سے زیادہ اور سب سے کم قیمتوں کی اوسط قیمت کا حساب لگاتا ہے ، اور اس کی بنیاد پر لمبی اور مختصر لائنیں طے کرتا ہے۔ جب قیمت لمبی لائن کو توڑتی ہے تو ، یہ لمبی جاتی ہے۔ جب قیمت مختصر لائن کو توڑتی ہے تو ، یہ مختصر ہوجاتی ہے۔ اختتامی شرط یہ ہے کہ قیمت چینل کی وسط لائن پر واپس آجاتی ہے۔
اس حکمت عملی میں چینل کی وسط لائن بنانے کے لئے مختلف سائیکلوں میں سب سے زیادہ اور سب سے کم قیمتوں کی اوسط قیمت کا حساب لگانے کے لئے قیمت چینل اشارے کا استعمال کیا جاتا ہے۔ وسط لائن کی بنیاد پر ، شفٹ پیرامیٹر کے ذریعہ لمبی اور مختصر لائنیں طے کی جاتی ہیں۔ خاص طور پر لمبی لائن کے حساب کا فارمولا یہ ہے: وسط لائن + (وسط لائن × لمبی لائن پیرامیٹر٪) ؛ مختصر لائن کے حساب کا فارمولا یہ ہے: وسط لائن + (وسط لائن × مختصر لائن پیرامیٹر٪) ۔
جب قیمت لانگ لائن سے کم ہو تو ، حد کے احکامات کے ساتھ لمبی پوزیشنیں کھولیں۔ جب قیمت شارٹ لائن سے زیادہ ہو تو ، حد کے احکامات کے ساتھ مختصر پوزیشنیں کھولیں۔ لمبی اور مختصر پوزیشنوں کے لئے اسٹاپ نقصان کا طریقہ چینل کی وسط لائن میں قیمت میں کمی ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
اس حکمت عملی میں کچھ خطرات بھی ہیں:
مندرجہ بالا خطرات کو پیرامیٹرز کو بہتر بنانے، سٹاپ نقصان کے احکامات قائم کرنے، یا فیصلے کے لئے دیگر اشارے کو یکجا کرکے کم کیا جا سکتا ہے۔
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
قیمت چینل اشارے پر مبنی اس حکمت عملی کا ڈیزائن خیال واضح ہے۔ پوزیشنوں کو کھولنے کے لئے بریک آؤٹ کا استعمال کرتے ہوئے خطرات کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔ لیکن پیرامیٹر کی اصلاح کی بڑی جگہیں اور اسٹاپ نقصان کے طریقہ کار بھی ہیں جن کو بہتر بنانے کی ضرورت ہے۔ مجموعی طور پر ، حکمت عملی کی ایک خاص عملی قیمت ہے اور اس کی مزید جانچ اور اصلاح کے قابل ہے۔
/*backtest start: 2022-11-29 00:00:00 end: 2023-12-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's PCMA Strategy v1.0", shorttitle = "PCMA 1.0", 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 = 10000, title = "Lot, %") per = input(3, title = "Length") shortlevel = input(10.0, title = "Short line (red)") longlevel = input(-5.0, title = "Long line (lime)") fromyear = input(1900, defval = 1900, 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") //Price Channel h = highest(high, per) l = lowest(low, per) c = (h + l) / 2 ll = c + ((c / 100) * longlevel) sl = c + ((c / 100) * shortlevel) //Lines shortcolor = needshort ? red : na longcolor = needlong ? lime : na plot(sl, linewidth = 2, color = shortcolor, title = "Short line") plot(c, linewidth = 2, color = blue, title = "SMA line") plot(ll, linewidth = 2, color = longcolor, title = "Long line") //Trading size = strategy.position_size lot = 0.0 lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1] if (not na(close[per])) and size == 0 and needlong strategy.entry("L", strategy.long, lot, limit = ll, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if (not na(close[per])) and size == 0 and needshort strategy.entry("S", strategy.short, lot, limit = sl, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if (not na(close[per])) and size > 0 strategy.entry("Close", strategy.short, 0, limit = c, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if (not na(close[per])) and size < 0 strategy.entry("Close", strategy.long, 0, limit = c, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()