এই কৌশলটি স্ট্যান্ডার্ড ডনচিয়ান চ্যানেল সূচকের উপর ভিত্তি করে তৈরি করা হয়েছে। এটি বাজার নির্মাতাদের দ্বারা জালিয়াতি এড়ানোর জন্য ট্রেডিং সংকেত জারি করার আগে ডিফল্টরূপে নিশ্চিত হওয়ার জন্য পরপর দুটি উচ্চতর উচ্চ (বা নিম্ন নিম্ন) এর জন্য অপেক্ষা করে।
এই কৌশলটি দ্বৈত নিশ্চিতকরণ প্রক্রিয়াটি অক্ষম করার বিকল্পও প্রদান করে, যাতে এটি নতুন উচ্চতা বা নিম্নতা দেখার সাথে সাথে ট্রেডিং সংকেত জারি করতে পারে।
যারা শর্ট পজিশন করতে পছন্দ করেন না তাদের জন্য শর্ট পজিশন বাদ দেওয়ার বিকল্পও রয়েছে।
কৌশলটি ডনচিয়ান চ্যানেল সূচকের উপরের এবং নীচের ব্যান্ডের উপর ভিত্তি করে। উপরের ব্যান্ডটি গত n বারের মধ্যে সর্বোচ্চ উচ্চ, যখন নীচের ব্যান্ডটি গত n বারের মধ্যে সর্বনিম্ন নিম্ন। ডিফল্ট লুকব্যাক সময়কাল n হল 20।
মাঝারি ব্যান্ডটি উপরের এবং নীচের ব্যান্ডগুলির গড়, এবং এটি প্রবণতা দিক পরিমাপ করতে ব্যবহার করা যেতে পারে।
যখন দাম উপরের ব্যাণ্ডের উপরে ভেঙে যায়, তখন যদি কোনও বিদ্যমান লং পজিশন না থাকে তবে কৌশলটি দীর্ঘ হবে। যখন দামটি নীচের ব্যান্ডের নীচে ভেঙে যায়, তখন কোনও বিদ্যমান শর্ট পজিশন না থাকলে কৌশলটি শর্ট হবে।
মিথ্যা ব্রেকআউট ফিল্টার করার জন্য,
এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ
ডনচিয়ান চ্যানেলের সূচকটি সহজ এবং সহজেই বোঝা যায়।
ডাবল কনফার্মেশন মেশিনটি কার্যকরভাবে ভুয়া ব্রেকআউটগুলি ফিল্টার করে এবং ফাঁদে পড়া এড়ায়।
বিভিন্ন বাজারের পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য চ্যানেল পুনর্বিবেচনার সময়কাল কাস্টমাইজযোগ্য।
শর্ট বিক্রয় বিকল্প বিভিন্ন বিনিয়োগকারীর চাহিদা পূরণ করে।
কোডটি পরিষ্কার এবং আরও উন্নয়নের জন্য সহজেই বোঝা যায়।
এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ
ডাবল কনফার্মেশনের ফলে কিছু ট্রেডিং সুযোগ মিস হতে পারে।
চ্যানেলের সময়কালের অপ্রয়োজনীয় সেটিংস অত্যধিক ঘন ঘন বা বিরল ট্রেডিংয়ের কারণ হতে পারে।
দীর্ঘ সময় ধরে ধরে রাখা ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করতে পারে না।
শর্ট সেলিংয়ের অতিরিক্ত ঝুঁকি সম্পর্কে সতর্ক থাকতে হবে।
ব্যাকটেস্টের অতিরিক্ত ফিটিং নিয়ে সতর্ক থাকতে হবে।
সংশ্লিষ্ট সমাধানঃ
ডাবল কনফার্মেশন অক্ষম করুন অথবা কনফার্মেশন ইন্টারভেল সংক্ষিপ্ত করুন।
প্যারামিটার অপ্টিমাইজ করুন এবং উপযুক্ত চ্যানেল সময় নির্বাচন করুন।
স্টপ লস/লাভ প্রতি ট্রেড লসকে যুক্তিসঙ্গতভাবে সীমাবদ্ধ করুন।
শর্ট সেলিং নিষ্ক্রিয় করুন, শুধুমাত্র লং সেলিং করুন।
বিভিন্ন বাজার পরিবেশে কৌশলটি দৃঢ়ভাবে মূল্যায়ন করুন।
উন্নত করার সুযোগগুলির মধ্যে রয়েছেঃ
অস্থিরতার উপর ভিত্তি করে পজিশনের আকারকে গতিশীলভাবে সামঞ্জস্য করুন।
ভ্রান্ত ব্রেকআউট ফিল্টার করুন ব্রেকআউট তীব্রতার মেট্রিকের ভিত্তিতে।
প্রবণতা অনুসরণ করার জন্য ট্রেলিং স্টপ মেকানিজম অন্তর্ভুক্ত করুন।
প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য অন্যান্য সূচকগুলিকে একত্রিত করুন এবং প্রধান বাঁক পয়েন্টগুলি মিস করা এড়ান।
মেশিন লার্নিং এর মাধ্যমে স্বয়ংক্রিয়ভাবে প্যারামিটার অপ্টিমাইজ করুন।
এই উন্নতিগুলি কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও উন্নত করতে পারে।
এটি ডনচিয়ান চ্যানেলের দ্বৈত নিশ্চিতকরণ ব্যবস্থার উপর ভিত্তি করে একটি সহজ তবে কার্যকর প্রবণতা অনুসরণকারী কৌশল। প্যারামিটার টিউনিং এবং বৈশিষ্ট্য সম্প্রসারণের মাধ্যমে কৌশলটি বাজারের পরিবেশের আরও বিস্তৃত পরিসরে অভিযোজিত হতে পারে এবং এটির বিশাল ব্যবহারিক উপযোগিতা রয়েছে।
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Donchian Channels", shorttitle="DC", overlay=true, initial_capital=10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick=true) length = input(20, minval=1) lower = lowest(length) upper = highest(length) basis = avg(upper, lower) bool inShortPos = false bool inLongPos = false bool wait4confirmation = input(true, title="Wait for double confirmation?") bool doShort = input(true, title="Include short positions") plot(basis, "Basis", color=#FF6D00) u = plot(upper, "Upper", color=#2962FF) l = plot(lower, "Lower", color=#2962FF) fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background") //if(inShortPos == false and inLongPos == false) if(not inLongPos and upper > upper[1]) if(wait4confirmation) if(not inLongPos and upper > upper[1] and upper[1] > upper[2]) strategy.close("Short", true) strategy.entry("Buy", true) else strategy.close("Short", true) strategy.entry("Buy", true) else if(not inShortPos and lower < lower[1]) if(wait4confirmation) if(not inShortPos and lower < lower[1] and lower[1] < lower[2]) strategy.close("Buy", true) if(doShort) strategy.entry("Short", true) else strategy.close("Buy", true) if(doShort) strategy.entry("Short", true)