ডনচিয়ান চ্যানেলস ব্রেকআউট কোন্টিটিভেটিভ ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

নীতিমালা

এই কৌশলটি ডনচিয়ান চ্যানেল সূচকের উপর ভিত্তি করে। ডনচিয়ান চ্যানেলগুলি একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন দাম দ্বারা আঁকা চ্যানেল। এর গণনার পদ্ধতিটি হলঃ

Upper Rail = সর্বশেষ n সময়ের মধ্যে সর্বোচ্চ মূল্য নিম্ন রেল = সর্বশেষ n সময়ের সর্বনিম্ন মূল্য

যখন দামগুলি উপরের রেলটি ভেঙে যায়, তখন এটি দীর্ঘ প্রবণতা শুরু হয়েছে বলে মনে করা হয়। যখন দামগুলি নিম্ন রেলটি ভেঙে যায়, তখন এটি সংক্ষিপ্ত প্রবণতা শুরু হয়েছে বলে মনে করা হয়। এই কৌশলটি কেবলমাত্র উপরের রেলটি ভেঙে যাওয়ার ক্ষেত্রে বিবেচনা করে।

নির্দিষ্ট ট্রেডিং লজিক হলঃ

  1. গত n সময়ের মধ্যে সর্বোচ্চ মূল্য ব্যবহার করে ডনচিয়ান চ্যানেলের উপরের রেলটি প্লট করুন
  2. যখন বন্ধের দাম উপরের রেলের মধ্য দিয়ে যায়, তখন লম্বা হয়ে যায়
  3. নিম্ন রেলের কাছাকাছি বা পূর্বনির্ধারিত স্টপ-লস পয়েন্টে ক্লোজিং প্রাইস ফিরে গেলে ট্রেলিং স্টপ দ্বারা লাভ গ্রহণ

সুবিধা

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. কৌশল ধারণাটি স্পষ্ট এবং বোঝা এবং বাস্তবায়ন করা সহজ
  2. ডনচিয়ান চ্যানেলগুলি প্রবণতার দিকনির্দেশনা দেওয়ার জন্য একটি পরিপক্ক এবং নির্ভরযোগ্য সূচক
  3. এটি ম্যানুয়াল হস্তক্ষেপ ছাড়া স্বয়ংক্রিয়ভাবে চ্যানেল সনাক্ত করে
  4. কাস্টমাইজযোগ্য পরামিতি এটি অত্যন্ত অভিযোজিত করে তোলে
  5. এটিতে হ্রাস সীমাবদ্ধ করার জন্য স্টপ লস প্রক্রিয়া রয়েছে

ঝুঁকি

এছাড়াও কিছু ঝুঁকি আছেঃ

  1. ডনচিয়ান চ্যানেলের ভুল ফাঁক হতে পারে, যা অপ্রয়োজনীয় ক্ষতির কারণ হতে পারে
  2. ভুল স্টপ লস পজিশনিং ক্ষতি বাড়াতে পারে
  3. যখন দাম চ্যানেল রেলের কাছাকাছি থাকে তখন বিপরীত ঝুঁকিগুলিতে মনোযোগ দিন
  4. অপর্যাপ্ত প্যারামিটার সেটিং কৌশল কর্মক্ষমতা নেতিবাচক প্রভাব ফেলতে পারে

সমাধান:

  1. মিথ্যা ব্রেকআউট এড়ানোর জন্য অন্যান্য সূচক অন্তর্ভুক্ত করে ফিল্টার যুক্ত করুন
  2. মসৃণ প্রস্থান জন্য স্টপ লস অবস্থান অপ্টিমাইজ
  3. যখন দাম চ্যানেল রেলের কাছাকাছি থাকে তখন পজিশনের আকার বৃদ্ধি বা লাভের পরিসীমা প্রসারিত করার বিষয়টি বিবেচনা করুন
  4. সর্বোত্তম মান খুঁজে পেতে বিভিন্ন পরামিতি পরীক্ষা করুন

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশল নিম্নলিখিত ক্ষেত্রে আরও অপ্টিমাইজ করা যেতে পারেঃ

  1. মিথ্যা ব্রেকআউট এড়াতে MACD, KD এর মত অন্যান্য সূচক যোগ করুন
  2. স্টপ লস প্রক্রিয়া অপ্টিমাইজ করুন, যেমন স্টপ লস সরানো
  3. অংশগ্রহণের হার নিয়ন্ত্রণের অপ্টিমাইজ করুন, উদাহরণস্বরূপ কেবলমাত্র অস্থিরতা বাড়ার সময় ট্রেড করুন
  4. সর্বোত্তম সমন্বয় খুঁজতে পরামিতি অপ্টিমাইজেশান

সংক্ষিপ্তসার

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


/*backtest
start: 2022-12-07 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
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/
// © Giovanni_Trombetta

// Strategy to capture price channel breakouts

//@version=4
strategy("ChannelsBreakout", max_bars_back=50, overlay=true)

instrument = input(1, title = "Select 1: Stock/Forex, 2: Future")
money = input(10000, title = "Money for each trade")
backtest_start = input(2000, "Insert first year to backtest")
period = input(50, title = "Period in bars of Donchian Channel")
monetary_stoploss = input(1000, title = "Monetary Stop Loss")

quantity = if instrument != 1 
    1
else
    int(money / close)
    
upBarrier = highest(high,period)
downBarrier = lowest(low,period)
up = highest(high,period / 4)
down = lowest(low,period / 4)

plot(upBarrier, color=color.green, linewidth=2)
plot(downBarrier, color=color.red, linewidth=2)
plot(up, color=color.lime, linewidth=1)
plot(down, color=color.orange, linewidth=2)

longCondition = crossover(close, upBarrier[1]) and year >= backtest_start

if (longCondition)
    strategy.entry("Long", strategy.long, quantity, when = strategy.position_size == 0)

closeCondition = crossunder(close, down[1]) or down < down[1]

if (closeCondition)
    strategy.close("Long", comment = "Trailing")
    
stop_level = strategy.position_avg_price - monetary_stoploss / strategy.position_size
strategy.exit("StopLoss", from_entry = "Long", stop = stop_level)
plot(stop_level, color=color.yellow, linewidth=2)

// l = label.new(bar_index, na,
//   text="PineScript Code", color= color.lime, textcolor = color.white,
//   style=label.style_labelup, yloc=yloc.belowbar, size=size.normal)
// label.delete(l[1])

আরো