आरएसआई संकेतक पर आधारित लंबी और छोटी स्वचालित ट्रेडिंग रणनीति


निर्माण तिथि: 2024-02-29 14:14:01 अंत में संशोधित करें: 2024-02-29 14:14:01
कॉपी: 25 क्लिक्स: 686
1
ध्यान केंद्रित करना
1617
समर्थक

आरएसआई संकेतक पर आधारित लंबी और छोटी स्वचालित ट्रेडिंग रणनीति

अवलोकन

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

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

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

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

श्रेष्ठता विश्लेषण

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

इसके अलावा, इस रणनीति के बाहर निकलने की शर्तों को निर्धारित किया गया है, जो एकतरफा बाजार में नुकसान के जोखिम को प्रभावी ढंग से नियंत्रित कर सकता है। यह पारंपरिक प्रवृत्ति का पालन करने वाली रणनीति के विपरीत है, जो स्थिति को पकड़ने से बचने के लिए है।

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

इस रणनीति का सबसे बड़ा जोखिम यह है कि आरएसआई द्वारा जारी किए गए ट्रेडिंग सिग्नल को गलत तरीके से समझा जा सकता है। कोई भी तकनीकी संकेतक बाजार की चाल का 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="")