প্যারাবলিক এসএআর ট্রেন্ড ট্র্যাকিং স্টপ লস রিভার্সাল কৌশল এমন একটি কৌশল যা প্রবণতা সনাক্ত করতে এবং প্রবণতা বিপরীত হলে কাউন্টার ট্রেন্ড পজিশনে প্রবেশ করতে প্যারাবলিক এসএআর সূচক ব্যবহার করে। কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং লাভের প্রক্রিয়াও অন্তর্ভুক্ত করে।
কৌশলটি বর্তমান বাজারের প্রবণতা বিচার করতে প্যারাবলিক এসএআর সূচক ব্যবহার করে। প্যারাবলিক এসএআর
যখন এসএআর পয়েন্টগুলি হ্রাস পাচ্ছে এবং দামের নীচে চলেছে, এটি একটি উত্থান প্রবণতা উপস্থাপন করে; যখন এসএআর পয়েন্টগুলি বৃদ্ধি পাচ্ছে এবং দামের উপরে চলেছে, এটি একটি হ্রাস প্রবণতা উপস্থাপন করে। কৌশলটি এসএআর পয়েন্টগুলির অবস্থানের উপর ভিত্তি করে বর্তমান প্রবণতার দিক বিচার করে।
বিশেষ করে, যখন এসএআর পয়েন্টগুলি একটি আপট্রেন্ড দেখায় এবং দামের উপরে থাকে, তখন কৌশলটি শর্ট হবে; যখন এসএআর পয়েন্টগুলি একটি ডাউনট্রেন্ড দেখায় এবং দামের নীচে থাকে, তখন কৌশলটি দীর্ঘ হবে। এটি যখন এসএআর পয়েন্টগুলি প্রবণতা বিপরীত নির্দেশ করে তখন বিরোধী প্রবণতা অবস্থান প্রবেশ করে।
এছাড়াও, কৌশলটি স্টপ লস এবং লাভের প্রক্রিয়াও নির্ধারণ করে। যখন লম্বা হয়, তখন এটি ক্ষতি সীমাবদ্ধ করার জন্য একটি স্টপ লস মূল্য নির্ধারণ করতে পারে; একই সাথে, এটি একটি নির্দিষ্ট লক্ষ্য লাভের পরে অবস্থান বন্ধ করার জন্য একটি লাভের মূল্য নির্ধারণ করতে পারে। শর্ট যাওয়া অনুরূপ।
ট্রেন্ড ইন্ডিকেটর এবং স্টপ লস/টেকেন প্রফিট মেকানিজমকে একত্রিত করার প্রধান সুবিধা হলঃ
কৌশলটির জন্য কিছু ঝুঁকিও রয়েছেঃ
এই ঝুঁকিগুলি প্যারামিটার অপ্টিমাইজেশান, অন্যান্য ফিল্টার সূচক ইত্যাদি ব্যবহার করে সমাধান করা যেতে পারে।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সাধারণভাবে, এটি একটি ক্লাসিক ট্রেন্ড ট্র্যাকিং স্টপ লস বিপরীত কৌশল। এটি ট্রেন্ড বিপরীতগুলি সনাক্ত করে এবং স্টপ লস এবং লাভের অর্থের সাথে ঝুঁকিগুলি নিয়ন্ত্রণ করে। অপ্টিমাইজেশানগুলির পরে এটি লাইভ ট্রেডিংয়ের জন্য একটি মূল্যবান কৌশল হয়ে উঠতে পারে।
/*backtest start: 2024-01-24 00:00:00 end: 2024-01-31 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Parabolic SAR Strategy", overlay=true) start = input(0.02) increment = input(0.02) maximum = input(0.2) var bool uptrend = na var float EP = na var float SAR = na var float AF = start var float nextBarSAR = na if bar_index > 0 firstTrendBar = false SAR := nextBarSAR if bar_index == 1 float prevSAR = na float prevEP = na lowPrev = low[1] highPrev = high[1] closeCur = close closePrev = close[1] if closeCur > closePrev uptrend := true EP := high prevSAR := lowPrev prevEP := high else uptrend := false EP := low prevSAR := highPrev prevEP := low firstTrendBar := true SAR := prevSAR + start * (prevEP - prevSAR) if uptrend if SAR > low firstTrendBar := true uptrend := false SAR := max(EP, high) EP := low AF := start else if SAR < high firstTrendBar := true uptrend := true SAR := min(EP, low) EP := high AF := start if not firstTrendBar if uptrend if high > EP EP := high AF := min(AF + increment, maximum) else if low < EP EP := low AF := min(AF + increment, maximum) if uptrend SAR := min(SAR, low[1]) if bar_index > 1 SAR := min(SAR, low[2]) else SAR := max(SAR, high[1]) if bar_index > 1 SAR := max(SAR, high[2]) nextBarSAR := SAR + AF * (EP - SAR) if barstate.isconfirmed if uptrend strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE") strategy.cancel("ParLE") else strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE") strategy.cancel("ParSE") plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange) plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua) //Stop Loss Inputs use_short_stop_loss = input(false, title="Short Stop Loss", group="Stop Loss and Take Profit", inline="Short_SL") short_stop_loss = input(title="(%)", type=input.float, minval=0.0, step=0.1, defval=5, group="Stop Loss and Take Profit", inline="Short_SL") * 0.01 use_long_stop_loss = input(false, title="Long Stop Loss", group="Stop Loss and Take Profit", inline="Long_SL") long_stop_loss = input(title="(%)", type=input.float, minval=0.0, step=0.1, defval=5, group="Stop Loss and Take Profit", inline="Long_SL") * 0.01 //Take Profit Inputs use_short_take_profit = input(false, title="Short Take Profit", group="Stop Loss and Take Profit", inline="Short_TP") short_take_profit = input(title="(%)", type=input.float, minval=0.0, step=0.1, defval = 20, group="Stop Loss and Take Profit", inline="Short_TP") * .01 use_long_take_profit = input(false, title="Long Take Profit", group="Stop Loss and Take Profit", inline="Long_TP") long_take_profit = input(title="(%)", type=input.float, minval=0.0, step=0.1, defval = 20, group="Stop Loss and Take Profit", inline="Long_TP") * .01 longStopPrice = strategy.position_avg_price * (1 - long_stop_loss) shortStopPrice = strategy.position_avg_price * (1 + short_stop_loss) longLimitPrice = strategy.position_avg_price * (1 + long_take_profit) shortLimitPrice = strategy.position_avg_price * (1 - short_take_profit) if (strategy.position_size > 0.0) if (use_long_stop_loss and not use_long_take_profit) strategy.exit("Long", stop = longStopPrice) if (use_long_take_profit and not use_long_stop_loss) strategy.exit("Long", limit = longLimitPrice) if (use_long_take_profit and use_long_stop_loss) strategy.exit("Long", stop = longStopPrice, limit=longLimitPrice) if (strategy.position_size < 0.0) if (use_short_stop_loss and not use_short_take_profit) strategy.exit("Short", stop = shortStopPrice) if (use_short_take_profit and not use_short_stop_loss) strategy.exit("Short", limit = shortLimitPrice) if (use_short_take_profit and use_short_stop_loss) strategy.exit("Short", stop = shortStopPrice, limit = shortLimitPrice) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)