সুপারট্রেন্ড কৌশল হল একটি ট্রেন্ড ট্র্যাকিং কৌশল যা গড় বাস্তব তরঙ্গের উপর ভিত্তি করে। এটি গড় বাস্তব তরঙ্গের ব্যবহার করে স্টপ লিন্ড সেট করে এবং ট্রেডিং সিগন্যাল তৈরি করে।
এই কৌশলটি প্রথমে একটি নির্দিষ্ট সময়ের মধ্যে গড় প্রকৃত তরঙ্গদৈর্ঘ্যের এটিআর গণনা করে। তারপরে এটিআর মানের উপর ভিত্তি করে একটি স্কেলিং ফ্যাক্টর দ্বারা দীর্ঘ লাইন স্টপ লিন এবং সংক্ষিপ্ত লাইন স্টপ লিন গণনা করা হয়। নিম্নলিখিত হিসাবে নির্দিষ্ট গণনা পদ্ধতিঃ
atr = mult * atr(length)
longStop = hl2 - atr
shortStop = hl2 + atr
যেখানে length হল ATR-এর পরিমাপকৃত চক্রের দৈর্ঘ্য, mult হল ATR-এর স্কেলিং ফ্যাক্টর।
স্টপ লাইন গণনা করার পরে, কৌশলটি ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য মূল্যটি পূর্ববর্তী কে লাইনের স্টপ লাইনটি অতিক্রম করেছে কিনা তা বিচার করেঃ
dir := dir == -1 and close > shortStopPrev ? 1 :
dir == 1 and close < longStopPrev ? -1 : dir
লং লাইন স্টপ লাইন অতিক্রম করার সময়, প্রবণতাটি আরও বেশি হয়ে যায় বলে মনে করা হয়, এবং সংক্ষিপ্ত লাইন স্টপ লাইন অতিক্রম করার সময়, প্রবণতাটি উড়ে যায় বলে মনে করা হয়।
ট্রেন্ডের দিকনির্দেশনা পরিবর্তনের উপর ভিত্তি করে, ক্রয় এবং বিক্রয় সংকেত তৈরি করা হয়ঃ
buySignal = dir == 1 and dir[1] == -1
sellSignal = dir == -1 and dir[1] == 1
অবশেষে, যখন ক্রয় এবং বিক্রয় সংকেত উপস্থিত হয়, তখন ট্রেডিং অপারেশনগুলি প্রয়োগ করুন।
গড় বাস্তব তরঙ্গদৈর্ঘ্য ব্যবহার করে স্টপ লিনার গণনা করা হয়, যা কার্যকরভাবে বাজারের শব্দকে সরিয়ে দেয় এবং আরও নির্ভরযোগ্য প্রবণতা সংকেতগুলি ধরে।
কম কৌশলগত প্যারামিটার, সহজেই বোঝা এবং পরিচালনা করা যায়। এটিআর চক্র এবং গুণক ফ্যাক্টর বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে পারে।
ব্রেকিং স্টপ লাইন ব্যবহার করে ট্রেন্ডের দিক পরিবর্তন নির্ধারণ করা যায়, যা ঝুঁকিকে কার্যকরভাবে নিয়ন্ত্রণ করতে পারে এবং সময়মতো ক্ষতি বন্ধ করতে পারে।
বিভিন্ন ট্রেডিং স্টাইলের জন্য একাধিক বা দ্বি-মুখী ট্রেডিং কনফিগার করা যায়।
যে কোন সময়কালের মধ্যে ব্যবহার করা যেতে পারে এবং বিভিন্ন ধরণের লেনদেনের জন্য প্রযোজ্য।
একটি কম্পনের সময়, এটিআর উচ্চতর হতে পারে, যার ফলে স্টপ লিনের প্রস্থ বাড়তে পারে এবং আরও মিথ্যা সংকেত তৈরি করতে পারে।
এটিআর চক্র এবং গুণকগুলি বাজারের অবস্থার উপর ভিত্তি করে অপ্টিমাইজ করা প্রয়োজন।
ট্রেডিং প্রজাতির জন্য সর্বোত্তম ট্রেডিং চক্র নির্ধারণ করা সম্ভব নয়, প্রতিটি ট্রেডিং প্রজাতির জন্য পরীক্ষা করা প্রয়োজন।
“এটি একটি অদ্ভুত ঘটনা, কিন্তু আমি মনে করি এটি একটি বড় ভুল।
খালি পজিশনের ঝুঁকি রয়েছে, যখন প্রবণতা দুর্বল হয় তখন খালি পজিশনে থাকতে পারে।
স্টপ লোনটি যথাযথভাবে শিথিল করা উচিত যদি স্টপ লোনটি ভেঙে যাওয়ার ঝুঁকি থাকে।
অন্যান্য সূচকগুলির সাথে মিলিতভাবে ফিল্টারিং বিবেচনা করা যেতে পারে যাতে অস্থিরতার সময় ভুল সংকেত তৈরি না হয়। যেমন MACD, RSI ইত্যাদি।
মেশিন লার্নিং বা জেনেটিক অ্যালগরিদম ব্যবহার করে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করা যায়।
বিভিন্ন জাতের জন্য প্যারামিটার অপ্টিমাইজেশন করা যায়, সর্বোত্তম এটিআর চক্র এবং গুণিতক ফ্যাক্টর নির্ধারণ করতে।
ভর্তির সময় নির্ধারণের জন্য কোয়ান্টাম ইনডিকেটর ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, ভর্তির পরিমাণ, অকাল ভর্তি এড়ানো।
আপনি লক পজিশনের কৌশলটি বিবেচনা করতে পারেন এবং খালি পজিশনে অবস্থান রাখতে পারেন।
প্রবণতা শক্তির সূচকগুলির সাথে মিলিত হয়ে স্টপ লস অবস্থানটি অপ্টিমাইজ করা যেতে পারে।
সুপারট্রেন্ড কৌশলটি একটি নির্ভরযোগ্য এবং ঝুঁকি-নিয়ন্ত্রিত প্রবণতা-অনুসরণ কৌশল যা গতিশীল স্টপ লিনার গণনা করে এবং মূল্যের ব্রেকডাউনগুলি নির্ধারণ করে। এই কৌশলটি সহজেই ব্যবহার করা যায় এবং বিভিন্ন ধরণের ব্যবসায়ের জন্য উপযুক্ত, তবে বিভিন্ন বাজারে ভাল প্রভাব অর্জনের জন্য প্যারামিটার এবং কৌশল নিয়মের জন্য অনুকূলিতকরণ প্রয়োজন। অন্যান্য প্রযুক্তিগত সূচক এবং কৌশল সমন্বয়ের সাথে ব্যবহারের ফলে আরও ভাল ব্যবসায়ের পারফরম্যান্স পাওয়া যায়। সামগ্রিকভাবে, সুপারট্রেন্ড কৌশলটি একটি ভাল বৈজ্ঞানিক ধারণার উপর ভিত্তি করে এবং ব্যবসায়ীদের আরও গবেষণা এবং প্রয়োগের জন্য উপযুক্ত।
/*backtest
start: 2023-09-12 00:00:00
end: 2023-10-12 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// strategy("SuperTrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000)
LongOnly = input(title="Long Only ?", type=input.bool, defval=true)
length = input(title="ATR Period", type=input.integer, defval=22)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2019, title="From Year", minval=1970)
// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=1, title="To Month", minval=1, maxval=12)
toYear = input(defval=2020, title="To Year", minval=1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
atr = mult * atr(length)
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 :
dir == 1 and close < longStopPrev ? -1 : dir
longColor = color.green
shortColor = color.red
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=2, color=longColor)
buySignal = dir == 1 and dir[1] == -1
plotshape(buySignal ? longStop : na, title="Long Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0)
plotshape(buySignal and showLabels ? longStop : na, title="Buy Label", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=longColor, textcolor=color.white, transp=0)
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=2, color=shortColor)
sellSignal = dir == -1 and dir[1] == 1
plotshape(sellSignal ? shortStop : na, title="Short Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0)
plotshape(sellSignal and showLabels ? shortStop : na, title="Sell Label", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=shortColor, textcolor=color.white, transp=0)
if LongOnly
if buySignal and time_cond
strategy.entry("Long", strategy.long, comment="Long")
if(sellSignal and time_cond)
strategy.close("Long")
else
if buySignal and time_cond
strategy.entry("Long", strategy.long, comment="Long")
else
strategy.cancel("Long")
if sellSignal and time_cond
strategy.entry("Short", strategy.short, comment="Short")
else
strategy.cancel("Short")
if not time_cond
strategy.close_all()