रेंको और सापेक्ष शक्ति सूचकांक रणनीति का पालन करते हुए

लेखक:चाओझांग, दिनांकः 2024-02-04 15:49:19
टैगः

img

अवलोकन

यह रणनीति अधिकांश प्रमुख बाजार रुझानों को पकड़ने के लिए रेन्को चार्ट और रिलेटिव वीगोर इंडेक्स (RVI) को जोड़ती है। यह BTCUSD, HSI आदि जैसे प्रमुख प्रतीकों पर अच्छी तरह से काम करती है।

रणनीति तर्क

रणनीति 9 अवधि एटीआर के आधार पर रेन्को ईंटों का निर्माण करती है। एक नई हरी ईंट का निर्माण तब किया जाता है जब बंद कीमत पिछले ईंट के उच्च से अधिक हो जाती है। एक नई लाल ईंट का निर्माण तब किया जाता है जब बंद कीमत पिछले ईंट के निम्न से नीचे गिर जाती है। रुझान की दिशा आरवीआई संकेतक द्वारा निर्धारित की जाती है।

RVI खरीद और बिक्री दबाव के बीच सापेक्ष शक्ति को मापने के लिए 0-1 के बीच दोलन करता है। 0.5 से ऊपर मजबूत खरीद दबाव का प्रतिनिधित्व करता है जबकि 0.5 से नीचे मजबूत बिक्री दबाव का प्रतिनिधित्व करता है। RVI अपने चिकनी चलती औसत से ऊपर पार करने से बिक्री दबाव कम होने पर खरीद संकेत देता है। RVI से नीचे पार करने से खरीद दबाव कम होने पर बिक्री संकेत मिलता है।

इसके अनुसार लंबी या छोटी स्थिति दर्ज करने के लिए रेंको ईंट दिशा और आरवीआई संकेतों को मिलाएं।

लाभ

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

जोखिम

  1. ईंट का आकार सीधे व्यापार की आवृत्ति को प्रभावित करता है। बहुत बड़ी ईंटें अवसर खो सकती हैं जबकि बहुत छोटी लागत बढ़ जाती है।
  2. अनुचित आरवीआई पैरामीटर से सिग्नल गायब हो सकते हैं या अधिक झूठे सिग्नल हो सकते हैं।
  3. दोहरी फ़िल्टरिंग से कुछ व्यापारिक अवसर चूक जाते हैं।

सुधार

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

निष्कर्ष

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


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

//@version=3
strategy("Lancelot RR Strategy", overlay=false)
p=9
CO=close-open
HL=high-low
value1 = (CO + 2*CO[1] + 2*CO[2] + CO[3])/6
value2 = (HL + 2*HL[1] + 2*HL[2] + HL[3])/6
num=sum(value1,p)
denom=sum(value2,p)
RVI=denom!=0?num/denom:0
RVIsig=(RVI+ 2*RVI[1] + 2*RVI[2] + RVI[3])/6

rvicloselongcondition = crossunder(RVI, RVIsig)
rvicloseshortcondition = crossover(RVI, RVIsig)

plot(RVI,color=green,style=line,linewidth=1)
plot(RVIsig,color=red,style=line,linewidth=1)
bgcolor(rvicloseshortcondition ? green : na, transp = 75)
bgcolor(rvicloselongcondition ? red : na, transp = 75)

///Renko///
TF = input(title='TimeFrame', defval="D")
ATRlength = input(title="ATR length",  defval=9, minval=2, maxval=100)
SMAlength = input(title="SMA length",  defval=5, minval=2, maxval=100)
SMACurTFlength = input(title="SMA CurTF length",  defval=20, minval=2, maxval=100)

HIGH = request.security(syminfo.tickerid, TF, high)
LOW = request.security(syminfo.tickerid, TF, low)
CLOSE = request.security(syminfo.tickerid, TF, close)
ATR = request.security(syminfo.tickerid, TF, atr(ATRlength))
SMA = request.security(syminfo.tickerid, TF, sma(close, SMAlength))
SMACurTF = sma(close, SMACurTFlength)

RENKOUP = na
RENKODN = na
H = na
COLOR = na
BUY = na
SELL = na
UP = na
DN = na
CHANGE = na

RENKOUP := na(RENKOUP[1]) ? ((HIGH+LOW)/2)+(ATR/2) : RENKOUP[1]
RENKODN := na(RENKOUP[1]) ? ((HIGH+LOW)/2)-(ATR/2) : RENKODN[1]
H := na(RENKOUP[1]) or na(RENKODN[1]) ? RENKOUP-RENKODN : RENKOUP[1]-RENKODN[1]
COLOR := na(COLOR[1]) ? white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false
CHANGE := false

if(not CHANGE and close >= RENKOUP[1]+H*3)
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1]+ATR*3
    RENKODN := RENKOUP[1]+ATR*2
    COLOR := lime
    SELL := 0
    BUY := BUY+3

if(not CHANGE and close >= RENKOUP[1]+H*2)
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1]+ATR*2
    RENKODN := RENKOUP[1]+ATR
    COLOR := lime
    SELL := 0
    BUY := BUY+2

if(not CHANGE and close >= RENKOUP[1]+H)
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1]+ATR
    RENKODN := RENKOUP[1]
    COLOR := lime
    SELL := 0
    BUY := BUY+1

if(not CHANGE and close <= RENKODN[1]-H*3)
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1]-ATR*3
    RENKOUP := RENKODN[1]-ATR*2
    COLOR := red
    BUY := 0
    SELL := SELL+3

if(not CHANGE and close <= RENKODN[1]-H*2)
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1]-ATR*2
    RENKOUP := RENKODN[1]-ATR
    COLOR := red
    BUY := 0
    SELL := SELL+2

if(not CHANGE and close <= RENKODN[1]-H)
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1]-ATR
    RENKOUP := RENKODN[1]
    COLOR := red
    BUY := 0
    SELL := SELL+1
    
plotshape(UP, style=shape.arrowup, location=location.bottom, size=size.normal)

renkolongcondition = UP
renkoshortcondition = DN

///Long Entry///
longcondition = UP
if (longcondition)
    strategy.entry("Long", strategy.long)
    
///Long exit///
closeconditionlong = rvicloselongcondition
if (closeconditionlong)
    strategy.close("Long")

अधिक