পিভট পয়েন্ট সুপারট্রেন্ড কৌশল একটি উদ্ভাবনী প্রবণতা অনুসরণকারী কৌশল যা দুটি জনপ্রিয় সূচক
কৌশলটির ভিত্তি হ'ল পিভট পয়েন্ট এবং সুপারট্রেন্ড সূচকগুলির সংমিশ্রণ, পাশাপাশি একটি শক্তিশালী ট্রেন্ড ফিল্টার যুক্ত করা। এটি নির্দিষ্ট সময়ের মধ্যে পিভট হাইস এবং লো গণনা করে শুরু হয়, ট্রেন্ড বিশ্লেষণের জন্য গুরুত্বপূর্ণ রেফারেন্স পয়েন্ট হিসাবে কাজ করে। একটি ওজনযুক্ত গড় গণনার মাধ্যমে, এই পিভট পয়েন্টগুলি একটি কেন্দ্রীয় রেখা তৈরি করে, সামগ্রিক সূচকটি পরিমার্জন করে।
পরবর্তী, কেন্দ্রীয় রেখা এবং ব্যবহারকারীর সংজ্ঞায়িত ফ্যাক্টর সহ গড় সত্য পরিসীমা (এটিআর) এর উপর ভিত্তি করে উপরের এবং নীচের ব্যান্ডগুলি উত্পন্ন হয়। এই ব্যান্ডগুলি বাজারের অস্থিরতার সাথে খাপ খায়, কৌশলটিতে নমনীয়তা যুক্ত করে।
কৌশলটিতে যুক্ত অতিরিক্ত প্রবণতা ফিল্টারটি এর সক্ষমতা আরও বাড়িয়ে তোলে। এই ফিল্টারটি একটি চলমান গড়ের উপর ভিত্তি করে, প্রবণতার শক্তি এবং দিকের গতিশীল মূল্যায়ন সরবরাহ করে। মূল পিভট পয়েন্ট সুপারট্রেন্ড সংকেতগুলির সাথে এই প্রবণতা ফিল্টারটি একত্রিত করে, কৌশলটি আরও অবগত এবং নির্ভরযোগ্য ট্রেডিং সিদ্ধান্ত গ্রহণের লক্ষ্য রাখে।
উন্নত নির্ভুলতাঃ একটি প্রবণতা ফিল্টার অন্তর্ভুক্তি সংকেত উত্পাদন করার আগে সামগ্রিক প্রবণতা দিক নিশ্চিত করে কৌশলটির নির্ভুলতা উন্নত করে।
প্রবণতা অব্যাহত রাখাঃ প্রবণতা ফিল্টারের সাথে পিভট পয়েন্ট এবং সুপারট্রেন্ডের সংহতকরণের লক্ষ্য হল শক্তিশালী বাজারের প্রবণতার সময় ব্যবসায়কে দীর্ঘায়িত করা, সম্ভাব্য লাভের সুযোগগুলি সর্বাধিক করা।
হ্রাসকৃত হুইপসঃ কৌশলটির ওজনযুক্ত গড় গণনা, প্রবণতা ফিল্টার সহ, ভুল সংকেতগুলিকে হ্রাস করতে সহায়তা করে এবং অনিশ্চিত বা পার্শ্ববর্তী বাজারের অবস্থার সময় হুইপস হ্রাস করে।
সমর্থন এবং প্রতিরোধের অন্তর্দৃষ্টিঃ কৌশলটি পিভট পয়েন্টের উপর ভিত্তি করে অতিরিক্ত সমর্থন এবং প্রতিরোধের স্তর সরবরাহ করে, যা ব্যবসায়ীদের মূল্যবান প্রাসঙ্গিক তথ্য সরবরাহ করে।
পরামিতি নির্ভরতাঃ কৌশলটি এটিআর সময়কাল এবং গুণকগুলির মতো পরামিতিগুলির প্রতি সংবেদনশীল। ভুল সেটিংস ওভারট্রেডিং বা মিস সুযোগের দিকে পরিচালিত করতে পারে।
প্রবণতা বিপরীতমুখীঃ প্রবণতা বিপরীতমুখী পয়েন্টের কাছাকাছি, কৌশলটি অপ্রয়োজনীয় ক্ষতির ফলে মিথ্যা সংকেত তৈরি করতে পারে। স্টপ লস ব্যবহার করে ঝুঁকি পরিচালনা করা উচিত।
অতিরিক্ত অপ্টিমাইজেশানঃ সর্বোত্তম ফলাফলের জন্য পরামিতিগুলি অপ্টিমাইজ করা যেতে পারে তবে ভবিষ্যতে কার্যকরতার অভাব রয়েছে। পরামিতি নির্বাচনে বাজার এবং যন্ত্রের পার্থক্যের প্রভাব বিবেচনা করা উচিত।
ফাঁক ঝুঁকিঃ যখন দামগুলি ব্যান্ডগুলির বাইরে চলে যায়, তখন কৌশলটি একটি সমতল অবস্থানে প্রবেশ করে। এটি একটি ফাঁক পরে প্রবণতা পুনরায় শুরু করার সময় সুযোগগুলি মিস করতে পারে।
অতিরিক্ত ফিল্টারঃ কৌশলটির দৃঢ়তা বাড়ানোর জন্য ভলিউম, অস্থিরতা ফিল্টার ইত্যাদি যোগ করা যেতে পারে।
ডায়নামিক পরামিতিঃ পরিবর্তিত বাজারের অবস্থার উপর ভিত্তি করে পরামিতিগুলির স্বয়ংক্রিয় অপ্টিমাইজেশন বা অভিযোজিত সমন্বয় পদ্ধতি কৌশলটিকে আরও বহুমুখী করতে পারে।
স্টপ লসঃ ডাউনসাইডকে কার্যকরভাবে নিয়ন্ত্রণ করার জন্য কৌশলগত যুক্তি বজায় রেখে স্টপ লস প্রক্রিয়া ডিজাইন করার উপায়গুলি গবেষণা করুন।
ক্রস-অ্যাসেট অপ্টিমাইজেশনঃ বিভিন্ন বাজার এবং যন্ত্রের মধ্যে কৌশল পরামিতি মূল্যায়ন করুন। প্রতিটি নির্দিষ্টতা অনুযায়ী পরামিতি অপ্টিমাইজ করুন।
পিভট পয়েন্ট সুপারট্রেন্ড কৌশলটি সরলতা এবং ট্রেন্ড অনুসরণ করার দক্ষতার মতো মাত্রাগুলিতে অনন্য শক্তি প্রদর্শন করে। একই সাথে, পরামিতি, স্টপ লস, ক্রস-অ্যাসেট অপ্টিমাইজেশনের মতো দিকগুলি এটিকে আরও সর্বজনীন এবং নির্ভরযোগ্য সরঞ্জামে উন্নতির জন্য জায়গা দেয়। সামগ্রিকভাবে, এটি ব্যবসায়ীদেরকে বাজারের প্রবণতা ক্যাপচার করার একটি দক্ষ উপায় দিয়ে ক্ষমতায়িত করে।
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © Julien_Eche // Strategy based on "Pivot Point Supertrend" Indicator by LonesomeTheBlue //@version=4 strategy("PPS", overlay=true, initial_capital=500000, currency=currency.USD, default_qty_type=strategy.cash, default_qty_value=50000) prd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50) Factor=input(defval = 3, title = "ATR Factor", minval = 1, step = 0.1) Pd=input(defval = 10, title = "ATR Period", minval=1) showpivot = input(defval = false, title="Show Pivot Points") showlabel = input(defval = true, title="Show Buy/Sell Labels") showcl = input(defval = false, title="Show PP Center Line") showsr = input(defval = false, title="Show Support/Resistance") // get Pivot High/Low float ph = pivothigh(prd, prd) float pl = pivotlow(prd, prd) // drawl Pivot Points if "showpivot" is enabled plotshape(ph and showpivot, text="H", style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd) plotshape(pl and showpivot, text="L", style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd) // calculate the Center line using pivot points var float center = na float lastpp = ph ? ph : pl ? pl : na if lastpp if na(center) center := lastpp else //weighted calculation center := (center * 2 + lastpp) / 3 // upper/lower bands calculation Up = center - (Factor * atr(Pd)) Dn = center + (Factor * atr(Pd)) // get the trend float TUp = na float TDown = na Trend = 0 TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1) Trailingsl = Trend == 1 ? TUp : TDown // plot the trend linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na plot(Trailingsl, color = linecolor , linewidth = 2, title = "PP SuperTrend") plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na) // check and plot the signals bsignal = Trend == 1 and Trend[1] == -1 ssignal = Trend == -1 and Trend[1] == 1 plotshape(bsignal and showlabel ? Trailingsl : na, title="Buy", text="Buy", location = location.absolute, style = shape.labelup, size = size.tiny, color = color.lime, textcolor = color.black, transp = 0) plotshape(ssignal and showlabel ? Trailingsl : na, title="Sell", text="Sell", location = location.absolute, style = shape.labeldown, size = size.tiny, color = color.red, textcolor = color.white, transp = 0) //get S/R levels using Pivot Points float resistance = na float support = na support := pl ? pl : support[1] resistance := ph ? ph : resistance[1] // if enabled then show S/R levels plot(showsr and support ? support : na, color = showsr and support ? color.lime : na, style = plot.style_circles, offset = -prd) plot(showsr and resistance ? resistance : na, color = showsr and resistance ? color.red : na, style = plot.style_circles, offset = -prd) // Trend Filter from SuperTrend Long Strategy Periods = input(title="ATR Period", type=input.integer, defval=10) src = input(hl2, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) changeATR = input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) // Combine the SuperTrend calculations 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 // Moving Average as Trend Filter periodes_ma = input(title="Moving Average Period", type=input.integer, defval=20) src_ma = input(title="Moving Average Source", type=input.source, defval=close) ma = sma(src_ma, periodes_ma) // Strategy Entry Conditions FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 999) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 999) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false // Combined entry conditions longCondition = (trend == 1 and trend[1] == -1 and close > ma) or (bsignal and window()) shortCondition = (trend == -1 and trend[1] == 1 and close < ma) or (ssignal and window()) if (longCondition) strategy.entry("BUY", strategy.long) if (shortCondition) strategy.close("BUY") strategy.entry("SELL", strategy.short) buy1 = barssince((trend == 1 and trend[1] == -1 and close > ma) or (bsignal and window())) sell1 = barssince((trend == -1 and trend[1] == 1 and close < ma) or (ssignal and window())) color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na barcolor(color1)