اس حکمت عملی کا بنیادی خیال یہ ہے کہ قلیل مدتی کمی ختم ہونے کے بعد باقاعدگی سے کم اوسط قیمتوں کا سراغ لگایا جائے۔ خاص طور پر ، حکمت عملی ہر ماہ کے آخر میں قلیل مدتی کمی کے اختتام کی نشاندہی کرے گی ، تاکہ باقاعدگی سے پوزیشنیں شامل کی جائیں۔ اسی وقت ، آخری K لائن بند ہونے پر پوزیشنوں کو صاف کریں۔
باقاعدہ ٹریکنگ سگنل کا فیصلہ: 24 * 30 K لائنوں کے بعد (ایک مہینے کی نمائندگی کرتے ہوئے) ، یہ طے کیا جاتا ہے کہ باقاعدہ ٹریکنگ پوائنٹ تک پہنچ گیا ہے اور پہلا سگنل آؤٹ پٹ ہے۔
قلیل مدتی کمی کا فیصلہ: رجحان کا تعین کرنے کے لئے MACD اشارے کا استعمال کریں۔ جب MACD انحراف ہوتا ہے اور MACD سگنل لائن سے نیچے جاتا ہے تو ، یہ طے ہوتا ہے کہ قلیل مدتی کمی ختم ہوگئی ہے۔
داخلہ کے قوانین: جب باقاعدہ ٹریکنگ سگنل اور مختصر مدت کے خاتمے کے سگنل کو ایک ہی وقت میں متحرک کیا جاتا ہے تو ، ٹریکنگ سگنل جاری کیا جاتا ہے اور طویل پوزیشنیں کھولی جاتی ہیں۔
باہر نکلنے کے قواعد: جب آخری K لائن بند، تمام پوزیشنوں کو صاف.
مندرجہ بالا حکمت عملی کے بنیادی تجارتی بہاؤ اور اصول ہیں۔ یہ نوٹ کرنے کے قابل ہے کہ حکمت عملی میں ڈیفالٹ ٹریکنگ ہے۔\(1،000 فی مہینہ بیک ٹیسٹ میں ، جو 33 ماہ تک بڑھا دیا جائے گا ، یعنی کل سرمایہ کاری33,000.
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ باقاعدگی سے کم سطحوں پر پوزیشنیں بنا سکتا ہے۔ طویل مدتی نقطہ نظر سے ، یہ اعلی منافع پیدا کرنے کے لئے نسبتا affordable سستی اوسط لاگت کی قیمت حاصل کرسکتا ہے۔ اس کے علاوہ ، قلیل مدتی خرید پوائنٹس کی نشاندہی کرنے کے لئے ایم اے سی ڈی اشارے کا استعمال کرنا بھی کافی قابل اعتماد اور واضح ہے ، جو کسی حد تک ایک dead end میں جانے سے بچ سکتا ہے ، اور اس سے کسی حد تک نقصانات سے بھی بچ سکتا ہے۔
عام طور پر، یہ لاگت کی اوسط کی حکمت عملی ہے جو درمیانے اور طویل مدتی ہولڈرز کے لئے زیادہ مناسب ہے تاکہ وہ اطمینان بخش واپسی حاصل کرنے کے لئے باقاعدگی سے بیچ خریدیں.
اس حکمت عملی کا بنیادی خطرہ قلیل مدتی کمی کے اختتام کا درست اندازہ لگانے میں ناکامی ہے۔ کمی کے اختتام کے بارے میں ایم اے سی ڈی اشارے کا فیصلہ تاخیر کا شکار ہوسکتا ہے ، جس کی وجہ سے زیادہ سے زیادہ نقطہ پر داخل ہونے میں ناکامی ہوگی۔ اس کے علاوہ ، فنڈز کی منتشر سرمایہ کاری سے آپریٹنگ اخراجات میں بھی اضافہ ہوتا ہے۔
رجحانات کا تعین کرنے کے لئے مزید اشارے شامل کرنے پر غور کریں ، جیسے بولنگر بینڈ ، کے ڈی جے وغیرہ۔ یہ اشارے پیشگی طور پر الٹ ٹائمنگ کی پیش گوئی کرسکتے ہیں۔ ایک ہی وقت میں ، ہر ماہ سرمایہ کاری کی جانے والی فنڈز کی مقدار کو بہتر بنایا جاسکتا ہے تاکہ منافع پر آپریٹنگ اخراجات کے اثرات کو کم کیا جاسکے۔
اسٹریٹیجی کو مندرجہ ذیل سمتوں میں مزید بہتر بنایا جاسکتا ہے:
باقاعدہ ٹریکنگ سائیکل کو بہتر بنائیں، جیسے ہر دو ماہ میں ایک بار ٹریکنگ، زیادہ کثرت سے تجارت کے مسئلے کو کم کرنے کے لئے.
مزید اشارے شامل کریں تاکہ قلیل مدتی کمی کا اختتام طے کیا جاسکے، جس سے نقطہ آغاز کم ترین نقطہ کے قریب ہو جائے۔
بہترین ترتیب تلاش کرنے کے لئے ہر ماہ سرمایہ کاری کی رقم کو بہتر بنائیں.
قیمتوں میں بہت زیادہ گرنے پر زیادہ نقصانات سے بچنے کے لئے اسٹاپ نقصان کی حکمت عملیوں کو شامل کرنے کی کوشش کریں۔
بہترین ہولڈنگ کے دنوں کو تلاش کرنے کے لئے واپسی پر مختلف ہولڈنگ کی مدت کے اثرات کا تجربہ کریں.
اس ڈاؤن ٹرینڈ حکمت عملی کے بعد ڈالر کی لاگت کی اوسط کا مجموعی خیال واضح اور سمجھنے میں آسان ہے۔ باقاعدگی سے بحالی اور قلیل مدتی فیصلے کو جوڑ کر ، یہ زیادہ سستی اوسط لاگت کی قیمت حاصل کرسکتا ہے۔ اس حکمت عملی کی درمیانی اور طویل مدتی ہولڈنگ مستحکم واپسی پیدا کرسکتی ہے اور طویل مدتی سرمایہ کاری کی قیمت کے حصول کے خواہاں سرمایہ کاروں کے لئے موزوں ہے۔ اسی وقت ، کچھ ایسی سمتیں ہیں جن کو حکمت عملی کو مزید بہتر بنانے کے لئے بہتر بنایا جاسکتا ہے تاکہ اس کی کارکردگی ایک سطح تک بڑھ سکے۔
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © BHD_Trade_Bot // @version=5 strategy( shorttitle = 'DCA After Downtrend v2', title = 'DCA After Downtrend v2 (by BHD_Trade_Bot)', overlay = true, calc_on_every_tick = false, calc_on_order_fills = false, use_bar_magnifier = false, pyramiding = 1000, initial_capital = 0, default_qty_type = strategy.cash, default_qty_value = 1000, commission_type = strategy.commission.percent, commission_value = 1.1) // Backtest Time Period start_year = input(title='Start year' ,defval=2017) start_month = input(title='Start month' ,defval=1) start_day = input(title='Start day' ,defval=1) start_time = timestamp(start_year, start_month, start_day, 00, 00) end_year = input(title='end year' ,defval=2050) end_month = input(title='end month' ,defval=1) end_day = input(title='end day' ,defval=1) end_time = timestamp(end_year, end_month, end_day, 23, 59) window() => time >= start_time and time <= end_time ? true : false h1_last_bar = (math.min(end_time, timenow) - time)/1000/60/60 < 2 // EMA ema50 = ta.ema(close, 50) ema200 = ta.ema(close, 200) // EMA_CD emacd = ema50 - ema200 emacd_signal = ta.ema(emacd, 20) hist = emacd - emacd_signal // BHD Unit bhd_unit = ta.rma(high - low, 200) * 2 bhd_upper = ema200 + bhd_unit bhd_upper2 = ema200 + bhd_unit * 2 bhd_upper3 = ema200 + bhd_unit * 3 bhd_upper4 = ema200 + bhd_unit * 4 bhd_upper5 = ema200 + bhd_unit * 5 bhd_lower = ema200 - bhd_unit bhd_lower2 = ema200 - bhd_unit * 2 bhd_lower3 = ema200 - bhd_unit * 3 bhd_lower4 = ema200 - bhd_unit * 4 bhd_lower5 = ema200 - bhd_unit * 5 // Count n candles after x long entries var int nPastCandles = 0 var int entryNumber = 0 if window() nPastCandles := nPastCandles + 1 // ENTRY CONDITIONS // 24 * 30 per month entry_condition1 = nPastCandles > entryNumber * 24 * 30 // End of downtrend entry_condition2 = emacd < 0 and hist < 0 and hist > hist[2] ENTRY_CONDITIONS = entry_condition1 and entry_condition2 if ENTRY_CONDITIONS entryNumber := entryNumber + 1 entryId = 'Long ' + str.tostring(entryNumber) strategy.entry(entryId, strategy.long) // CLOSE CONDITIONS // Last bar CLOSE_CONDITIONS = barstate.islast or h1_last_bar if CLOSE_CONDITIONS strategy.close_all() // Draw colorRange(src) => if src > bhd_upper5 color.rgb(255,0,0) else if src > bhd_upper4 color.rgb(255,150,0) else if src > bhd_upper3 color.rgb(255,200,0) else if src > bhd_upper2 color.rgb(100,255,0) else if src > bhd_upper color.rgb(0,255,100) else if src > ema200 color.rgb(0,255,150) else if src > bhd_lower color.rgb(0,200,255) else if src > bhd_lower2 color.rgb(0,150,255) else if src > bhd_lower3 color.rgb(0,100,255) else if src > bhd_lower4 color.rgb(0,50,255) else color.rgb(0,0,255) bhd_upper_line = plot(bhd_upper, color=color.new(color.teal, 90)) bhd_upper_line2 = plot(bhd_upper2, color=color.new(color.teal, 90)) bhd_upper_line3 = plot(bhd_upper3, color=color.new(color.teal, 90)) bhd_upper_line4 = plot(bhd_upper4, color=color.new(color.teal, 90)) bhd_upper_line5 = plot(bhd_upper5, color=color.new(color.teal, 90)) bhd_lower_line = plot(bhd_lower, color=color.new(color.teal, 90)) bhd_lower_line2 = plot(bhd_lower2, color=color.new(color.teal, 90)) bhd_lower_line3 = plot(bhd_lower3, color=color.new(color.teal, 90)) bhd_lower_line4 = plot(bhd_lower4, color=color.new(color.teal, 90)) bhd_lower_line5 = plot(bhd_lower5, color=color.new(color.teal, 90)) // fill(bhd_upper_line5, bhd_lower_line5, color=color.new(color.teal, 95)) plot(ema50, color=color.orange, linewidth=3) plot(ema200, color=color.teal, linewidth=3) plot(close, color=color.teal, linewidth=1) plot(close, color=colorRange(close), linewidth=3, style=plot.style_circles)