बहु-अवधि आरएसआई पर आधारित रिवर्सल ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-14 20:42:55
टैगः

यह लेख एक मात्रात्मक ट्रेडिंग रणनीति का विस्तार से वर्णन करता है जो रिवर्स पॉइंट्स की पहचान करने के लिए मल्टी-पीरियड आरएसआई संकेतकों का उपयोग करता है। यह बाजार के मोड़ बिंदुओं को खोजने के लिए एक साथ कई आरएसआई संकेतकों का विश्लेषण करता है।

I. रणनीतिक तर्क

रणनीति में विभिन्न मापदंडों वाले आरएसआई संकेतकों के 3 समूहों का उपयोग किया गया हैः

  1. क्रमशः अवधि 2, 7 और 14 के लिए आरएसआई मानों की गणना की जाए।

  2. जब आरएसआई-2 10 से नीचे होता है, आरएसआई-7 20 से नीचे होता है और आरएसआई-14 30 से नीचे होता है, तो नीचे की पहचान की जाती है।

  3. जब आरएसआई-2 90 से ऊपर है, आरएसआई-7 80 से ऊपर है और आरएसआई-14 70 से ऊपर है, तो एक शीर्ष की पहचान की जाती है।

  4. आरएसआई एकमत के आधार पर खरीद/बिक्री संकेत उत्पन्न करें।

  5. संकेतक सहमति के लिए पूर्व निर्धारित समायोज्य मापदंडों, सिग्नल आवृत्ति को नियंत्रित.

आरएसआई संकेतकों का सामूहिक रूप से अवधियों में विश्लेषण करके, उलट बिंदु सटीकता में सुधार किया जा सकता है।

II. रणनीति के फायदे

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

एक अन्य लाभ यह है कि आम सहमति के मापदंडों को समायोजित करने और विभिन्न बाजार वातावरणों के अनुकूल करने में लचीलापन है।

अंत में, आरएसआई संयोजन अधिक समायोजन विकल्प भी प्रदान करते हैं।

III. संभावित जोखिम

हालांकि, निम्नलिखित जोखिम मौजूद हैंः

सबसे पहले, आरएसआई में ही उल्टा होने की पहचान करने में अंतर्निहित देरी होती है।

दूसरे, कई संकेतकों से संकेत अस्पष्टता पैदा होती है जिसके लिए स्पष्ट नियमों की आवश्यकता होती है।

अंत में, रिवर्सल ट्रेडों में असफलता दर होती है जिसके लिए मनोवैज्ञानिक तैयारी की आवश्यकता होती है।

IV. सारांश

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


/*backtest
start: 2023-09-06 00:00:00
end: 2023-09-13 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Triple RSI Top/Bottom v1.1", shorttitle = "3RSI Top/Bottom 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage")
indi = input(3, defval = 3, minval = 1, maxval = 3, title = "Indicators")
accuracy = input(3, defval = 3, minval = 1, maxval = 10, title = "accuracy")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//RSI-2
fastup = rma(max(change(close), 0), 2)
fastdown = rma(-min(change(close), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//RSI-7
middleup = rma(max(change(close), 0), 7)
middledown = rma(-min(change(close), 0), 7)
middlersi = middledown == 0 ? 100 : middleup == 0 ? 0 : 100 - (100 / (1 + middleup / middledown))

//RSI-14
slowup = rma(max(change(close), 0), 14)
slowdown = rma(-min(change(close), 0), 14)
slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown))

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
acc = 10 - accuracy
signalup1 = fastrsi < (5 + acc) ? 1 : 0
signalup2 = middlersi < (10 + acc * 2) ? 1 : 0
signalup3 = slowrsi < (15 + acc * 3) ? 1 : 0

signaldn1 = fastrsi > (95 - acc) ? 1 : 0
signaldn2 = middlersi > (90 - acc * 2) ? 1 : 0
signaldn3 = slowrsi > (85 - acc * 3) ? 1 : 0

up = signalup1 + signalup2 + signalup3 >= indi
dn = signaldn1 + signaldn2 + signaldn3 >= indi
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 3

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1]

if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Bottom", strategy.long, needlong == false ? 0 : lot)

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Top", strategy.short, needshort == false ? 0 : lot)
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

अधिक