এটি চ্যানেল সূচকগুলির উপর ভিত্তি করে একটি ব্রেকআউট ট্রেডিং কৌশল। এটি চ্যানেল ব্যান্ডগুলির দোলনের বৈশিষ্ট্যটি ব্যবহার করে যখন দাম উপরের ব্যান্ডের উপরে ভেঙে যায় এবং নিম্ন ব্যান্ডের নীচে ভেঙে যায় তখন এটি দীর্ঘ হয়। এটি প্রবণতা অনুসরণকারী কৌশল বিভাগের অন্তর্গত।
কৌশলটি প্রথমে চ্যানেলের মাঝারি রেখা গণনা করতে এসএমএ ব্যবহার করে। উপরের ব্যান্ডটি মিডলাইন প্লাস একটি পরামিতি মান হিসাবে সেট করা হয় এবং নিম্ন ব্যান্ডটি মিডলাইন বিয়োগ পরামিতি মান, একটি মূল্য চ্যানেল গঠন করে। এটি তারপরে মূল্যায়ন করে যে দামটি উপরের বা নীচের ব্যান্ডগুলি থেকে বেরিয়ে আসে কিনা, উদ্বোধনী সংকেত হিসাবে ট্রেডিং ভলিউমের উত্থানের সাথে মিলিত হয়। যখন দাম চ্যানেলে ফিরে আসে, এটি বন্ধের সংকেত হিসাবে কাজ করে।
বিশেষ করে, ট্রেডিং লজিক নিম্নরূপঃ
মধ্যরেখা গণনা করুনঃ SMA ((close, N)
উপরের ব্যান্ডঃ মিডলাইন + প্যারামিটার মান
নিম্ন ব্যাণ্ডঃ মধ্যরেখা - পরামিতির মান
যখন দাম উপরের ব্যান্ডের উপরে ভেঙে যায়, যদি ট্রেডিং ভলিউম পূর্ববর্তী সময়ের 2x এর চেয়ে বেশি হয়, তাহলে লং যান।
যখন দাম চ্যানেলের মধ্যে ফিরে আসে, তখন লং পজিশন বন্ধ করুন।
যখন দাম নিম্ন স্তরের নীচে ভেঙে যায়, যদি ট্রেডিং ভলিউম পূর্ববর্তী সময়ের চেয়ে ২ গুণ বেশি হয়, তাহলে শর্ট করুন।
যখন দাম চ্যানেলের মধ্যে ফিরে আসে, শর্ট পজিশন বন্ধ করুন।
এই কৌশলটির সুবিধাগুলো হল:
চ্যানেল সূচক ব্যবহার করে কার্যকরভাবে মূল্যের প্রবণতা ট্র্যাক করা যায়।
ট্রেডিং ভলিউম বৃদ্ধির সাথে মিলে মিথ্যা ব্রেকআউট ভালভাবে ফিল্টার করে।
চ্যানেলে ফিরে আসা স্টপ লস মেকানিজম হিসেবে কাজ করে এবং প্রতি ট্রেডের হারকে সীমাবদ্ধ করে।
অস্থিরতা বৈশিষ্ট্য মধ্যমেয়াদী প্রবণতা ক্যাপচার ফিট করে।
সহজ যুক্তি এটিকে সহজেই বুঝতে এবং বাস্তবায়ন করতে পারে।
এছাড়াও কিছু ঝুঁকি আছেঃ
ক্রমাগত একই দিকের ট্রেড যখন দাম দীর্ঘ, ক্রমবর্ধমান ক্ষতি ঝুঁকি জন্য চ্যানেলের একপাশে sticks।
ভুল চ্যানেল প্যারামিটার সেটিং অত্যধিক মিথ্যা সংকেত সৃষ্টি করতে পারে।
ট্রেডিং ভলিউম বৃদ্ধির জন্য ভুল মানদণ্ড সত্যিকারের ব্রেকআউট সংকেতগুলি মিস করতে পারে।
স্টপ লস প্রক্রিয়াটি খুব সংরক্ষণশীল হতে পারে, বড় পদক্ষেপগুলি মিস করে।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
বিভিন্ন বাজারের বৈশিষ্ট্য অনুসারে চ্যানেলের পরামিতিগুলি অপ্টিমাইজ করুন।
মিথ্যা ব্রেকআউট এড়ানোর জন্য এমএ ক্রসওভার বা ক্যান্ডেলস্টিক প্যাটার্ন বিবেচনা করার মতো ওপেন পজিশনের মানদণ্ড উন্নত করুন।
স্টপ লস মেকানিজমকে অপ্টিমাইজ করুন, অকাল প্রস্থান এড়ানোর জন্য বৃহত্তর স্টপ লস রেঞ্জের অনুমতি দিন।
বাজারের অবস্থার উপর ভিত্তি করে অবস্থানের আকার এবং মূলধন ব্যবহার সামঞ্জস্য করার জন্য অবস্থান আকারের নিয়ম যোগ করুন।
প্রধান প্রবণতার বিরুদ্ধে ট্রেডিং এড়ানো, সামগ্রিক প্রবণতা দিক নির্ধারণের জন্য আরও সূচক অন্তর্ভুক্ত করুন।
সংক্ষেপে, এটি একটি সহজ এবং ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল। চ্যানেল দোলন ব্যবহার করে, এটি কার্যকরভাবে মাঝারি মেয়াদী প্রবণতা ক্যাপচার করতে পারে। তবে বিভিন্ন বাজারে ফিট করার জন্য পরামিতি টিউনিং প্রয়োজন, এবং ঝুঁকিগুলি পর্যবেক্ষণ করা উচিত। আরও সূচক এবং কৌশলগুলির সাথে আরও অপ্টিমাইজেশন এর স্থিতিশীলতা এবং লাভজনকতা বাড়িয়ে তুলতে পারে।
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Copyright, 2022, Cache_that_pass. You are free to use this script however you see fit and reproduce it in any manner. //@version=5 ////// Name the strategy between the 2 quotation marks. Consider setting commission type and value in strategy header to match exchanges rates. ////// strategy("Oscillating SSL Channel Strategy", "O-SSL Strat", overlay=true, pyramiding=1, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 100, calc_on_order_fills=true) ////// Inputs and calculations used by script ////// period = input(title='Period', defval=25) len = input(title='Period', defval=25) smaHigh = ta.sma(high, len) smaLow = ta.sma(low, len) Hlv = int(na) Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? smaHigh : smaLow sslUp = Hlv < 0 ? smaLow : smaHigh ////// Show me the money ////// plot(sslDown, linewidth=2, color=color.new(color.red, 0)) plot(sslUp, linewidth=2, color=color.new(color.lime, 0)) ////// Trade execution logic ////// //pseudo-code// //Go long when high (or maybe close) breaks above the sslUp and volume is 2x or > Volume[1] and sslUp > sslDown //Close the above longs when sslUp crosses under sslDown (or set takeprofit and stop loss exits) // //Go short when low is lower than the sslUp and volume is 2x or > Volume[1] and sslDown > sslUp //Close shorts when sslDown crosses under sslUp longCondition1 = (sslUp > sslDown) longCondition2 = ta.crossover(high, sslUp) //longCondition3 = (volume >= (volume[1]*1.89)) longCondition = ((longCondition1) and (longCondition2))// and (longCondition3)) longExit = ta.crossunder(sslUp, sslDown) ////// Bring It ////// if (longCondition) strategy.entry("Bring It", strategy.long) ////// Sling It ////// if (longExit) strategy.close("Bring It", comment="Sling It") shortCondition1 = (sslDown) > (sslUp) shortCondition2 = ta.crossunder(low, sslUp) //shortCondition3 = (volume >= (volume[1]*1.89)) shortCondition = ((shortCondition1) and (shortCondition2))// and (shortCondition3)) shortExit = ta.crossunder(sslDown, sslUp) ////// Bring It ////// if (shortCondition) strategy.entry("Bring It", strategy.long) ////// Sling It ////// if (shortExit) strategy.close("Bring It", comment="Sling It") ////// Sling It ////// if (shortCondition) strategy.entry("Sling It", strategy.short) ////// Bling It ////// if (shortExit) strategy.close("Sling It", comment="Bring It")