आरएसआई आधारित ऑटो ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-29 14:14:01
टैगः

img

अवलोकन

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

रणनीति तर्क

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

इसके अतिरिक्त, रणनीति में बाहर निकलने के नियम स्थापित किए गए हैं। लंबी स्थिति खोलने के बाद, यदि आरएसआई फिर से ओवरबोल्ड लाइन से ऊपर जाता है, तो यह बंद करने के लिए स्टॉप लॉस को ट्रिगर करेगा; इसी तरह, शॉर्ट्स खोलने के बाद, यदि आरएसआई फिर से ओवरसोल्ड लाइन से नीचे जाता है, तो यह शॉर्ट्स को बंद कर देगा।

लाभ विश्लेषण

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

इसके अलावा, स्टॉप लॉस तंत्र प्रभावी रूप से मजबूत एक दिशात्मक रुझानों के दौरान डाउनसाइड जोखिम को नियंत्रित करता है, जो पारंपरिक रुझान-अनुसरण रणनीतियों के विपरीत है जहां धावक आसानी से परेशानी में पड़ सकते हैं।

जोखिम विश्लेषण

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

इस तरह के जोखिम को कम करने के लिए, स्टॉप लॉस को रणनीति में लागू किया जाता है। लेकिन मजबूत रुझानों के दौरान स्टॉप लॉस ट्रिगर की संभावना अभी भी अधिक हो सकती है, और गलत पदों को बंद करने के लिए मैन्युअल हस्तक्षेप की आवश्यकता होगी। आम तौर पर, स्वचालित प्रणाली को अधिकतम प्रदर्शन प्राप्त करने के लिए मानव पर्यवेक्षण और समायोजन की आवश्यकता होती है।

अनुकूलन दिशाएँ

आगे के अनुकूलन के लिए जगह बनी हुई हैः

  1. प्रवेश संकेतों की पुष्टि करने और केवल आरएसआई से गलत प्रविष्टियों से बचने के लिए अन्य संकेतकों को शामिल करें। चलती औसत आदि जोड़े जा सकते हैं।

  2. अधिक सटीक ओवरबॉट/ओवरसोल्ड डिटेक्शन के लिए बेहतर लंबाई मान खोजने के लिए आरएसआई मापदंडों को अनुकूलित करें।

  3. नुकसान को रोकने और समय से पहले बाहर निकलने से बचने के बीच संतुलन बनाने के लिए स्टॉप लॉस प्लेसमेंट को ठीक से ट्यून करें।

निष्कर्ष

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


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


//@version=4

strategy("Soran Strategy 2 - LONG SIGNALS", pyramiding=1, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=50, overlay=false)


// ----------------- Inputs ----------------- //

reso = input(title="Resolution", type=input.resolution, defval="")
length = input(20, title="RSI Length", type=input.integer)
ovrsld = input(30, "RSI Oversold level", type=input.float)
ovrbgt = input(85, "RSI Overbought level", type=input.float)
lateleave = input(28, "Number of candles", type=input.integer)
// lateleave : numbers of bars in overbought/oversold zones where the position is closed. The position is closed when this number is reached or when the zone is left (the first condition).

// best parameters BTCUSDTPERP M15 : 20 / 30 / 85 / 28


stratbull = input(title="Enter longs ?", type = input.bool, defval=true)
stratbear = input(title="Enter shorts ?", type = input.bool, defval=true)

stratyear = input(2020, title = "Strategy Start Year")
stratmonth = input(1, title = "Strategy Start Month")
stratday = input(1, title = "Strategy Start Day")
stratstart = timestamp(stratyear,stratmonth,stratday,0,0)


// --------------- Laguerre ----------------- //

laguerre = input(title="Use Laguerre on RSI ?", type=input.bool, defval=false)
gamma = input(0.06, title="Laguerre Gamma")

laguerre_cal(s,g) =>
    l0 = 0.0
    l1 = 0.0
    l2 = 0.0
    l3 = 0.0
    l0 := (1 - g)*s+g*nz(l0[1])
    l1 := -g*l0+nz(l0[1])+g*nz(l1[1])
    l2 := -g*l1+nz(l1[1])+g*nz(l2[1])
    l3 := -g*l2+nz(l2[1])+g*nz(l3[1])
    (l0 + 2*l1 + 2*l2 + l3)/6


// ---------------- Rsi VWAP ---------------- //

rsiV = security(syminfo.tickerid, reso, rsi(vwap(close), length))

rsiVWAP = laguerre ? laguerre_cal(rsiV,gamma) : rsiV


// ------------------ Plots ----------------- //

prsi = plot(rsiVWAP, color = rsiVWAP>ovrbgt ? color.red : rsiVWAP<ovrsld ? color.green : color.white, title="RSI on VWAP", linewidth=1, style=plot.style_line)
hline = plot(ovrbgt, color = color.gray, style=plot.style_line)
lline = plot(ovrsld, color = color.gray, style=plot.style_line)
fill(prsi,hline, color = rsiVWAP > ovrbgt ? color.red : na, transp = 30)
fill(prsi,lline, color = rsiVWAP < ovrsld ? color.green : na, transp = 30)


// ---------------- Positions: only shows Buy and close Buy positions --------------- //

timebull = stratbull 
timebear = stratbear 

strategy.entry("Long", true, when = timebull and crossover(rsiVWAP, ovrsld), comment="")
strategy.close("Long", when = timebull and crossover(rsiVWAP, ovrbgt)[lateleave] or crossunder(rsiVWAP, ovrbgt), comment="")


अधिक