ڈاؤن ٹرینڈ حکمت عملی کے بعد ڈالر کی لاگت کا اوسط

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

img

جائزہ

اس حکمت عملی کا بنیادی خیال یہ ہے کہ قلیل مدتی کمی ختم ہونے کے بعد باقاعدگی سے کم اوسط قیمتوں کا سراغ لگایا جائے۔ خاص طور پر ، حکمت عملی ہر ماہ کے آخر میں قلیل مدتی کمی کے اختتام کی نشاندہی کرے گی ، تاکہ باقاعدگی سے پوزیشنیں شامل کی جائیں۔ اسی وقت ، آخری K لائن بند ہونے پر پوزیشنوں کو صاف کریں۔

حکمت عملی کا اصول

  1. باقاعدہ ٹریکنگ سگنل کا فیصلہ: 24 * 30 K لائنوں کے بعد (ایک مہینے کی نمائندگی کرتے ہوئے) ، یہ طے کیا جاتا ہے کہ باقاعدہ ٹریکنگ پوائنٹ تک پہنچ گیا ہے اور پہلا سگنل آؤٹ پٹ ہے۔

  2. قلیل مدتی کمی کا فیصلہ: رجحان کا تعین کرنے کے لئے MACD اشارے کا استعمال کریں۔ جب MACD انحراف ہوتا ہے اور MACD سگنل لائن سے نیچے جاتا ہے تو ، یہ طے ہوتا ہے کہ قلیل مدتی کمی ختم ہوگئی ہے۔

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

  4. باہر نکلنے کے قواعد: جب آخری K لائن بند، تمام پوزیشنوں کو صاف.

مندرجہ بالا حکمت عملی کے بنیادی تجارتی بہاؤ اور اصول ہیں۔ یہ بات قابل ذکر ہے کہ حکمت عملی بیک ٹیسٹ میں ہر ماہ 1،000 ڈالر کی نگرانی کرنے کے لئے ڈیفالٹ ہے ، جسے 33 ماہ تک بڑھا دیا جائے گا ، یعنی مجموعی سرمایہ کاری 33،000 ڈالر ہوگی۔

فوائد کا تجزیہ

اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ باقاعدگی سے کم سطحوں پر پوزیشنیں بنا سکتا ہے۔ طویل مدتی نقطہ نظر سے ، یہ اعلی منافع پیدا کرنے کے لئے نسبتا affordable سستی اوسط لاگت کی قیمت حاصل کرسکتا ہے۔ اس کے علاوہ ، قلیل مدتی خرید پوائنٹس کی نشاندہی کرنے کے لئے ایم اے سی ڈی اشارے کا استعمال کرنا بھی کافی قابل اعتماد اور واضح ہے ، جو کسی حد تک ایک dead end میں جانے سے بچ سکتا ہے ، اور اس سے کسی حد تک نقصانات سے بھی بچ سکتا ہے۔

عام طور پر، یہ لاگت کی اوسط کی حکمت عملی ہے جو درمیانے اور طویل مدتی ہولڈرز کے لئے زیادہ مناسب ہے تاکہ وہ اطمینان بخش واپسی حاصل کرنے کے لئے باقاعدگی سے بیچ خریدیں.

خطرات اور حل

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

رجحانات کا تعین کرنے کے لئے مزید اشارے شامل کرنے پر غور کریں ، جیسے بولنگر بینڈ ، کے ڈی جے وغیرہ۔ یہ اشارے پیشگی طور پر الٹ ٹائمنگ کی پیش گوئی کرسکتے ہیں۔ ایک ہی وقت میں ، ہر ماہ سرمایہ کاری کی جانے والی فنڈز کی مقدار کو بہتر بنایا جاسکتا ہے تاکہ منافع پر آپریٹنگ اخراجات کے اثرات کو کم کیا جاسکے۔

اصلاح کی ہدایات

اسٹریٹیجی کو مندرجہ ذیل سمتوں میں مزید بہتر بنایا جاسکتا ہے:

  1. باقاعدہ ٹریکنگ سائیکل کو بہتر بنائیں، جیسے ہر دو ماہ میں ایک بار ٹریکنگ، زیادہ کثرت سے تجارت کے مسئلے کو کم کرنے کے لئے.

  2. مزید اشارے شامل کریں تاکہ قلیل مدتی کمی کا اختتام طے کیا جاسکے، جس سے نقطہ آغاز کم ترین نقطہ کے قریب ہو جائے۔

  3. بہترین ترتیب تلاش کرنے کے لئے ہر ماہ سرمایہ کاری کی رقم کو بہتر بنائیں.

  4. قیمتوں میں بہت زیادہ گرنے پر زیادہ نقصانات سے بچنے کے لئے اسٹاپ نقصان کی حکمت عملیوں کو شامل کرنے کی کوشش کریں۔

  5. بہترین ہولڈنگ کے دنوں کو تلاش کرنے کے لئے واپسی پر مختلف ہولڈنگ کی مدت کے اثرات کا تجربہ کریں.

خلاصہ

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


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


مزید