ڈونچیئن چینل بریک آؤٹ ٹریڈنگ حکمت عملی ایک خاص مدت کے دوران سب سے زیادہ اور کم قیمتوں کے چینل کا حساب کتاب کرکے موجودہ قیمت کے رجحانات کا جائزہ لیتی ہے اور چینل بریک آؤٹ کی بنیاد پر طویل اور مختصر تجارت کرتی ہے۔ یہ حکمت عملی انتہائی اتار چڑھاؤ والے اسٹاک اور کریپٹو کرنسیوں کے لئے موزوں ہے۔
یہ حکمت عملی پچھلے تاریخی ادوار کے دوران سب سے زیادہ قیمت پی سی میکس اور سب سے کم قیمت پی سی منٹ کا حساب کتاب کرکے ایک چینل تیار کرتی ہے۔ چینل کے اوپری اور نچلے ریل کے لئے حساب کتاب کے طریقے یہ ہیں:
اوپری ریل yh = pcmax - (pcmax - pcmin) * (100 - فیصدDev) / 100
نچلی ریل yl = pcmin + (pcmax - pcmin) * فیصدDev/100
جہاں فیصد ڈیو 13 پر ڈیفالٹ کرتا ہے.
ایک لمبا سگنل اس وقت پیدا ہوتا ہے جب قیمت اوپری ریل کو توڑتی ہے۔ ایک مختصر سگنل اس وقت پیدا ہوتا ہے جب قیمت نچلی ریل کو توڑتی ہے۔
ٹریڈنگ سگنل پیدا کرنے کے لئے مخصوص منطق یہ ہے:
boundup = high > yh اگر اوپری ریل ٹوٹ گیا ہے کا تعین کرنے کے لئے
bounddn = کم < yl کم ریل ٹوٹ گیا ہے کہ آیا کا تعین کرنے کے لئے
upsign = sma(bounddn، 2) == 1 کم ریل کی مستقل توڑ کا تعین کرنے کے لئے bounddn کے sma کا استعمال کرتا ہے
dnsign = sma(boundup، 2) == 1 اوپری ریل کی مستقل توڑ کا تعین کرنے کے لئے boundup کے sma کا استعمال کرتا ہے
exitup = dnsign اوپری ریل کا بریک آؤٹ آؤٹ سگنل پیدا کرتا ہے
exitdn = upsign نچلی ریل کے بریک آؤٹ سے باہر نکلنے کا اشارہ پیدا ہوتا ہے
اگر نیچے ریل کے اپسائن بریک آؤٹ طویل سگنل پیدا کرتا ہے
اگر dnsign بریک آؤٹ اوپری ریل مختصر سگنل پیدا کرتا ہے
حکمت عملی غیر ضروری راتوں رات پوزیشنوں سے بچنے کے لئے تجارت کے آغاز اور اختتام کے اوقات بھی طے کرتی ہے۔
رجحانات کا تعین کرنے کے لئے Donchian چینل کا استعمال کرتا ہے، اچھا backtest نتائج
دونوں طویل اور مختصر سگنل ہے، دو طرفہ ٹریڈنگ کی اجازت دیتا ہے
سگنل فلٹر کرنے اور خراب تجارت سے بچنے کے لئے ایس ایم اے کا استعمال کرتا ہے
خطرہ کنٹرول کرنے کے لئے اختیاری سٹاپ نقصان
راتوں رات کے خطرات سے بچنے کے لئے تجارت کے آغاز اور اختتام کے اوقات مقرر کریں
تاریخ اور فیصد ڈیو پیرامیٹرز کے لئے حساس، مختلف مصنوعات کے لئے اصلاح کی ضرورت ہے
رینج سے منسلک مارکیٹوں میں غلط سگنل پیدا کر سکتا ہے
آرڈر مینجمنٹ پر غور نہیں کرتا، براہ راست ٹریڈنگ میں منافع کو متاثر کر سکتا ہے
غیر منقولہ سرمایہ کاری کے لئے غیر منقولہ سرمایہ کاری کی شرح
منی مینجمنٹ پر غور نہیں کرتا، مناسب تجارتی سرمایہ کی ضرورت ہے
مختلف مصنوعات کے لئے تاریخ اور فیصد ڈیو پیرامیٹرز کو بہتر بنائیں
مختلف مارکیٹوں میں غلط سگنل سے بچنے کے لئے فلٹرز شامل کریں
واحد پوزیشن سائز کو کنٹرول کرنے کے لئے پوزیشن سائزنگ ماڈیول شامل کریں
کل پوزیشن کے سائز کو محدود کرنے کے لئے منی مینجمنٹ ماڈیول شامل کریں
بہترین آرڈر عملدرآمد کے لئے آرڈر مینجمنٹ شامل کریں
ڈونچیان چینل بریک آؤٹ حکمت عملی چینل بریک آؤٹ کا استعمال رجحانات اور تجارتی سگنلز کا تعین کرنے کے لئے کرتی ہے ، جس میں اچھے بیک ٹیسٹ کے نتائج اور طویل اور مختصر دونوں تجارت کرنے کی صلاحیت ہوتی ہے۔ تاہم ، پیرامیٹر کی اصلاح ، فلٹرز ، پوزیشن سائزنگ ، منی مینجمنٹ ، آرڈر مینجمنٹ وغیرہ کے حوالے سے خطرات موجود ہیں۔ مستحکم براہ راست تجارت سے پہلے ان علاقوں میں مناسب بہتری کی ضرورت ہے۔ مجموعی طور پر ، یہ ایک روایتی رجحان کی پیروی کرنے والی حکمت عملی ہے ، اور اصلاحات کے ساتھ ایک قابل اعتماد مقداری تجارتی حکمت عملی بن سکتی ہے۔
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //////////////////////////////////////////////////////////// // Copyright by AlexInc v1.0 02/07/2018 @aav_1980 // PriceChannel strategy // If you find this script helpful, you can also help me by sending donation to // BTC 16d9vgFvCmXpLf8FiKY6zsy6pauaCyFnzS // LTC LQ5emyqNRjdRMqHPHEqREgryUJqmvYhffM //////////////////////////////////////////////////////////// //@version=3 strategy("AlexInc PriceChannel Str", overlay=false) history = input(20) percentDev = input(13) capital = input(100) needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") usestoploss = input(true, defval = true, title = "Stop Loss") stoplossmult = input(3.8, defval = 3.8, minval = 1, maxval = 10, title = "Stop loss multiplicator") 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") bodymin = min( open, close) bodymax = max(open, close) pcmax = highest(bodymax, history) pcmin = lowest(bodymin, history) yh = ((pcmax - pcmin) / 100 * (100 - percentDev)) + pcmin yl = ((pcmax - pcmin) / 100 * percentDev) + pcmin plot(pcmax) plot(pcmin) plot(yh) plot(yl) //1 bounddn = low < yl ? 1 : 0 boundup = high > yh ? 1 : 0 upsign = sma(bounddn, 2) == 1 dnsign = sma(boundup, 2) == 1 //2 //upsign = crossover(bodymin, yl) //dnsign = crossunder(bodymax , yh) exitup = dnsign exitdn = upsign lot = strategy.equity / close * capital / 100 xATR = atr(history) nLoss = usestoploss ? stoplossmult * xATR : na stop_level_long = 0.0 stop_level_long := nz(stop_level_long[1]) stop_level_short = 0.0 stop_level_short := nz(stop_level_short[1]) pos = strategy.position_size if pos >0 and pos[1] <= 0 //crossover(pos, 0.5) stop_level_long = strategy.position_avg_price - nLoss if pos < 0 and pos[1] >= 0 //crossunder(pos, -0.5) stop_level_short = strategy.position_avg_price + nLoss if pos == 0 stop_level_long = bodymin - nLoss stop_level_short = bodymax + nLoss //plot(bodymax + nLoss, color=red) //plot(bodymin - nLoss, color=red) plot(stop_level_long, color=red) plot(stop_level_short, color=red) if upsign strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if dnsign strategy.entry("Short", strategy.short, needshort == false ? 0 : na) if true strategy.close_all() //if strategy.position_size != 0 // strategy.exit("Exit Long", from_entry = "Long", stop = stop_level_long) // strategy.exit("Exit Short", from_entry = "Short", stop = stop_level_short)