
ट्रेंड ट्रैकिंग स्टॉप-लॉस रिवर्स रणनीति एक रणनीति है जिसमें ट्रेंड की पहचान करने के लिए पैराबोलिक एसएआर का उपयोग किया जाता है और ट्रेंड रिवर्स होने पर रिवर्स पोजीशन में प्रवेश किया जाता है। यह रणनीति जोखिम को नियंत्रित करने के लिए स्टॉप-लॉस और स्टॉप-स्टॉप दोनों को जोड़ती है।
यह रणनीति वर्तमान बाजार के रुझानों का आकलन करने के लिए Parabolic SAR सूचक का उपयोग करती है। Parabolic SAR full name is Parabolic Stop and Reverse, जिसका अर्थ है कि पराबैक्टीरियल स्टॉप लॉस रिवर्स है। इसकी सूचक रेखाएं मूल्य चार्ट पर पराबैक्टीरियल लाइनों की एक श्रृंखला की तरह दिखती हैं, जो पराबैक्टीरियल लाइन बिंदुओं का प्रतिनिधित्व करती हैं।
जब एसएआर नीचे और कीमत से नीचे होता है, तो यह एक bullish प्रवृत्ति का प्रतिनिधित्व करता है; जब एसएआर ऊपर और कीमत से ऊपर होता है, तो यह एक bearish प्रवृत्ति का प्रतिनिधित्व करता है। यह रणनीति एसएआर बिंदु की स्थिति के आधार पर वर्तमान प्रवृत्ति की दिशा का न्याय करने के लिए है।
विशेष रूप से, जब एसएआर ऊपर की ओर बढ़ रहा है और कीमत से ऊपर है, तो रणनीति एक खाली स्थिति में है; जब एसएआर नीचे की ओर बढ़ रहा है और कीमत से नीचे है, तो रणनीति एक बहु-स्थिति में है। यानी, जब एसएआर ट्रेंड रिवर्स दिखाता है, तो रिवर्स स्थिति में प्रवेश करें।
इसके अलावा, इस रणनीति में एक स्टॉप-लॉस और स्टॉप-बॉक्सिंग तंत्र है। जब बहुत अधिक किया जाता है, तो नुकसान को सीमित करने के लिए स्टॉप-लॉस मूल्य सेट करना संभव है। इसके अलावा, एक स्टॉप-बॉक्सिंग मूल्य सेट करना संभव है, जब कीमत एक निश्चित लक्ष्य लाभ तक पहुंच जाती है।
इस रणनीति में रुझान संकेतक और स्टॉप-लॉस/स्टॉप-स्टॉप तंत्र के संयोजन के निम्नलिखित प्रमुख फायदे हैंः
इस रणनीति के कुछ जोखिम भी हैं, जिनके बारे में ध्यान देने की आवश्यकता हैः
इन जोखिमों के लिए, पैरामीटर अनुकूलन को समायोजित करके या अन्य संकेतकों के फ़िल्टरिंग के साथ काम करके समाधान किया जा सकता है।
इस रणनीति को निम्नलिखित दिशाओं में अनुकूलित किया जा सकता हैः
यह ट्रेंड ट्रैकिंग स्टॉप-लॉस रिवर्स रणनीति, एक अधिक क्लासिक ट्रेडिंग रणनीति विचार है। यह ट्रेंड रिवर्स की पहचान करने का कार्य करता है, जबकि स्टॉप-लॉस और स्टॉप-स्टॉप के साधनों के साथ जोखिम को नियंत्रित करता है। अनुकूलन के माध्यम से यह एक ठोस रणनीति विचार हो सकता है।
/*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)