সুপারট্রেন্ড ভিত্তিক ট্রেন্ড ট্র্যাকিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-০৮ ১৭ঃ০৭ঃ৫৩
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি বাজারের প্রবণতা দিক বিচার এবং ট্রেডিং সংকেত উত্পন্ন করার জন্য একটি সুপার ট্রেন্ড লাইন তৈরি করতে গড় সত্য পরিসীমা (এটিআর) সূচকের উপর ভিত্তি করে নির্মিত হয়। এটিতে ট্রেন্ড বিচার এবং ট্রেন্ড ট্র্যাকিং উভয় ক্ষমতা রয়েছে, যা সূচক ফিউচার, ফরেক্স এবং ক্রিপ্টোকারেন্সিতে প্রযোজ্য।

কৌশলগত যুক্তি

কৌশলটি একটি নির্দিষ্ট সময়ের জন্য এটিআর গণনা করে এবং দামটি একটি আপট্রেন্ড চ্যানেলে রয়েছে কিনা তা নির্ধারণ করতে এটির সাথে তুলনা করে। বিশেষত, এটি প্রথমে এটিআর গণনা করে, তারপরে উপরের এবং নীচের ব্যান্ডগুলি প্লট করার জন্য একটি ফ্যাক্টর দ্বারা গুণিত এটিআর মানটি ব্যবহার করে। যখন দামটি উপরের ব্যান্ডের চেয়ে বেশি হয়, তখন একটি আপট্রেন্ড সনাক্ত করা হয়। যখন দামটি নীচের ব্যান্ডের নীচে থাকে, তখন একটি ডাউনট্রেন্ড সনাক্ত করা হয়। একটি আপট্রেন্ডে, যদি দাম ডাউনট্রেন্ড থেকে আপট্রেন্ডে পরিবর্তিত হয়, তবে একটি ক্রয় সংকেত উত্পন্ন হয়। একটি ডাউনট্রেন্ডে, যদি দাম আপট্রেন্ড থেকে ডাউনট্রেন্ডে পরিবর্তিত হয়, তবে একটি বিক্রয় সংকেত ট্রিগার করা হয়।

সুপারট্রেন্ড লাইনটি একটি প্রবণতা মূল্যায়ন বেঞ্চমার্ক - সুপারট্রেন্ড লাইন তৈরির মূল চাবিকাঠি। সুপারট্রেন্ড লাইনটি গতিশীলভাবে পরিবর্তিত ATR এর উপর ভিত্তি করে তৈরি করা হয়, যা কার্যকরভাবে বাজারের গোলমাল ফিল্টার করতে পারে এবং প্রধান প্রবণতা দিক নির্ধারণ করতে পারে। এদিকে, সুপারট্রেন্ড লাইনের একটি নির্দিষ্ট বিলম্ব প্রভাব রয়েছে, যা প্রবণতা বিপরীত পয়েন্টগুলি নিশ্চিত করতে এবং ভুল ট্রেডিং সংকেত তৈরি এড়াতে সহায়তা করে।

সুবিধা

এই কৌশলটির সবচেয়ে বড় সুবিধা হল প্রবণতা সনাক্তকরণ এবং ট্র্যাকিং ক্ষমতা সমন্বয়ঃ

  1. এটিআর ভিত্তিক সুপারট্রেন্ড লাইন কার্যকরভাবে বাজারের প্রবণতা সনাক্ত করতে পারে এবং গোলমাল ফিল্টার করতে পারে।
  2. সুপারট্রেন্ড লাইনের লেগিং এফেক্ট ভুল সংকেত কমাতে সাহায্য করে।
  3. এটি সহজ অপারেশনের জন্য ট্রেন্ড বিচার এবং ট্রেডিং সংকেত উভয়ই দিতে পারে।
  4. আরও বৈচিত্র্যময় বাজারের জন্য প্যারামিটারগুলি অপ্টিমাইজ করা যেতে পারে।
  5. ভিজ্যুয়াল সূচকগুলি স্বজ্ঞাত প্রবণতা রায়ের অনুমতি দেয়।

ঝুঁকি বিশ্লেষণ

এই কৌশলটির প্রধান ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. ভুল ATR পরামিতি সেটিং খুব সংবেদনশীল বা বিলম্বিত সুপারট্রেন্ড লাইন হতে পারে।
  2. এটি সম্পূর্ণরূপে গোলমালের প্রভাব এড়াতে পারে না, যা মাঝে মাঝে ভুল সংকেত সক্রিয় করতে পারে।
  3. বাজারের তীব্র ওঠানামা চলাকালীন সঠিকতা হ্রাস পায়।
  4. এটি প্রবণতা বিপরীত পয়েন্ট ভবিষ্যদ্বাণী করতে পারে না কিন্তু শুধুমাত্র বিদ্যমান প্রবণতা ট্র্যাক করতে পারেন।

সম্ভাব্য সমাধানগুলির মধ্যে রয়েছে এটিআর সময়কাল এবং সুপারট্রেন্ড ফ্যাক্টর মত প্যারামিটারগুলি অপ্টিমাইজ করা, যাচাইয়ের জন্য অন্যান্য সূচকগুলির সাথে একত্রিত করা এবং ভুল সংকেত সম্ভাব্যতা হ্রাস করা। এছাড়াও, স্টপ লস একক বাণিজ্য ক্ষতি নিয়ন্ত্রণ করতে পারে।

অপ্টিমাইজেশান নির্দেশাবলী

আরও অপ্টিমাইজেশান স্পেস যেমন এলাকায় বিদ্যমানঃ

  1. স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশনের জন্য মেশিন লার্নিং গ্রহণ করা।
  2. যাচাইয়ের জন্য এক্সপোনেন্সিয়াল মুভিং মিডিয়ার মত সূচক যোগ করা।
  3. অর্থ ব্যবস্থাপনার জন্য স্টপ লস/লাভ গ্রহণের কৌশল স্থাপন করা।
  4. সম্ভাব্য প্রবণতা বিপরীত ভবিষ্যদ্বাণী করার জন্য অনুভূতি সূচক এবং সংবাদ বিশ্লেষণের সমন্বয়।
  5. আরও ঐতিহাসিক তথ্য বিশ্লেষণ এবং নির্ভুলতা উন্নত করার জন্য গভীর শেখার ব্যবহার।

গভীরতর অপ্টিমাইজেশান কৌশলটির স্থিতিশীলতা, অভিযোজনযোগ্যতা এবং লাভজনকতা আরও বাড়ানোর প্রতিশ্রুতি দেয়।

সিদ্ধান্ত

কৌশলটি সামগ্রিকভাবে দুর্দান্ত স্থিতিশীলতা, নির্ভরযোগ্যতা এবং লাভজনকতা প্রদর্শন করে। প্রধান প্রবণতা বিচার এবং ট্রেডিং সংকেতগুলির জন্য সুপারট্রেন্ড লাইন তৈরি করা এর সবচেয়ে বড় হাইলাইট। তবে কিছু পরিমাণে বিলম্বিত প্রভাব এবং ভুল বিচার ঝুঁকি রয়েছে। পরামিতি এবং মডেল অপ্টিমাইজেশান আরও ভাল কৌশল পারফরম্যান্সের প্রতিশ্রুতি দেয়। সংক্ষেপে, একটি সাধারণ প্রবণতা ভিত্তিক কৌশল হিসাবে, লাইভ ট্রেডিংয়ে এটি যাচাই এবং ব্যবহার করা মূল্যবান।


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend Strategy", overlay = true)

Periods = input(10, title="ATR Period")
src = input(hl2, title="Source")
Multiplier = input(3.0, title="ATR Multiplier", step=0.1)
changeATR = input(true, title="Change ATR Calculation Method?")
showsignals = input(true, title="Show Buy/Sell Signals?")
highlighting = input(true, title="Highlighter On/Off?")

atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2

up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn

trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)

dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)

longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white

fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!")
alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")


আরো