সুপারট্রেন্ড ট্রেডিং কৌশল হল গড় সত্য পরিসীমা (এটিআর) এবং চলমান গড় (এমএ) এর উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল। এটি মধ্যবর্তী প্রবণতা দিক সনাক্ত করতে এবং প্রবণতা পরিবর্তনের উপর ভিত্তি করে ট্রেডিং সংকেত তৈরি করতে প্রবণতা ট্র্যাকিং এবং ব্রেকআউট ট্রেডিং উভয়ের সুবিধা অন্তর্ভুক্ত করে।
এই কৌশলটির মূল ধারণা হ'ল যখন দাম সুপারট্রেন্ড চ্যানেলটি ভেঙে দেয় তখন দীর্ঘ বা সংক্ষিপ্ত যেতে হয়, যা প্রবণতা বিপরীতের ইঙ্গিত দেয়। এটি লাভ এবং নিয়ন্ত্রণের ঝুঁকিগুলি লক করতে স্টপ লস এবং লাভের স্তরগুলিও সেট করে।
সুপারট্রেন্ড হিসাবের মধ্যে বেশ কয়েকটি ধাপ রয়েছেঃ
এই কৌশলটির সুবিধা হ'ল এটি প্রবণতা অনুসরণ এবং প্রবণতা বিপরীত কৌশল উভয়ই একত্রিত করে। এটি মূল প্রবণতা সনাক্ত করে এবং একই সাথে সময়মতো বিপরীত সুযোগগুলি ক্যাপচার করতে সক্ষম হয়। তদতিরিক্ত, স্টপ লস / লাভ গ্রহণ প্রক্রিয়া ঝুঁকি নিয়ন্ত্রণে সহায়তা করে।
সুপারট্রেন্ড কৌশল নিম্নলিখিত শক্তি আছেঃ
১. মধ্যবর্তী প্রবণতা অনুসরণ করুন
সুপারট্রেন্ড চ্যানেলটি ATR এর উপর ভিত্তি করে গণনা করা হয়, যা কার্যকরভাবে মধ্যবর্তী দামের ওঠানামা পরিসীমা প্রতিফলিত করে। এটি সহজ চলমান গড়ের চেয়ে মধ্যবর্তী প্রবণতাকে আরও ভালভাবে অনুসরণ করে।
২. সময়মতো বিপরীতমুখী অবস্থা চিহ্নিত করুন
চ্যানেল থেকে দামের ব্রেকআউটগুলি দ্রুত ট্রেডিং সংকেত তৈরি করে যাতে বড় ট্রেন্ড বিপরীতমুখীতা সময়মতো ধরা যেতে পারে।
৩. স্টপ লস করুন এবং লাভ নিন
কৌশলটি ঝুঁকি নিয়ন্ত্রণের সাথে স্বয়ংক্রিয়ভাবে প্রস্থান করার জন্য পূর্বনির্ধারিত স্টপ লস সেট করে এবং লাভের স্তর নেয়। এটি অত্যধিক স্টপ লসের ঝুঁকি উল্লেখযোগ্যভাবে হ্রাস করে এবং প্রবণতা অনুসরণ করার জন্য আরও ভাল অনুমতি দেয়।
৪. বাস্তবায়ন করা সহজ
কৌশলটি মূলত এমএ এবং এটিআর এর মতো মৌলিক সূচক ব্যবহার করে। এটি লাইভ ট্রেডিংয়ের জন্য এটি বোঝা এবং বাস্তবায়ন করা বেশ সহজ করে তোলে।
**5. উচ্চ মূলধন দক্ষতা **
মধ্যবর্তী প্রবণতা অনুসরণ করে এবং পৃথক স্লিপিং নিয়ন্ত্রণ করে, সুপারট্রেন্ড কৌশল সামগ্রিকভাবে উচ্চ মূলধন দক্ষতা প্রদান করে।
সুপারট্রেন্ড কৌশলটির কিছু সম্ভাব্য দুর্বলতা রয়েছেঃ
১. ব্যাপ্তি বাজারে নিম্ন ফলপ্রসূ
কৌশলটি মধ্যম থেকে দীর্ঘমেয়াদী ট্রেন্ড ট্রেডিংয়ের উপর দৃষ্টি নিবদ্ধ করে। ব্যাপ্তি বা একীভূত বাজারে, এটি হ্রাসযুক্ত শর্ট ট্রেডগুলির উচ্চতর সুযোগের ব্যয় সহ কম পারফর্ম করার প্রবণতা রাখে।
2. প্যারামিটার অপ্টিমাইজেশান সংবেদনশীল
ATR সময়কাল এবং গুণক জন্য নির্বাচিত মান কৌশল কর্মক্ষমতা তুলনামূলকভাবে বড় প্রভাব আছে। পরামিতিগুলির অনুপযুক্ত সমন্বয় ট্রেডিং সংকেত কার্যকারিতা হুমকির সম্মুখীন হতে পারে।
৩. বিলম্বের সমস্যা থাকতে পারে
সুপারট্রেন্ড চ্যানেল গণনার সাথে কিছু বিলম্ব সমস্যা হতে পারে, যার ফলে অকাল সংকেত উত্পাদন হতে পারে। বিলম্ব সমস্যাটি সমাধান করা অগ্রাধিকার হওয়া উচিত।
৪. কঠোর স্টপ লস ম্যানেজমেন্ট প্রয়োজন
চরম বাজারের পরিস্থিতিতে, অপ্রয়োজনীয়ভাবে বড় স্টপ লস ছাড় বা অপর্যাপ্ত ঝুঁকি ব্যবস্থাপনা বড় ক্ষতির দিকে পরিচালিত করতে পারে। স্টপ লস নিয়মগুলি কঠোরভাবে অনুসরণ করা ধারাবাহিক মুনাফার জন্য গুরুত্বপূর্ণ।
এই সুপারট্রেন্ড কৌশলকে আরও উন্নত করার সুযোগ রয়েছে:
১. একাধিক এটিআর সময়কাল একত্রিত করুন
১০ দিন এবং ২০ দিনের মতো বিভিন্ন সময়ের মধ্যে এটিআর রিডিং একত্রিত করে একটি সমন্বিত সূচক তৈরি করা হয়, যা সংবেদনশীলতা এবং বিলম্বিত সমস্যাগুলি উন্নত করতে সহায়তা করে।
2. স্টপ লস মডিউল যোগ করুন
ট্রাইপল স্টপ লস, ভোল্টেবিলিটি স্টপ লস এবং সিকোয়েন্সিয়াল স্টপ লসের মতো আরও পরিশীলিত স্টপ লস মেকানিজম যুক্ত করা ঝুঁকি নিয়ন্ত্রণ এবং ড্রাউনডাউন হ্রাসকে শক্তিশালী করতে পারে।
৩. প্যারামিটার অপ্টিমাইজেশন
পরিমাণগত পদ্ধতির মাধ্যমে এটিআর সময়কাল, গুণক এবং অন্যান্য ইনপুটগুলির জন্য মানগুলি অনুকূলিতকরণ কৌশলটির কার্যকারিতা আরও বাড়িয়ে তুলবে। বিভিন্ন পণ্য এবং বাজার ব্যবস্থার উপর ভিত্তি করে পরামিতিগুলিকে গতিশীলভাবে সামঞ্জস্য করা যেতে পারে।
৪. মেশিন লার্নিং মডেল একীভূত করুন
অবশেষে, মেশিন লার্নিং মডেলগুলিকে একীভূত করা স্বয়ংক্রিয় প্রবণতা স্বীকৃতি এবং সংকেত উত্পাদন উপলব্ধি করতে পারে, স্বতন্ত্র সিদ্ধান্তের উপর নির্ভরতা হ্রাস করে এবং সিস্টেমের স্থিতিশীলতা উন্নত করে।
সুপারট্রেন্ড ট্রেডিং কৌশলটি এমএ এবং এটিআর সূচক ব্যবহার করে মধ্যবর্তী প্রবণতা দিক চিহ্নিত করে এবং স্বয়ংক্রিয় স্টপ লস / লাভ গ্রহণ বাস্তবায়নের সাথে প্রবণতা বিপরীতের চারপাশে বাণিজ্য প্রবেশ এবং প্রস্থান সংকেত উত্পন্ন করে। প্রধান প্রবণতা বজায় রেখে, এটি কিছু বিপরীত সুযোগও ক্যাপচার করে। প্রধান সুবিধাগুলি মধ্যবর্তী প্রবণতা ট্র্যাকিং, প্রবণতা বিপরীত সনাক্তকরণ এবং স্টপ লস / লাভ গ্রহণের মাধ্যমে ঝুঁকি নিয়ন্ত্রণে রয়েছে।
তবে, পর্যাপ্ত পরিসীমা-সীমাবদ্ধ বাজার ক্যাপচার এবং বিলম্ব সমস্যা সম্পর্কিত কিছু ত্রুটিও বিদ্যমান। কম্পোজিট এটিআর ব্যবহার, স্টপ লস মডিউলগুলি শক্তিশালী করা, টিউনিং পরামিতিগুলি এবং মেশিন লার্নিং মডেলগুলিকে একীভূত করা সহ একাধিক মাত্রায় আরও অপ্টিমাইজেশন অনুসন্ধান করা যেতে পারে। এই উন্নতিগুলি সম্ভবত সুপারট্রেন্ড কৌশলটির স্থিতিশীলতা এবং দক্ষতা উন্নত করবে।
/*backtest start: 2022-11-30 00:00:00 end: 2023-11-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Supertrend V1.0 - Buy or Sell Signal",overlay=true) Factor=input(3, minval=1,maxval = 100) Pd=input(7, minval=1,maxval = 100) //Calculating ATR atrLength = input(title="ATR Length:", defval=14, minval=1) Stop_Loss_Factor = input(1.5, minval=0,step=0.01) factor_profit = input(1.0, minval=0,step=0.01) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 4, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 10, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2016, title = "From Year", minval = 2009) ToMonth = input(defval = 4, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 10, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2039, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // Calculate ATR atrValue=atr(atrLength) decimals = abs(log(syminfo.mintick) / log(10)) Atr = atrValue if(decimals == 5) Atr := atrValue * 10000 if(decimals == 4) Atr := atrValue * 1000 if(decimals == 3) Atr := atrValue * 100 if(decimals == 2) Atr := atrValue * 10 //VJ2 Supertrend Up=hl2-(Factor*atr(Pd)) Dn=hl2+(Factor*atr(Pd)) TrendUp = 0.0 TrendUp:=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up TrendDown = 0.0 TrendDown:=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn Trend = 0.0 Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1) Tsl = 0.0 Tsl := Trend==1? TrendUp: TrendDown linecolor = Trend == 1 ? green : red plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend") plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0) plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0) //plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend") plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0) plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0) //Strategy Trend_buy = Trend == 1 Trend_buy_prev = Trend[1] == -1 algo_buy_pre = Trend_buy and Trend_buy_prev algo_buy = algo_buy_pre == 1 ? 1 : na Trend_sell= Trend == -1 Trend_sell_prev = Trend[1] == 1 algo_sell_pre = Trend_sell and Trend_sell_prev algo_sell = algo_sell_pre == 1 ? 1:na strategy.entry("Long1", strategy.long, when= window() and algo_buy==1) strategy.entry("Short1", strategy.short, when=window() and algo_sell==1) bought = strategy.position_size > strategy.position_size sold = strategy.position_size < strategy.position_size longStop = Stop_Loss_Factor * valuewhen(bought, Atr, 0) shortStop = Stop_Loss_Factor * valuewhen(sold, Atr, 0) longProfit = factor_profit * longStop shortProfit = factor_profit * shortStop if(decimals == 5) longStop := longStop *100000 longProfit := longProfit *100000 if(decimals == 4) longStop := longStop * 10000 longProfit := longProfit * 10000 if(decimals == 3) longStop := longStop * 1000 longProfit := longProfit * 1000 if(decimals == 2) longStop := longStop * 100 longProfit := longProfit *100 if(decimals == 5) shortStop := shortStop * 100000 shortProfit := shortProfit * 100000 if(decimals == 4) shortStop := shortStop * 10000 shortProfit := shortProfit * 10000 if(decimals == 3) shortStop := shortStop * 1000 shortProfit := shortProfit * 1000 if(decimals == 2) shortStop := shortStop * 100 shortProfit := shortProfit * 100 strategy.exit("Exit Long", from_entry = "Long1", loss =longStop, profit = longProfit) strategy.exit("Exit Short", from_entry = "Short1", loss =shortStop, profit = shortProfit)