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


সৃষ্টির তারিখ: 2024-04-29 14:56:35 অবশেষে সংশোধন করুন: 2024-04-29 14:56:35
অনুলিপি: 0 ক্লিকের সংখ্যা: 701
1
ফোকাস
1617
অনুসারী

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

ওভারভিউ

ডোনচিয়ান ব্রেকডাউন ট্রেডিং কৌশল একটি ট্রেডিং সিস্টেম যা ডোনচিয়ান চ্যানেলের সূচকগুলির উপর ভিত্তি করে তৈরি করা হয়। এই কৌশলটির মূল ধারণা হ’ল ডোনচিয়ান চ্যানেলের উর্ধ্বমুখী এবং নিম্নমুখী ব্রেকডাউন দ্বারা বাজার প্রবণতা ক্যাপচার করা এবং একটি স্থির ঝুঁকি-উপার্জন অনুপাত (আরআর) ব্যবহার করে স্টপ লস করা। যখন দাম ডোনচিয়ান চ্যানেলের উর্ধ্বমুখী অতিক্রম করে এবং ডোনচিয়ান চ্যানেলের চক্রের সাথে সম্পর্কিত নতুন উচ্চতা তৈরি করে তখন এটি খোলা থাকে, যখন এটি নীচের ট্র্যাকটি অতিক্রম করে এবং নতুন নিম্নমুখী সৃষ্টি করে তখন এটি খোলা থাকে। একই সাথে, স্টপ লস অবস্থানটি ডোনচিয়ান চ্যানেলের মধ্যে স্থাপন করা হয়, স্টপ লস অবস্থানটি সেট করা ঝুঁকি-উপার্জনের অনুপাত (আরআর) এর উপর ভিত্তি করে গণনা করা হয়।

কৌশল নীতি

  1. Donchian channel গণনা করুনঃ সেট করা Donchian channel চক্রের উপর ভিত্তি করে ((ডিফল্ট 20)), এই চক্রের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্য গণনা করুন, যথাক্রমে Donchian channel এর উপরের এবং নীচের রেল হিসাবে, এবং উপরের এবং নীচের রেলের মধ্যবর্তী পয়েন্টটি Donchian channel এর মধ্যবর্তী রেল হিসাবে গণনা করুন।
  2. নতুন উচ্চ / নতুন নিম্ন তৈরি হয়েছে কিনা তা নির্ধারণ করুনঃ বর্তমান ডোনচিয়ান চ্যানেলের আপ এবং ডাউন ট্র্যাককে পূর্ববর্তী চক্রের আপ এবং ডাউন ট্র্যাকের সাথে পুনরাবৃত্তির সাথে তুলনা করে, বর্তমান ডোনচিয়ান চ্যানেলের চক্রের তুলনায় নতুন উচ্চ বা নতুন নিম্ন তৈরি হয়েছে কিনা তা নির্ধারণ করুন। যদি নতুন উচ্চ তৈরি হয় তবে ডোনচিয়ান আপ ট্র্যাকটি নীল দেখায়; যদি নতুন নিম্ন তৈরি হয় তবে ডোনচিয়ান ডাউন ট্র্যাকটি নীল দেখায়।
  3. পজিশন খোলার বিরতিঃ যখন দাম বন্ধ হয়ে যায় তখন নীল ডোনচিয়ান উপরের ট্র্যাকটি ভেঙে একাধিক পজিশন খোলা হয়, নীল ডোনচিয়ান নীচের ট্র্যাকটি ভেঙে খালি পজিশন খোলা হয়। অর্থাৎ, কেবলমাত্র নতুন উচ্চ / নতুন নিম্ন তৈরি করার পরে বিরতি কার্যকর হয়।
  4. স্টপ লসঃ পজিশন খোলার সময় পজিশন খোলার মূল্য এবং বর্তমান ডোনচিয়ান চ্যানেলের মধ্যবর্তী মূল্য রেকর্ড করা হয় এবং উভয়ের মধ্যে মূল্যের পার্থক্য গণনা করা হয়। স্টপ লস অবস্থানটি ডোনচিয়ান চ্যানেলের মধ্যবর্তী স্থানে সেট করা হয়, স্টপ লস অবস্থানটি নির্ধারিত ঝুঁকি-লাভের অনুপাতের উপর ভিত্তি করে ((ডিফল্ট 5 গুণ) এবং এই মূল্যের পার্থক্য গণনা করা হয়।
  5. সমতল অবস্থান: যখন দাম স্টপ বা স্টপ লস মূল্য স্পর্শ করে তখন সমতল অবস্থান।

কৌশলগত সুবিধা

  1. ট্রেন্ডিং মার্কেটের জন্য উপযুক্তঃ ডোনচিয়ান ব্রেকিং কৌশলটি ট্রেন্ডিং পরিস্থিতিতে ভাল কাজ করে, বাজার প্রবণতার দিকনির্দেশনা অনুসারে ট্রেডিং করে, আপ-ট্র্যাক / ডাউন-ট্র্যাক পজিশনটি ভেঙে দেয়।
  2. নতুন উচ্চ / নতুন নিম্ন ফিল্টারিংঃ কৌশলটি ডোনচিয়ান চ্যানেলের চক্রের নতুন উচ্চ / নতুন নিম্ন তৈরি করা হয়েছে কিনা তা বিচার করে, কিছু গোলমাল সংকেত এবং মিথ্যা বিরতিগুলি ফিল্টার করে, খোলার সংকেতের গুণমান উন্নত করে।
  3. ফিক্সড রিস্ক-পেয়ার রেটঃ প্রতিটি লেনদেনের স্টপ ও লস পজিশন ফিক্সড রিস্ক-পেয়ার রেটের উপর ভিত্তি করে, ঝুঁকি নিয়ন্ত্রণযোগ্য, তহবিল পরিচালনার জন্য উপকারী।
  4. প্যারামিটার সহজঃ কৌশল প্যারামিটার সেট করা সহজ, প্রধানত ডোনচিয়ান চ্যানেলের সময়কাল এবং ঝুঁকি-লাভের অনুপাত, অপ্টিমাইজ করা এবং নিয়ন্ত্রণ করা সহজ।

কৌশলগত ঝুঁকি

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

কৌশল অপ্টিমাইজেশনের দিকনির্দেশনা

  1. ডায়নামিক স্টপঃ মূল্যের গতিশীলতা, অস্থিরতা ইত্যাদির উপর ভিত্তি করে রিয়েল-টাইমে স্টপ পজিশনগুলি সামঞ্জস্য করুন, যেমন এটিআরকে স্টপ রেফারেন্স হিসাবে ব্যবহার করে, একক লেনদেনের ঝুঁকি হ্রাস করুন।
  2. প্রবণতা ফিল্টারঃ প্রবণতা নির্ধারণের সূচক যেমন চলমান গড় যোগ করুন, কেবলমাত্র প্রবণতার দিকটি স্পষ্ট হলেই পজিশন খুলুন, সংকেতের গুণমান উন্নত করুন।
  3. অন্যান্য সূচকগুলির সাথে মিলিতঃ যেমন RSI, MACD এবং অন্যান্য গতিশীল সূচকগুলির সাথে মিলিত, পজিশন খোলার সময়কে সমন্বিতভাবে মূল্যায়ন করুন।
  4. পজিশন ম্যানেজমেন্ট: বাজারের প্রবণতার শক্তি, ওঠানামা এবং অন্যান্য গতিশীলতার উপর ভিত্তি করে পজিশনের আকার পরিবর্তন করুন, সামগ্রিক ঝুঁকি নিয়ন্ত্রণ করুন।
  5. প্যারামিটার স্বনির্ধারণঃ মেশিন লার্নিং এবং অন্যান্য পদ্ধতি ব্যবহার করে প্যারামিটার সেটিংগুলিকে স্বনির্ধারণের জন্য অনুকূলিতকরণ।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 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/
// © Dillon_Grech
//---------------------------------------------//

//---------------------------------------------//
// Simple donchian channel break out strategy
// which only enters trades when price closes
// above donchian upper and creates new high 
// (long) or price closes below donchian lower
// and creates new low, relative to the donchian
// length. This is indicated by the donchian
// upper and lower color (blue). Stop loss is
// located at donchian basis and take profit
// is set at Risk Reward (RR) profit target.
//---------------------------------------------//
//@version=5
strategy("Donchian New High/Low Strategy [Dillon Grech]", overlay=true)

//---------------------------------------------//

//---------------------------------------------//
//INDICATOR 1 - Donchian New High Low Price Close
don_length = input.int(20, minval = 1)
don_lower  = ta.lowest(don_length)
don_upper  = ta.highest(don_length)
don_basis  = math.avg(don_upper, don_lower)

//loop
don_lower_upper  = true
don_higher_lower = true
for i = 0 to don_length - 1
    //Check for higher high over don_length
    if don_upper > don_upper[i]
        don_lower_upper := false
    //Check for lower low over don_length
    if don_lower < don_lower[i]
        don_higher_lower := false

//Plot
c_ora = color.orange
c_blu = color.blue
c_gra = color.gray
color_basis = c_ora
color_upper = don_lower_upper  ? c_blu : c_gra
color_lower = don_higher_lower ? c_blu : c_gra
plot(don_basis,     "Don Basis", color_basis, 2)
u = plot(don_upper, "Don Upper", color_upper, 2)
l = plot(don_lower, "Don Lower", color_lower, 2)

//Conditions
Ind_1_L = ta.crossover(close, don_upper[1]) and 
   don_lower_upper[1]
Ind_1_S = ta.crossunder(close,don_lower[1]) and 
   don_higher_lower[1]
//---------------------------------------------//

//---------------------------------------------//
//ENTRY CONDITIONS
entry_long  = strategy.position_size<=0 and
   Ind_1_L
entry_short = strategy.position_size>=0 and
   Ind_1_S

if(entry_long)
    strategy.entry("Long Entry", strategy.long)
if(entry_short)
    strategy.entry("Short Entry", strategy.short)
//---------------------------------------------/

//---------------------------------------------//
//TAKE PROFIT AND STOP LOSS CONDITIONS
profit_RR = input.float(5.0,"RR Profit Target")

//Store Price on new entry signal
entry_price = strategy.opentrades.entry_price(
   strategy.opentrades-1)

//Store Donchain Channel Basis
entry_don_basis = float(0.0)
if entry_long or entry_short
    entry_don_basis := don_basis
else
    entry_don_basis := entry_don_basis[1]

//Get stop loss distance
stop_distance = math.abs(entry_price -
   entry_don_basis)
stop_L   = entry_price - stop_distance
profit_L = entry_price + stop_distance*profit_RR
stop_S   = entry_price + stop_distance
profit_S = entry_price - stop_distance*profit_RR

//Plot TP and SL
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? profit_L : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? stop_L : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na : 
   strategy.position_size < 0 ? profit_S : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size < 0 ? stop_S : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)

//Exit long trades
strategy.exit(id = 'Exit Long', 
   from_entry ='Long Entry', 
   stop = stop_L, limit = profit_L)
strategy.exit(id = 'Exit Short', 
   from_entry ='Short Entry', 
   stop = stop_S, limit = profit_S)
//---------------------------------------------//