
इस रणनीति का मुख्य विचार यह है कि अल्पकालिक गिरावट के अंत के बाद निम्न औसत कीमतों को नियमित रूप से ट्रैक किया जाए। विशेष रूप से, रणनीति हर महीने के अंत में अल्पकालिक गिरावट के अंत के समय की पहचान करेगी, इसलिए नियमित रूप से स्थिति जोड़ें; और अंतिम के-लाइन बंद होने पर स्टॉक से बाहर निकलें।
यह रणनीति के लिए बुनियादी व्यापार प्रक्रिया और सिद्धांतों के बारे में है। यह ध्यान देने योग्य है कि रणनीति डिफ़ॉल्ट रूप से \( 1,000 प्रति माह के फंड ट्रैकिंग का उपयोग करती है, जो बैकटेस्ट में 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)