ডনচিয়ান চ্যানেলের অভিযোজনমূলক প্রবণতা কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১০-২৬
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি ট্রেন্ড ট্রেডিংয়ের জন্য বাজারের প্রবণতা অনুকূলভাবে ট্র্যাক করার জন্য ডনচিয়ান চ্যানেল সূচক ব্যবহার করে। এটি যখন দাম ডনচিয়ান চ্যানেলের মধ্য দিয়ে ভেঙে যায় তখন প্রবণতা অনুসরণ করে এবং যখন দাম চ্যানেলে ফিরে আসে তখন ক্ষতি কমানো।

কৌশলগত যুক্তি

  1. ডনচিয়ান চ্যানেল গঠনের জন্য একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ উচ্চ এবং সর্বনিম্ন নিম্ন গণনা করুন। চ্যানেলের মাঝারি রেখাটি সর্বোচ্চ উচ্চ এবং সর্বনিম্ন নিম্নের গড়।

  2. যখন দাম চ্যানেলের উপরের ব্যান্ডের উপরে ভেঙে যায় তখন লং পজিশন খুলুন। যখন দাম নীচের ব্যান্ডের নীচে ভেঙে যায় তখন শর্ট পজিশন খুলুন।

  3. পজিশন খোলার পর, স্টপ লস চ্যানেলের মাঝারি রেখা ট্র্যাক করে।

  4. হার কমানো এবং যখন দাম চ্যানেলের মধ্যে ফিরে আসে তখন পজিশন বন্ধ করুন।

সুবিধা বিশ্লেষণ

  1. কৌশলটি ট্রেন্ডের দিকনির্দেশনা নির্ধারণ এবং দ্রুত ব্রেকআউটগুলি ধরার জন্য ডনচিয়ান চ্যানেল ব্যবহার করে।

  2. স্টপ লসের জন্য চ্যানেল মিডল লাইন ব্যবহার করে লাভ রক্ষা করা হয়।

  3. লাভের লক্ষ্যমাত্রা ব্যবহারকারীর দ্বারা নির্ধারিত লাভের শতাংশ অনুসারে প্রসারিত হয়।

  4. এটি বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নেয় যেমন একীকরণ, ব্রেকআউট, পলব্যাক ইত্যাদি এবং নমনীয়ভাবে অবস্থানের আকার সামঞ্জস্য করে।

  5. সহজ এবং পরিষ্কার ট্রেডিং লজিক, সহজেই বোঝা যায় এবং মাস্টার করা যায়।

ঝুঁকি বিশ্লেষণ

  1. এই কৌশলটি শুধুমাত্র ব্রেকআউট ট্রেড করে এবং কার্যকরভাবে সংহতকরণ পরিচালনা করতে পারে না।

  2. ভুয়া ব্রেকআউট সিগন্যালের ঝুঁকি রয়েছে, যাচাইয়ের জন্য অন্যান্য সূচক প্রয়োজন।

  3. অপ্রয়োজনীয় স্টপ লস এবং লাভ গ্রহণের সেটিংস অকাল প্রস্থান বা অপর্যাপ্ত লাভের দিকে পরিচালিত করতে পারে।

  4. ভুল চ্যানেল সময়কাল সেটিং ট্রেডিং সংকেত সঠিকতা প্রভাবিত করে।

  5. অত্যধিক পজিশনের আকার বাড়ে বাজার ওঠানামা ঝুঁকি।

  6. অপ্রত্যাশিত রোবট বিচ্ছিন্নতার ঝুঁকি রয়েছে, সিস্টেমের নির্ভরযোগ্যতা নিশ্চিত করুন।

উন্নতির নির্দেশাবলী

  1. ভুয়া ব্রেকআউট এড়াতে ভলিউম ইন্ডিকেটর যোগ করুন।

  2. এন্ট্রি সিগন্যালের নির্ভুলতা বাড়াতে প্রবণতা সূচক ফিল্টার বাড়ান।

  3. ডায়নামিক স্টপ লস এবং লাভের অ্যালগরিদম অপ্টিমাইজ করুন।

  4. রিয়েল-টাইম মার্কেটের অবস্থার উপর ভিত্তি করে পজিশন সাইজিং কৌশল সামঞ্জস্য করুন।

  5. আরও ভাল প্রবেশের সময়সূচির জন্য রাতারাতি এবং প্রাক-মার্কেট ডেটা গবেষণা করুন।

  6. সর্বোত্তম সমন্বয় খুঁজে পেতে বিভিন্ন প্যারামিটার সময় পরীক্ষা করুন।

  7. অতিরিক্ত ফিটিং এড়াতে মডেল ভ্যালিডেশন যোগ করুন।

সিদ্ধান্ত

সামগ্রিকভাবে, এটি একটি সহজ এবং ব্যবহারিক অভিযোজিত প্রবণতা অনুসরণকারী কৌশল। এটিতে প্রবণতা ব্রেকআউটগুলি দ্রুত ক্যাপচার করা এবং মুনাফা রক্ষা করার মতো সুবিধা রয়েছে। এটিতে সংহতকরণের সময় অকার্যকরতা এবং মিথ্যা ব্রেকআউট থেকে ক্ষতির মতো অসুবিধাও রয়েছে। ভবিষ্যতের উন্নতিগুলি আরও বেশি সংকেত ফিল্টারিং, গতিশীল স্টপ লস / লাভ গ্রহণ, আরও বাজারের অবস্থার সাথে মানিয়ে নিতে অন্তর্ভুক্ত করা।


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2020

//@version=4
strategy(title = "Noro's Donchian Strategy", shorttitle = "Donchian str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
tp = input(defval = 10, minval = 1, title = "Take profit")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
pclen = input(50, minval = 1, title = "Price Channel Length")
showll = input(true, defval = true, title = "Show lines")
showbg = input(false, defval = false, title = "Show Background")
showof = input(true, defval = true, title = "Show Offset")
fromyear = input(1900, defval = 1900, 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")

//Price Channel
h = highest(high, pclen)
l = lowest(low, pclen)
center = (h + l) / 2
tpl = h * (100 + tp) / 100
tps = l * (100 - tp) / 100

//Lines
tpcol = showll ? color.lime : na
pccol = showll ? color.blue : na
slcol = showll ? color.red : na
offset = showof ? 1 : 0
plot(tpl, offset = offset, color = tpcol, title = "TP Long")
plot(h, offset = offset, color = pccol, title = "Channel High")
plot(center, offset = offset, color = slcol, title = "Cannel Center")
plot(l, offset = offset, color = pccol, title = "Channel Low")
plot(tps, offset = offset, color = tpcol, title = "TP Short")

//Background
size = strategy.position_size
bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(bgcol, transp = 70)

//Trading
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
mo = 0
mo := strategy.position_size != 0 ? 0 : high >= center and low <= center ? 1 : mo[1]
if h > 0
    strategy.entry("Long", strategy.long, lot, stop = h, when = strategy.position_size <= 0 and needlong and truetime and mo)
    strategy.exit("TP Long", "Long", limit = tpl, stop = center)
    strategy.entry("Short", strategy.short, lot, stop = l, when = strategy.position_size >= 0 and needshort and truetime and mo)
    strategy.exit("TP Short", "Short", limit = tps, stop = center)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")

আরো