এটি একটি ট্র্যাকিং সুপারট্রেন্ড কৌশল যা মূলত সুপারট্রেন্ড সূচকগুলিকে বিভিন্ন পরামিতি সেটিংসের সাথে একত্রিত করে একটি ট্র্যাকিং প্রভাব অর্জন করে এবং ঝুঁকি নিয়ন্ত্রণের জন্য একটি ফিল্টার সূচক ব্যবহার করে। কৌশলটির মূল ধারণাটি সহজ এবং ব্যবহারিক, সহজেই বোঝা যায় এবং শিক্ষানবিশদের জন্য উপযুক্ত।
এই কৌশলটি মূলত বিভিন্ন পরামিতি সেটিং সহ সুপারট্রেন্ড সূচকগুলির তিনটি গ্রুপ নিয়ে গঠিত। প্রথম গ্রুপটি হল প্রধান সুপারট্রেন্ড সূচক যা বাজারের প্রবণতার মৌলিক বিচারের জন্য ডিফল্ট পরামিতিগুলি ব্যবহার করে। দ্বিতীয় গ্রুপটি হল ডেপুটি সুপারট্রেন্ড সূচক যা এটিআর সময়কাল হ্রাস করে এবং এটিআর মাল্টিপ্লায়ার বাড়িয়ে মূল্য পরিবর্তনের আরও সংবেদনশীল ট্র্যাকিং অর্জন করে। তৃতীয় গ্রুপটি ফিল্টার সুপারট্রেন্ড সূচক যা যথাযথভাবে এটিআর সময়কাল এবং এটিআর মাল্টিপ্লায়ারকে মিথ্যা ব্রেকআউট ফিল্টার করতে বৃদ্ধি করে।
যখন প্রধান সুপারট্রেন্ড একটি ক্রয় সংকেত জারি করে, যদি ডেপুটি সুপারট্রেন্ডও একটি সিঙ্ক্রোনাইজড সংকেত জারি করে এবং ফিল্টার সুপারট্রেন্ডের দিকটি আপ হয়, কৌশলটি ট্র্যাকিং কিনবে। যখন প্রধান সুপারট্রেন্ড একটি বিক্রয় সংকেত জারি করে, যদি ডেপুটি সুপারট্রেন্ডও একটি সিঙ্ক্রোনাইজড সংকেত জারি করে এবং ফিল্টার সুপারট্রেন্ডের দিকটি ডাউন হয়, কৌশলটি ট্র্যাকিং বিক্রয় নেবে। এটি নমনীয় ডেপুটি সুপারট্রেন্ড সূচক ব্যবহার করে ছোটখাট সামঞ্জস্যগুলি ট্র্যাক করতে এবং সময়মত প্রবেশ এবং স্টপ লস অর্জন করতে মূল প্রবণতাটি ক্যাপচার করতে পারে।
প্রধান ঝুঁকি প্রতিরোধ ব্যবস্থাঃ
এই কৌশলটির সামগ্রিক ধারণাটি পরিষ্কার এবং সহজ। বিভিন্ন প্যারামিটার সেটিংসের সাথে সুপারট্রেন্ড সূচকগুলির একাধিক গ্রুপের সমন্বয় করে এটি প্রবেশের ট্র্যাকিং এবং ঝুঁকি নিয়ন্ত্রণ উপলব্ধি করে। কৌশল সংকেতটি ভাল লাইভ পারফরম্যান্সের সাথে আরও নির্ভুল। এটি শিক্ষানবিশদের জন্য শিখতে উপযুক্ত এবং বিভিন্ন সূচক এবং প্যারামিটার পরীক্ষা এবং অপ্টিমাইজেশনের জন্য একটি টেম্পলেট হিসাবেও ব্যবহার করা যেতে পারে। এটি একটি সুপারট্রেন্ড কৌশল যা সুপারিশ করার মতো।
/*backtest start: 2023-11-25 00:00:00 end: 2023-12-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Supertrend TEST 2 Strategy", overlay = true, format=format.price, precision=2) Periods = input(title="ATR Period", type=input.integer, defval=4) src = input(hl2, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=4.7) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) tp=close sl=close 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 ) plotshape(buySignal and showsignals ? up : na, title="Лонг", text="Лонг", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white ) 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 ) plotshape(sellSignal and showsignals ? dn : na, title="Шорт", text="Шорт", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white ) 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 sPeriods=input(title="ATR Period", type=input.integer, defval=8) sMultiplier=input(title="dop ATR Multiplier", type=input.float, step=0.1, defval=1.5) satr2 = sma(tr, sPeriods) satr= changeATR ? atr(sPeriods) : satr2 ssup=ohlc4-(sMultiplier*satr) ssup1 = nz(ssup[1],ssup) ssup := close[1] > ssup1 ? max(ssup,ssup1) : ssup sdn=ohlc4+(sMultiplier*satr) sdn1 = nz(sdn[1], sdn) sdn := close[1] < sdn1 ? min(sdn, sdn1) : sdn strend = 1 strend := nz(strend[1], strend) strend := strend == -1 and close > sdn1 ? 1 : strend == 1 and close < ssup1 ? -1 : strend sbuySignal = strend == 1 and strend[1] == -1 ssellSignal = strend == -1 and strend[1] == 1 fPeriods=input(title="ATR Period", type=input.integer, defval=10) fMultiplier=input(title="filter ATR Multiplier", type=input.float, step=0.1, defval=5) fatr2 = sma(tr, fPeriods) fatr= changeATR ? atr(fPeriods) : fatr2 fup=ohlc4-(fMultiplier*fatr) fup1 = nz(fup[1],fup) fup := close[1] > fup1 ? max(fup,fup1) : fup fdn=ohlc4+(fMultiplier*fatr) fdn1 = nz(fdn[1], fdn) fdn := close[1] < fdn1 ? min(fdn, fdn1) : fdn ftrend = 1 ftrend := nz(ftrend[1], ftrend) ftrend := ftrend == -1 and close > fdn1 ? 1 : ftrend == 1 and close < fup1 ? -1 : ftrend fbuySignal = ftrend == 1 and ftrend[1] == -1 fsellSignal = ftrend == -1 and ftrend[1] == 1 tcolor=color.new(color.gray,50) fdnPlot = plot(ftrend == 1 ? na : fdn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=tcolor) fupPlot = plot(ftrend == 1 ? fup : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=tcolor) if (strategy.position_size > 0) tp:=tp[1] sl:=up strategy.exit("Long_TP/SL","Long",limit=tp, stop=sl) if (strategy.position_size < 0) tp:=tp[1] sl:=dn strategy.exit("Short_TP/SL","Short",limit=tp, stop=sl) if ((buySignal and ftrend==1) or (sbuySignal and trend==1 and ftrend==1)) tp:=close+(close-up)*0.382 strategy.entry("Long", strategy.long, limit=tp, comment=tostring(round(tp))) if ((sellSignal and ftrend==-1) or (ssellSignal and trend==-1 and ftrend==-1)) tp:=close-(dn-close)*0.382 strategy.entry("Short", strategy.short, limit=tp, comment=tostring(round(tp)))