संसाधन लोड हो रहा है... लोड करना...

आरएसआई रुझान उलटने की रणनीति

लेखक:चाओझांग, दिनांकः 2024-04-28 13:33:19
टैगःआरएसआईएटीआर

img

अवलोकन

आरएसआई ट्रेंड रिवर्सल स्ट्रेटेजी रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) और एवरेज ट्रू रेंज (एटीआर) पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। यह तेजी से बाजार में उतार-चढ़ाव के अनुकूल होने और ट्रेंड रिवर्सल अवसरों को पकड़ने के लिए गतिशील रूप से लाभ और स्टॉप लॉस (टीपी / एसएल) के स्तर को समायोजित करती है। रणनीति आरएसआई के आसपास केंद्रित है, अस्थिरता को मापने के लिए एटीआर के साथ संयुक्त है, और खुलने और बंद होने की स्थिति के आधार के रूप में दो अनुकूलनशील गतिशील बैंड का निर्माण करती है। इस रणनीति का उपयोग स्वतंत्र रूप से या अन्य रणनीतियों के लिए लाभ और स्टॉप लॉस मॉड्यूल के रूप में किया जा सकता है। इसे टेस्ला (TSLA), एप्पल (AAPL), और एनवीडिया (NDAV) जैसे शेयरों के 15 मिनट के डेटा पर अच्छी तरह से परीक्षण किया गया है।

रणनीतिक सिद्धांत

आरएसआई ट्रेंड रिवर्सल रणनीति का मूल गतिशील टीपी / एसएल बैंड के निर्माण में निहित है। सबसे पहले, यह पिछले क्रॉसओवर के बाद से उच्चतम और निम्नतम कीमतों को खोजने के लिए कस्टम उच्चतम_कस्टम और निम्नतम_कस्टम फ़ंक्शन का उपयोग करता है, जो बैंड का आधार बनाता है। फिर, यह उपयोगकर्ता द्वारा निर्दिष्ट लंबाई के साथ आरएसआई और एटीआर की गणना करता है और निम्नलिखित गणना करता हैः

  1. निचला बैंड = उच्चतम मूल्य × [1 - (एटीआर/मूल्य + 1/(आरएसआई निचला बैंड × गुणक))]
  2. ऊपरी बैंड = सबसे कम मूल्य × [1 + (ATR/Price + 1/(RSI ऊपरी बैंड × गुणक))]

यहाँ, गुणक एक उपयोगकर्ता-परिभाषित बैंड विस्तार कारक है। यदि कीमत ऊपरी बैंड से ऊपर टूटती है, तो यह लंबी जाती है; यदि यह निचले बैंड से नीचे टूटती है, तो यह छोटी हो जाती है। इन दो बैंडों के रंग भी बैंड के सापेक्ष मूल्य की स्थिति के अनुसार बदलते हैं, जिससे यह अवलोकन करना आसान हो जाता है।

रणनीतिक लाभ

  1. उच्च अनुकूलन क्षमताः टीपी/एसएल बैंड स्वचालित रूप से मूल्य अस्थिरता के आधार पर समायोजित कर सकते हैं, बाजार में परिवर्तनों का तुरंत जवाब दे सकते हैं।
  2. समायोज्य मापदंडः लंबाई और गुणक जैसे मापदंडों को समायोजित करके, रणनीति की संवेदनशीलता को लचीले ढंग से नियंत्रित किया जा सकता है।
  3. स्पष्ट तर्क: कोड संरचना समझदार और समझने और आगे विकसित करने में आसान है।
  4. व्यापक प्रयोज्यताः इसका उपयोग एक रणनीति के रूप में स्वतंत्र रूप से किया जा सकता है या अन्य रणनीतियों में टीपी/एसएल कार्यक्षमता जोड़ सकते हैं।
  5. कम्प्यूटेशनल दक्षता: highest_custom जैसे कस्टम फ़ंक्शन का उपयोग करके, यह श्रृंखला प्रकारों का उपयोग करने के कारण होने वाली भारी दोहरावदार गणनाओं से बचता है।

रणनीतिक जोखिम

  1. अनुचित पैरामीटर चयन अतिरिक्त जोखिम ला सकता है। उदाहरण के लिए, एक छोटी लंबाई से लगातार व्यापार हो सकता है, और एक बड़ा गुणक अत्यधिक ढीले स्टॉप लॉस का कारण बन सकता है।
  2. विशिष्ट बाजार स्थितियों में प्रदर्शन खराब हो सकता है, जैसे कि अस्थिर बाजार में बार-बार समेकन और झूठे ब्रेकआउट, जिसके परिणामस्वरूप अधिक घाटे में ट्रेड हो सकते हैं।
  3. इस रणनीति का कोई ट्रेंड जजमेंट फंक्शन नहीं है और इसका उपयोग अन्य संकेतों के साथ किया जाना चाहिए।

रणनीति अनुकूलन दिशाएं

  1. केवल मुख्य प्रवृत्ति की दिशा में उलट बिंदुओं पर व्यापार करने के लिए चलती औसत जैसे प्रवृत्ति संकेतक जोड़ने पर विचार करें।
  2. लंबाई, गुणक आदि का सबसे अच्छा संयोजन खोजने के लिए मापदंडों का अनुकूलन करें।
  3. प्रवेश और निकास बिंदुओं की सटीकता में सुधार के लिए अन्य तकनीकी संकेतकों या बाजार भावना संकेतकों के साथ संयोजन करें।
  4. प्रत्येक व्यापार के जोखिम जोखिम को सख्ती से नियंत्रित करने के लिए स्थिति प्रबंधन जोड़ें।

सारांश

आरएसआई ट्रेंड रिवर्सल रणनीति आरएसआई और एटीआर का उपयोग अनुकूलन बैंड बनाने के लिए करती है जो गतिशील रूप से टीपी / एसएल बिंदुओं को समायोजित कर सकते हैं और बाजार में परिवर्तनों का तुरंत जवाब दे सकते हैं। रणनीति में स्पष्ट तर्क, व्यापक प्रयोज्य है, और मात्रात्मक व्यापारियों के लिए एक शक्तिशाली उपकरण हो सकता है। हालांकि, व्यावहारिक उपयोग में, अभी भी पैरामीटर चयन और जोखिम नियंत्रण पर ध्यान देने की आवश्यकता है, और समग्र प्रदर्शन में सुधार के लिए अन्य संकेतक संकेतों के साथ संयोजन में इसका उपयोग करने की सिफारिश की जाती है। रणनीति में अनुकूलन के लिए और अधिक जगह है, जैसे कि प्रवृत्ति फ़िल्टर जोड़ना और पैरामीटर अनुकूलन। कुल मिलाकर, आरएसआई ट्रेंड रिवर्सल रणनीति मात्रात्मक व्यापार के लिए एक सरल लेकिन प्रभावी दृष्टिकोण प्रदान करती है।


/*backtest
start: 2023-04-22 00:00:00
end: 2024-04-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI Trend Reversal", overlay=true, max_bars_back = 4999, calc_on_every_tick = false)


//INPUTS 
rsi_length = input.int(title = "Lenght", defval = 8)
rsi_mult = input.float(title = "Multiplier", defval = 1.5, step = .05)
lookback = input.int(title = "Delay to prevent idealization", defval = 1)
sltp = input.float(title = "Minimum Difference", defval = 10)
src = input.source(title = "Source Input", defval = close)

//PARAMETERS INITILIZATION
hclose = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, src)
//FUNCTION INITILIZATION
highest_custom(src, length) =>
    x = src
    for i = 0 to length
        if src[i] > x
            x := src[i]
    x
lowest_custom(src, length) => 
    x = src
    for i = 0 to length
        if src[i] < x
            x := src[i]
    x
rsilev(src, length, mult, sltp) =>
    sl = (100 - sltp) / 100
    tp = (100 + sltp) / 100
    var bool crossup = na
    var bool crossdown = na
    var float dir = na
    dir_change = ta.change(dir)
    var float BearGuy = 0
    BullGuy = ta.barssince(crossup or crossdown)
    if na(BullGuy)
        BearGuy += 1
    else
        BearGuy := BullGuy
    var float upper = na
    var float lower = na
    rsilower = ta.rsi(src, length)
    rsiupper = math.abs(ta.rsi(src, length) - 100)
    atr = ta.atr(length) / src
    lower := highest_custom(math.max(highest_custom(highest_custom(src, BearGuy) * (1 - (atr + ((1 / (rsilower) * mult)))), BearGuy), src * sl), BearGuy)
    upper := lowest_custom(math.min(lowest_custom(lowest_custom(src, BearGuy) * (1 + (atr + ((1 / (rsiupper) * mult)))), BearGuy), src * tp), BearGuy)
    var float thresh = na
    if na(thresh)
        thresh := lower
    if na(dir)
        dir := 1
    if crossdown
        dir := -1
    if crossup
        dir := 1
    if dir == 1
        thresh := lower
    if dir == -1
        thresh := upper
    crossup := ta.crossover(src, thresh)
    crossdown := ta.crossunder(src, thresh)
    thresh

rsiclose = rsilev(hclose, rsi_length, rsi_mult, sltp)

//PLOTTING
var color col = color.lime
if hclose > rsiclose
    col := color.lime
if hclose < rsiclose
    col := color.red
plot(rsiclose, linewidth = 2, color = col)

//STRATEGY
buy = ta.crossover(hclose, rsiclose)
sell = ta.crossunder(hclose, rsiclose)

if buy[lookback]
    strategy.entry("long", strategy.long)
if sell[lookback]
    strategy.entry("Short", strategy.short)

संबंधित

अधिक