
اس حکمت عملی کا بنیادی خیال یہ ہے کہ قلیل مدتی زوال کے اختتام کے بعد باقاعدگی سے کم اوسط قیمتوں کا سراغ لگایا جائے۔ خاص طور پر ، حکمت عملی ہر مہینے کے آخر میں اس وقت کی نشاندہی کرے گی جب قلیل مدتی زوال ختم ہوجائے گا ، لہذا باقاعدگی سے پوزیشنوں میں اضافہ کیا جائے گا۔ اور آخری K لائن بند ہونے پر اسٹاک کو صاف کریں۔
یہ حکمت عملی کے بنیادی ٹریڈنگ کے عمل اور اصولوں کے بارے میں ہے۔ یہ بات قابل ذکر ہے کہ حکمت عملی پہلے سے طے شدہ طور پر ہر ماہ 1000 ڈالر کی رقم کا سراغ لگاتی ہے ، جو بیک ٹیسٹ میں 33 ماہ تک بڑھ جاتی ہے ، جو کل 33،000 ڈالر ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ کم قیمتوں پر باقاعدگی سے ذخیرہ کرنے کی صلاحیت ہے ، طویل مدتی میں خریداری کی زیادہ سازگار لاگت حاصل کرنے کے لئے ، اعلی منافع کی شرح پیدا کریں۔ اس کے علاوہ ، MACD اشارے کا استعمال کرتے ہوئے قلیل مدتی خریداری کے مقامات کی شناخت بھی قابل اعتماد اور واضح ہے ، اس سے گلیوں میں غلطی نہیں ہوگی ، جس سے کسی حد تک نقصان سے بھی بچا جاسکتا ہے۔
مجموعی طور پر ، یہ ایک قیمت پر مبنی حکمت عملی ہے ، جو درمیانی اور لمبی لائن رکھنے والوں کے لئے موزوں ہے جو باقاعدگی سے بیچوں میں خریدتے ہیں ، جس سے اطمینان بخش منافع کی واپسی ہوتی ہے۔
حکمت عملی کا بنیادی خطرہ یہ ہے کہ قلیل مدتی زوال کے اختتام کا درست اندازہ نہیں لگایا جاسکتا ہے۔ MACD اشارے میں زوال کے اختتام کا اندازہ لگانے کا وقت تاخیر کا شکار ہوسکتا ہے ، جس کی وجہ سے قیمتیں زیادہ سے زیادہ خریدنے سے قاصر ہوجاتی ہیں۔ اس کے علاوہ ، فنڈز کی تقسیم شدہ سرمایہ کاری سے آپریٹنگ لاگت میں بھی اضافہ ہوتا ہے۔
رجحانات کا اندازہ لگانے کے لئے مزید اشارے شامل کرنے پر غور کیا جاسکتا ہے ، جیسے برن لائن ، کے ڈی جے ، وغیرہ۔ یہ اشارے اس بات کا اندازہ لگانے کے لئے استعمال کیے جاسکتے ہیں کہ الٹ جانے کا وقت کب ہے۔ اس کے علاوہ ، آپریٹنگ اخراجات کے منافع پر اثر کو کم کرنے کے لئے ماہانہ سرمایہ کاری کی مقدار کو بہتر بنایا جاسکتا ہے۔
اس حکمت عملی کو مزید بہتر بنانے کے لیے درج ذیل نکات پر غور کیا جا سکتا ہے:
باقاعدگی سے ٹریکنگ کے وقت کی مدت کو بہتر بنائیں ، جیسے ہر دو ماہ میں باقاعدگی سے ٹریکنگ میں تبدیلی ، وغیرہ ، بہت زیادہ بار بار تجارت کے مسائل کو کم کریں۔
مزید اشارے کے ساتھ مل کر مختصر مدت کے زوال کے خاتمے کے وقت کا تعین کریں ، جس سے خریداری کی جگہ کم سے کم حد کے قریب ہو۔
ماہانہ سرمایہ کاری کی مقدار کو بہتر بنانے کے لئے ، بہترین ترتیب تلاش کریں۔
اس میں نقصان کو روکنے کی حکمت عملی کو شامل کرنے کی کوشش کریں تاکہ گہرائی سے گرنے سے بچنے کے لۓ نقصان نہ ہو.
مختلف پوزیشنوں کے دورانیے کے منافع پر اثرات کی جانچ پڑتال کریں اور پوزیشن رکھنے کے لئے بہترین دن تلاش کریں۔
یہ باقاعدگی سے کم وادی کی اوسط قیمت کی حکمت عملی کا مجموعی نظریہ واضح اور آسان سمجھتا ہے ، جس میں باقاعدگی سے اضافے اور قلیل مدتی فیصلے کا امتزاج کیا جاتا ہے ، اس سے زیادہ قیمت کی قیمت حاصل کی جاسکتی ہے۔ اس حکمت عملی کو رکھنے والے وسط لمبی لائن مستحکم منافع حاصل کرسکتے ہیں ، جو طویل مدتی سرمایہ کاری کی قدر کی تلاش کرنے والے سرمایہ کاروں کے لئے موزوں ہیں۔ اس کے ساتھ ہی کچھ ایسی سمتیں بھی ہیں جن میں اصلاح کی جاسکتی ہے ، اور اس حکمت عملی کو مزید بہتر بنانے کے لئے توجہ دی جاسکتی ہے ، تاکہ اس کی کارکردگی کو ایک منزل اوپر لایا جاسکے۔
/*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)