এটি একটি কৌশল যা তিনটি ওভারল্যাপিং সুপারট্রেন্ড সূচকগুলির উপর ভিত্তি করে ট্রেডিং সিদ্ধান্ত নেয়। এটি ট্রেন্ডিং বাজারে বৃহত্তর দিকনির্দেশমূলক সুযোগগুলি ক্যাপচার করতে পারে।
কৌশলটি বিভিন্ন পরামিতি সেটিং সহ তিনটি সুপারট্রেন্ড সূচক গণনা করতে ta.supertrend (() ফাংশনটি ব্যবহার করে, যথা 10 দিনের সাথে সুপারট্রেন্ড 1 এবং 3 এর গুণক, 14 দিনের সাথে সুপারট্রেন্ড 2 এবং 2 এর গুণক সহ সুপারট্রেন্ড 3 এবং 20 দিনের সাথে সুপারট্রেন্ড 3 এবং 2.5 এর গুণক। যখন দাম তিনটি সুপারট্রেন্ড লাইনের উপরে অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দাম তিনটি সুপারট্রেন্ড লাইনের নীচে অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
সুপারট্রেন্ড সূচকটি মূল্যের প্রবণতা পরিবর্তনগুলি কার্যকরভাবে ট্র্যাক করার জন্য এটিআর সূচককে অন্তর্ভুক্ত করে। তিনটি ওভারল্যাপিং সুপারট্রেন্ডের কৌশলটি সংকেতগুলিকে আরও নির্ভরযোগ্য করে তোলে, যার ফলে ট্রেন্ডিং বাজারে বৃহত্তর মুনাফা অর্জন করে।
ঝুঁকি কমাতে নিম্নলিখিতগুলি বিবেচনা করা যেতে পারেঃ
এই কৌশলটি তিনটি ওভারল্যাপিং সুপারট্রেন্ডের উপর ভিত্তি করে সিদ্ধান্ত নেয়, যা প্রবণতার দিকটি কার্যকরভাবে সনাক্ত করতে পারে। এর উচ্চ সংকেতের গুণমান এবং কনফিগারযোগ্য পরামিতিগুলির মতো সুবিধাগুলি রয়েছে। একই সাথে, কিছু ঝুঁকিও রয়েছে। বিভিন্ন বাজারের পরিবেশে খাপ খাইয়ে নেওয়ার জন্য পরামিতি এবং প্রস্থান টাইমিং সামঞ্জস্য করা দরকার। সামগ্রিকভাবে, কৌশলটি ব্যতিক্রমীভাবে ভাল সম্পাদন করে এবং আরও গবেষণা এবং প্রয়োগের মূল্যবান।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Combined Supertrend Strategy - Ajit Prasad', overlay=true) // Function to calculate Supertrend supertrendFunc(atrLength, factor) => [supertrend, direction] = ta.supertrend(factor, atrLength) [supertrend, direction] // Input parameters for the first Supertrend atrPeriod1 = input(10, 'ATR Length 1') factor1 = input(3, 'Factor 1') // Calculate the first Supertrend [supertrend1, direction1] = supertrendFunc(atrPeriod1, factor1) // Input parameters for the second Supertrend atrPeriod2 = input(14, 'ATR Length 2') // Change values as needed factor2 = input(2, 'Factor 2') // Change values as needed // Calculate the second Supertrend [supertrend2, direction2] = supertrendFunc(atrPeriod2, factor2) // Input parameters for the third Supertrend atrPeriod3 = input(20, 'ATR Length 3') // Change values as needed factor3 = input(2.5, 'Factor 3') // Change values as needed // Calculate the third Supertrend [supertrend3, direction3] = supertrendFunc(atrPeriod3, factor3) // Define market opening and closing times marketOpenHour = 9 marketOpenMinute = 15 marketCloseHour = 15 marketCloseMinute = 30 exitTimeHour = 15 exitTimeMinute = 10 // Fetch historical close values using security function histClose = request.security(syminfo.tickerid, "D", close) // Buy condition buyCondition = close > supertrend1 and close > supertrend2 and close > supertrend3 and close[1] <= supertrend1[1] // Sell condition sellCondition = close < supertrend1 and close < supertrend2 and close < supertrend3 and close[1] >= supertrend1[1] // Exit conditions buyExitCondition = close < supertrend1[1] or close < supertrend2[1] or close < supertrend3[1] sellExitCondition = close > supertrend1[1] or close > supertrend2[1] or close > supertrend3[1] // Execute orders with market timing if true // Buy condition without 'and not' strategy.entry('Buy', strategy.long, when = buyCondition) // Sell condition without 'and not' strategy.entry('Sell', strategy.short, when = sellCondition) // Close conditions strategy.close('Buy', when = buyExitCondition ) strategy.close('Sell', when = sellExitCondition) // Close all trades at 3:10 pm IST if true strategy.close_all() // Plot Supertrends plot(supertrend1, 'Supertrend 1', color=color.new(color.green, 0), style=plot.style_linebr) plot(supertrend2, 'Supertrend 2', color=color.new(color.red, 0), style=plot.style_linebr) plot(supertrend3, 'Supertrend 3', color=color.new(color.blue, 0), style=plot.style_linebr) // Plot labels plotshape(buyCondition, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), size=size.large, text='Buy Signal', textcolor=color.new(color.white, 0)) plotshape(sellCondition, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), size=size.large, text='Sell Signal', textcolor=color.new(color.white, 0))