क्रिप्टोकरेंसी आरएसआई वक्र ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-11 17:24:59
टैगः

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

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

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

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

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

strategy(title="Crypto RSI + RVI Strategy", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.03, pyramiding=1  )

Period = input(100, minval=1)
BuyZone = input(49, minval=1)
SellZone = input(50, minval=1)

length=Period
MA_s=0.0
pos=0.0
possig=0.0
nU=0.0
nD=0.0
nRes=0.0
ob=SellZone
os=BuyZone

WiMA(src, length) => 
    MA_s=0.0
    MA_s:=(src + nz(MA_s[1] * (length-1)))/length
    MA_s

calc_rsi_volume(fv, length) =>    
    up=iff(fv>fv[1],abs(fv-fv[1])*volume,0)
    dn=iff(fv<fv[1],abs(fv-fv[1])*volume,0)
    upt=WiMA(up,length)
    dnt=WiMA(dn,length)
    100*(upt/(upt+dnt))

rsi_v = calc_rsi_volume(close, length)

// u=plot(ob)
// l=plot(os)
// fill(u,l,color.red)
// plot(50)
// plot(rsi_v, color=color.red, linewidth=1)

 

reverse = input(false, title="Trade reverse")
xPrice = close
StdDev = stdev(xPrice, Period)
d = iff(close > close[1], 0, StdDev)
u = iff(close > close[1], StdDev, 0)
nU := (13 * nz(nU[1],0) + u) / 14
nD := (13 * nz(nD[1],0) + d) / 14
nRes := 100 * nU / (nU + nD)
pos := iff(nRes < BuyZone, -1,
       iff(nRes > SellZone, 1, nz(pos[1], 0))) 
possig := iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))       

 


long=crossover (rsi_v,ob) and (possig == 1) 
short=crossunder(rsi_v,os) and (possig == -1)

g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk     = input(100)
leverage = input(2.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)

strategy.entry("long",1,c,when=long)
strategy.close("long",when=short)
//strategy.entry("short",0,when=short)

 

// ------------------------- Strategy Logic --------------------------------- //
var longOpeneda = false
var shortOpeneda = false
var int timeOfBuya = na

 

longCondition= long and not longOpeneda 

if longCondition
    longOpeneda := true
    timeOfBuya := time


longExitSignala = short
exitLongCondition = longOpeneda[1] and longExitSignala

if exitLongCondition
    longOpeneda := false
    timeOfBuya := na

//plotshape(longCondition, style=shape.labelup, location=location.belowbar, color=color.color.green, size=size.tiny, title="BUY", text="BUY", textcolor=color.color.white)
//plotshape(exitLongCondition, style=shape.labeldown, location=location.abovebar, color=color.color.red, size=size.tiny, title="SELL", text="SELL", textcolor=color.color.white)
sl=input(0.2)
tp=input(1.0)
strategy.exit("long_tp/sl", "long", profit=close * tp / syminfo.mintick, loss=close * sl / syminfo.mintick, comment='long_tp/sl', alert_message = 'closelong')
strategy.exit("short_tp/sl", "short", profit=close * tp / syminfo.mintick, loss=close * sl / syminfo.mintick, comment='short_tp/sl',  alert_message = 'closeshort')


अधिक