
ম্যাকড-সুপারট্রেন্ড ফিউজড ট্রেন্ড ট্র্যাকিং ট্রেডিং সিস্টেম হল একটি পরিমাণগত ট্রেডিং কৌশল যা দুটি শক্তিশালী প্রযুক্তিগত সূচককে একত্রিত করে, যা বাজারের প্রবণতা সনাক্ত এবং অনুসরণ করার জন্য বিশেষভাবে ডিজাইন করা হয়েছে। এই কৌশলটি সুপারট্রেন্ড সূচকের প্রবণতা ট্র্যাকিং ক্ষমতার সাথে মুভিং এভারেজ কনভার্জেন্স স্প্রেড (এমএসিডি) এর গতিশীল বৈশিষ্ট্যগুলিকে একত্রিত করে একটি বিস্তৃত ট্রেডিং সিস্টেম তৈরি করে। এই কৌশলটি শক্তিশালী প্রবণতা পরিবর্তনগুলিকে ক্যাপচার করার জন্য এবং সম্ভাব্য মিথ্যা সংকেতগুলিকে ফিল্টার করার জন্য তৈরি করা হয়েছে। এই সিস্টেমটি একাধিক দিকের ট্রেডিং সমর্থন করে (মাল্টি হেড, শূন্য, বা উভয়ই) এবং নমনীয় প্যারামিটার সমন্বয় বিকল্প সরবরাহ করে, যা ব্যবসায়ীদের বিভিন্ন বাজার পরিবেশ এবং ব্যক্তিগত ঝুঁকি অনুসারে অগ্রাধিকার দিতে সক্ষম করে।
এই কৌশলটির মূল যুক্তিটি দুটি প্রধান প্রযুক্তিগত সূচকের সমন্বয়মূলক কার্যকারিতার উপর ভিত্তি করে তৈরি করা হয়েছেঃ
সুপার ট্রেন্ড সূচক: এটি একটি ট্রেন্ড ট্র্যাকিং সূচক যা এটিআর (আসল তরঙ্গদৈর্ঘ্য) উপর ভিত্তি করে তৈরি করা হয়েছে এবং এটি বর্তমান প্রবণতা দেখানোর জন্য একটি মূল্য চার্টে আঁকা যেতে পারে। যখন সুপারট্রেন্ড লাইনটি দামের নীচে থাকে, তখন এটি একটি উচ্চতর প্রবণতা দেখায়; যখন সুপারট্রেন্ড লাইনটি দামের উপরে থাকে, তখন এটি একটি নিম্নমুখী প্রবণতা দেখায়। কোডের সুপারট্রেন্ডটি ব্যবহারকারীর দ্বারা সংজ্ঞায়িত এটিআর (ডিফল্ট চক্র 10) এবং গুণক ফ্যাক্টর (ডিফল্ট 3.0) ব্যবহার করে গণনা করা হয়।
MACD সূচক: Moving Average Convergence Divergence Indicator (এমএসিডি) হল একটি পরিমাপ কৌশল যা দুটি চলমান গড়ের মধ্যে পার্থক্য গণনা করে দামের গতিশীলতা পরিমাপ করে। এই কৌশলটি ব্যবহারকারীদের MACD এর চলমান গড়ের ধরন (এসএমএ বা ইএমএ) এবং প্যারামিটার (ফাস্ট, লং লাইন এবং সিগন্যাল লাইন) গণনা করার অনুমতি দেয়।
এই নীতির মূল সিদ্ধান্তের ধারণাগুলি নিম্নরূপঃ
এই কৌশলটি “শুধুমাত্র সুপারট্রেন্ড ব্যবহার করুন” বিকল্পটিও সরবরাহ করে, যা সক্রিয় হওয়ার সময় কেবলমাত্র সুপারট্রেন্ড সংকেতের উপর নির্ভর করে ট্রেড করবে, MACD সূচকের প্রভাব উপেক্ষা করে।
দ্বৈত নিশ্চিতকরণসুপারট্রেন্ড ট্রেন্ড নিশ্চিতকরণ এবং ম্যাকড গতিশীলতা নিশ্চিতকরণের সমন্বয়ে, এই কৌশলটি মিথ্যা সংকেতের ঝুঁকি হ্রাস করে এবং লেনদেনের গুণমানকে উন্নত করে। এই দ্বৈত ফিল্টারিং পদ্ধতিটি কার্যকরভাবে ক্ষতিগ্রস্থ লেনদেনকে কমিয়ে দেয়।
নমনীয়তাকৌশলগত প্যারামিটারগুলি অত্যন্ত কাস্টমাইজযোগ্য, যার মধ্যে রয়েছে ট্রেডিং দিকনির্দেশনা, সূচক প্রকার এবং চক্রের সেটিং যা এটিকে বিভিন্ন বাজার পরিবেশ এবং ট্রেডিং শৈলীর সাথে খাপ খাইয়ে নিতে সক্ষম করে। উদাহরণস্বরূপ, ব্যবসায়ীরা কেবলমাত্র মাল্টি-ট্রেড বা ফাঁকা ট্রেডিং সম্পাদন করতে বা বাজার বৈশিষ্ট্য অনুসারে সুপারট্রেন্ডের সংবেদনশীলতা সামঞ্জস্য করতে পারে।
স্পষ্ট প্রবণতা দৃশ্যমান: সুপারট্রেন্ড সূচকগুলি সরাসরি মূল্য চার্টে আঁকা হয়, যাতে ব্যবসায়ীরা ট্রেন্ডের দিকনির্দেশনা এবং সম্ভাব্য সমর্থন / প্রতিরোধের অঞ্চলগুলিকে স্বজ্ঞাতভাবে সনাক্ত করতে পারে। কৌশলটি দৃশ্যমানতা বাড়ানোর জন্য রঙের ফিলিং ব্যবহার করে, সবুজ অঞ্চলটি উত্থানকে নির্দেশ করে, লাল অঞ্চলটি হ্রাসের প্রবণতা নির্দেশ করে।
অন্তর্নির্মিত ঝুঁকি ব্যবস্থাপনা: এই কৌশলটি ধীর গতির ইএমএকে সম্ভাব্য স্টপ লস রেফারেন্স পয়েন্ট হিসাবে ব্যবহার করে এবং প্রতিটি লেনদেনের জন্য একটি স্পষ্ট প্রস্থান কৌশল সরবরাহ করে। এই পদ্ধতিটি প্রতিটি লেনদেনের ঝুঁকি হোল্ডিং নিয়ন্ত্রণ করতে এবং মূলধনকে সুরক্ষিত করতে সহায়তা করে।
নমনীয় বাস্তবায়ন বিকল্পকৌশলটি “সম্পূর্ণ মোড” ((MACD এবং SuperTrend এর সমন্বয়ে) বা “সরলীকৃত মোড” ((শুধুমাত্র SuperTrend ব্যবহার করে) এর অধীনে কাজ করতে পারে, যা ব্যবসায়ীদের বাজার অবস্থার উপর ভিত্তি করে কৌশলটির জটিলতা সামঞ্জস্য করতে দেয়।
প্রবণতা বিপরীতট্রেন্ড ট্র্যাকিং সিস্টেম হিসাবে, এই কৌশলটি বাজারের তীব্র বিপর্যয়ের সময় ধীর প্রতিক্রিয়াশীল হতে পারে, যার ফলে প্রত্যাহার বাড়তে পারে। সুপারট্রেন্ড এবং এমএসিডি সূচক উভয়ই প্রবণতা পরিবর্তনকে সময়মতো ধরতে ব্যর্থ হতে পারে, বিশেষত উচ্চতর অস্থিরতার পরিবেশে, যার ফলে সেরা প্রস্থান পয়েন্টটি মিস করা যায়।
বাজারের দুর্বলতা: এই কৌশলটি প্রায়শই মিথ্যা সংকেত তৈরি করতে পারে, যার ফলে ক্ষুদ্র ক্ষয়ক্ষতিতে লেনদেনের একটি সিরিজ হতে পারে। যদিও দ্বৈত নিশ্চিতকরণ প্রক্রিয়াটি এই সমস্যাটি হ্রাস করতে পারে তবে এটি সম্পূর্ণরূপে নির্মূল করতে পারে না।
প্যারামিটার নির্ভরতা: কৌশলটির কার্যকারিতা অত্যন্ত নির্বাচিত প্যারামিটারগুলির উপর নির্ভরশীল। ভুল প্যারামিটার সেটগুলি অত্যধিক অপ্টিমাইজেশন বা নির্দিষ্ট বাজার অবস্থার জন্য অত্যধিক ফিট হতে পারে, বিভিন্ন বাজার পরিবেশে কৌশলটির প্রযোজ্যতা হ্রাস করে।
সিগন্যাল সংঘর্ষের ঝুঁকি: কিছু বাজারের অবস্থার অধীনে, সুপারট্রেন্ড এবং এমএসিডি পরস্পরবিরোধী সংকেত সরবরাহ করতে পারে, যার ফলে ট্রেডিং সিদ্ধান্ত নেওয়া কঠিন বা বিলম্বিত হতে পারে। উদাহরণস্বরূপ, সুপারট্রেন্ড একটি প্রবণতা বাড়িয়ে তুলতে পারে, যখন এমএসিডি শক্তি হ্রাস করতে পারে।
স্থায়ী প্যারামিটার সীমাবদ্ধতা: কৌশলটি স্থির সূচক প্যারামিটার ব্যবহার করে, বাজারের অবস্থার সাথে গতিশীলভাবে সামঞ্জস্য না করে, যা বাজারের পরিবর্তনের সাথে তার অভিযোজনযোগ্যতাকে সীমাবদ্ধ করতে পারে।
গতিশীল প্যারামিটার সমন্বয়: বাজারের অস্থিরতা বা অন্যান্য বাজারের বৈশিষ্ট্যের উপর ভিত্তি করে প্যারামিটার স্ব-অনুকূলিতকরণ ব্যবস্থা বাস্তবায়ন করুন। উদাহরণস্বরূপ, উচ্চ অস্থিরতার পরিবেশে সুপারট্রেন্ডের এটিআর গুণক বাড়ানো যেতে পারে এবং নিম্ন অস্থিরতার পরিবেশে গুণকটি হ্রাস করা যেতে পারে যাতে বিভিন্ন বাজারের অবস্থার সাথে আরও ভালভাবে মানিয়ে নেওয়া যায়।
ফিল্টার যোগ করুন: অতিরিক্ত ফিল্টারগুলি প্রবর্তন করা হয়েছে যাতে মিথ্যা সংকেত হ্রাস করা যায়, যেমন ট্রেডিং টাইম ফিল্টার, ট্রেডিং ভলিউম নিশ্চিতকরণ বা অস্থিরতা ফিল্টার। উদাহরণস্বরূপ, ADX ((এভারেজ ডাইরেকশনাল ইনডেক্স) যুক্ত করা যেতে পারে যাতে কেবলমাত্র শক্তিশালী প্রবণতার বাজারে ট্রেডিং নিশ্চিত করা যায়।
অপ্টিমাইজড প্রস্থান কৌশল: আরো জটিল প্রস্থান ব্যবস্থা যেমন ক্রমাগত ক্ষতি, আংশিক মুনাফা লকিং, বা অস্থিরতা ভিত্তিক গতিশীল ক্ষতির বিকাশ। এটি ট্রেন্ডিং মুনাফার বেশিরভাগ অংশ সংরক্ষণ করে ঝুঁকি পরিচালনা করতে সহায়তা করতে পারে।
টাইমফ্রেম বিশ্লেষণ: মাল্টি-টাইম ফ্রেম বিশ্লেষণ বাস্তবায়ন করুন যাতে ট্রেডিংয়ের দিকটি উচ্চতর সময় ফ্রেমের প্রবণতার সাথে সামঞ্জস্যপূর্ণ হয়। এটি উচ্চতর সময় ফ্রেমের প্রবণতা নিশ্চিতকরণ যুক্ত করে বিপরীত ট্রেডিং হ্রাস করতে পারে।
মেশিন লার্নিং ইন্টিগ্রেশন: মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে কৌশলগত প্যারামিটারগুলিকে অনুকূলিতকরণ বা সেই কৌশলটির জন্য সবচেয়ে উপযুক্ত বাজার পরিস্থিতি সনাক্ত করার জন্য অনুসন্ধান করুন। এটি ঐতিহাসিক তথ্য বিশ্লেষণ করে প্যারামিটার এবং বাজার অবস্থার মধ্যে সম্পর্ক সনাক্ত করতে পারে, যার ফলে কৌশলটির অভিযোজনযোগ্যতা বৃদ্ধি পায়।
ঝুঁকি ব্যবস্থাপনা: মার্কেটের অস্থিরতা, অ্যাকাউন্টের আকার এবং ব্যক্তিগত ঝুঁকি পছন্দগুলির উপর ভিত্তি করে আরও সূক্ষ্ম পজিশন আকার পরিচালনার জন্য। এটি ATR বা অন্যান্য অস্থিরতার পরিমাপের মাধ্যমে পজিশন আকারকে গতিশীলভাবে সামঞ্জস্য করতে পারে যাতে ঝুঁকি স্তরটি একই থাকে।
ম্যাকড-সুপারট্রেন্ড মার্জিন ট্রেন্ড ট্র্যাকিং ট্রেডিং সিস্টেমটি একটি সুষম এবং ব্যাপক পরিমাণে ট্রেডিং পদ্ধতির প্রতিনিধিত্ব করে, যা প্রবণতা সনাক্তকরণ এবং গতিশীলতা নিশ্চিতকরণের সাথে মিলিত হয়। সুপারট্রেন্ডের ট্রেন্ড ট্র্যাকিং ক্ষমতা এবং ম্যাকডের গতিশীলতা বিশ্লেষণকে একত্রিত করে, কৌশলটি ধারাবাহিক প্রবণতা চলাচলকে ক্যাপচার করার জন্য একটি শক্তিশালী কাঠামো সরবরাহ করে।
এই কৌশলটির প্রধান সুবিধা হল এর দ্বৈত নিশ্চিতকরণ ব্যবস্থা এবং উচ্চতর কাস্টমাইজযোগ্যতা যা এটিকে বিভিন্ন বাজার পরিবেশ এবং ট্রেডিং শৈলীর জন্য উপযুক্ত করে তোলে। যাইহোক, একটি প্রবণতা ট্র্যাকিং সিস্টেম হিসাবে, এটি বাজারকে সামঞ্জস্য করতে দুর্বল হতে পারে এবং প্রবণতা বিপরীত হওয়ার সময় প্রতিক্রিয়াশীল হতে পারে।
এই কৌশলটি অপ্টিমাইজ করার জন্য, ব্যবসায়ীরা ডায়নামিক প্যারামিটার অ্যাডজাস্টমেন্ট, অতিরিক্ত ফিল্টারিং প্রক্রিয়া, উন্নত প্রস্থান কৌশল এবং মাল্টি-টাইম ফ্রেম বিশ্লেষণ বাস্তবায়ন বিবেচনা করতে পারেন। এই অপ্টিমাইজেশানগুলি কৌশলটির স্থিতিশীলতা এবং অভিযোজনযোগ্যতা বাড়িয়ে তুলতে পারে, যা বিভিন্ন বাজারের অবস্থার অধীনে আরও কার্যকর করে তোলে।
সামগ্রিকভাবে, MACD-SuperTrend ইন্টিগ্রেটেড ট্রেন্ড ট্র্যাকিং ট্রেডিং সিস্টেমটি ট্রেন্ড সনাক্তকরণ এবং ট্রেডিংয়ের জন্য একটি শক্তিশালী ভিত্তি সরবরাহ করে, যা ব্যবসায়ীদের জন্য উপযুক্ত যারা অগ্রগতিতে মনোনিবেশ করে এবং মূল বাজার প্রবণতাগুলির মধ্যে লাভের সন্ধান করে। যথাযথ ঝুঁকি ব্যবস্থাপনা এবং ক্রমাগত অপ্টিমাইজেশনের মাধ্যমে, এই কৌশলটি ব্যবসায়ীদের সরঞ্জাম বাক্সে একটি মূল্যবান সম্পদ হতে পারে।
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TTFT - Strategy", overlay=true)
// Trading Direction Dropdown
tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"])
onlyST = input.string("No", "Use ST Only?", options=["Yes", "No"])
period = input.string("LOW", "TF Period", options=["HIGH", "LOW"])
algo = input.string("ttft", "Algo Name")
instrument = input.string("", "Instrument")
// MACD Inputs
fast_length = input(12, "Fast Length")
slow_length = input(26, "Slow Length")
signal_length = input(9, "Signal Smoothing")
sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"])
sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"])
// MACD Calculation
fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length)
slow_ema = ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
// Input Parameters for Supertrend 1
atrPeriod1 = input(10, "ATR Length for Supertrend 1")
factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01)
// Supertrend Calculation for 1
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
bool isBullish = false
bool exitLong= false
bool isBearish = false
bool exitShort= false
if(onlyST == 'No')
// Combined Conditions
isBullish := direction1 < 0 and hist > 0
isBearish := direction1 > 0 and hist < 0
exitLong := direction1 > 0 or ta.crossunder(close, slow_ema)
exitShort := direction1 < 0 or ta.crossover(close, slow_ema)
else
isBullish := direction1 < 0
isBearish := direction1 > 0
exitLong := direction1 > 0
exitShort := direction1 < 0
if(instrument == "")
instrument := syminfo.ticker
// Strategy Entry and Exit based on Trading Direction
if (tradeDirection == "both" or tradeDirection == "long") and isBullish
strategy.entry("Buy", strategy.long, comment="L", alert_message="{\"source\": \"TV\", \"stopLoss\": \""+str.tostring(slow_ema)+"\",\"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"L\",\"Signal\": \"buy\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
if (tradeDirection == "both" or tradeDirection == "long") and exitLong
strategy.close("Buy", comment="LE", alert_message = "{\"source\": \"TV\", \"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"LE\",\"Signal\": \"sell\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
if (tradeDirection == "both" or tradeDirection == "short") and isBearish
strategy.entry("Sell", strategy.short, comment="S", alert_message = "{\"source\": \"TV\", \"stopLoss\": \""+str.tostring(slow_ema)+"\",\"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"S\",\"Signal\": \"sell\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
if (tradeDirection == "both" or tradeDirection == "short") and exitShort
strategy.close("Sell", comment="SE", alert_message = "{\"source\": \"TV\", \"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"SE\",\"Signal\": \"buy\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
bodyMiddle1 = plot((open + close) / 2, display=display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false)