
यह रणनीति RVI ((रिलेटिव स्ट्रेंथ इंडेक्स) और EMA ((इंडेक्स मूविंग एवरेज) पर आधारित है। यह RVI में लाभदायक है, धीमी गति से ईएमए पर तेजी से ईएमए पर अधिक है, और धीमी गति से ईएमए पर तेजी से ईएमए पर शून्य है, जो एक प्रवृत्ति और ओवरबॉय ओवरसोल पर आधारित एक मात्रात्मक व्यापार रणनीति को लागू करता है।
आरवीआई का उपयोग ओवरबॉट ओवरसोल की स्थिति का आकलन करने के लिए किया जाता है। जब आरवीआई संकेतक लाइन पर अपनी सिग्नल लाइन को पार करते हैं तो ओवरबॉट सिग्नल के लिए अधिक करें; जब आरवीआई संकेतक लाइन के नीचे अपनी सिग्नल लाइन को पार करते हैं तो ओवरसोल सिग्नल के लिए खाली करें।
दोहरे ईएमए का उपयोग करें प्रवृत्ति की दिशा निर्धारित करने के लिए। जब तेज ईएमए धीमी ईएमए के ऊपर होता है तो तेजी की प्रवृत्ति होती है, जब धीमी ईएमए तेज ईएमए के ऊपर होती है तो गिरावट की प्रवृत्ति होती है।
केवल जब आरवीआई लाभ देता है और ईएमए इसे नीलामी के रूप में देखता है, तो अधिक संचालन किया जाता है; केवल जब आरवीआई लाभ देता है और ईएमए इसे गिरावट के रूप में देखता है, तो शून्य संचालन किया जाता है।
अधिक करने के बाद रोक हाल ही में कम से नीचे स्थित हैatr*atrSL दूरी, बंदरगाह निकटतम ऊंचाई पर स्थित है*atrTP दूरी; बंद होने के बाद की हानि निकटतम ऊंचाई से ऊपर हैatr*atrSL दूरी, स्टॉपस्टॉप निकटतम निचले बिंदु से नीचे है*atrTP दूरी
ट्रेंड और ओवरबॉय ओवरसोल सूचकांकों के संयोजन से, झूठे ब्रेक से बचें।
गतिशील स्टॉप-लॉस स्टॉप-अप, जो आपको स्थिति को समझने में मदद करता है।
ट्रेडिंग सिग्नल सटीकता के साथ ट्रेंड क्वालिटी और ओवरबॉय ओवरसोल को ध्यान में रखते हुए।
रिट्रेसमेंट डेटा पर्याप्त है, पैरामीटर अनुकूलित है, और हार्ड डिस्क अच्छा प्रदर्शन कर रहा है।
बड़े पैमाने पर अस्थिर बाजारों में, ईएमए के फैसले के रुझान अक्सर बदलते हैं और ट्रेडिंग की आवृत्ति अधिक हो सकती है।
आरवीआई पैरामीटर और ईएमए चक्र को विभिन्न व्यापारिक किस्मों के लिए अनुकूलित करने की आवश्यकता है, अन्यथा व्यापार प्रभावशीलता खराब हो सकती है।
स्टॉप लॉस स्टॉप को भी बाजार की अस्थिरता के आधार पर उचित रूप से सेट किया जाना चाहिए, अन्यथा जोखिम को प्रभावी ढंग से नियंत्रित नहीं किया जा सकता है।
ट्रेडिंग निर्णयों को अधिक सटीक बनाने के लिए, अधिक सहायक संकेतकों को शामिल करने पर विचार किया जा सकता है जो प्रवृत्ति के गुणों का आकलन करते हैं, जैसे कि आघात सूचक, ब्रीनिंग लाइन चैनल आदि।
अस्थिरता के संकेतकों जैसे कि एटीआर के साथ, स्टॉप लॉस स्टॉप दूरी को गतिशील रूप से समायोजित किया जा सकता है, और बड़े उतार-चढ़ाव के दौरान स्टॉप लॉस रेंज को उचित रूप से छूट दी जा सकती है।
विभिन्न किस्मों के लिए पैरामीटर के संयोजनों का परीक्षण किया जा सकता है, सर्वोत्तम पैरामीटर का चयन किया जा सकता है और रणनीति की स्थिरता में सुधार किया जा सकता है।
रणनीति RVI और ईएमए सूचकांक के लाभों को जोड़ती है, ओवरबॉट और ओवरसोल्ड का आकलन करने के लिए महाप्रवृत्ति की दिशा को ध्यान में रखती है, और टकराव के व्यापार से बचती है। गतिशील स्टॉप-लॉस-स्टॉप तंत्र बाजार की मुख्य दिशा को पकड़ने के लिए फायदेमंद है। पैरामीटर अनुकूलन और सख्त जोखिम नियंत्रण के बाद, रणनीति को निवेश पर अपेक्षाकृत स्थिर रिटर्न प्राप्त करने की अनुमति मिलती है। आगे के समायोजन और अनुकूलन के लिए अभी भी जगह है।
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//this strategy works well on h4 (btc or eth)
//@version=5
strategy(title="Relative Vigor Index", shorttitle="RVGI",overlay=true)
//indicator(title="Relative Vigor Index", shorttitle="RVGI", format=format.price, precision=4, timeframe="", timeframe_gaps=true)
len = input.int(4, title="Length rvi", minval=1)
rvi = math.sum(ta.swma(close-open), len)/math.sum(ta.swma(high-low),len)
sig = ta.swma(rvi)
offset = input.int(0, "Offset rvi", minval = -500, maxval = 500)
atrlength = input.int(19,title="Atr Length",minval=1)
ema1 = input.int(95,title="Long EMA rapida",minval=1,step=10)
ema2 = input.int(200,title="Long EMA lenta",minval=1,step=10)
atrSL = input.float(2.0,title="Atr SL", step=0.1)
atrTP = input.float(1.0,title="Atr TP", step=0.1)
atr = ta.atr(atrlength)
esalcista = low > ta.ema(close,ema1) and ta.ema(close,ema1) > ta.ema(close,ema2)
bajista = high < ta.ema(close,ema1) and ta.ema(close,ema1) < ta.ema(close,ema2)
//plot(high + atr)
//plot(low - atr)
//strategy.entry("compra",strategy.long, when=ta.crossover(rvi,sig))
//strategy.close("compra",when=ta.crossunder(rvi,sig))
//plot(rvi, color=#008000, title="RVGI", offset = offset)
//plot(sig, color=#FF0000, title="Signal", offset = offset)
//plotshape(true,style=shape.xcross)
var TP = 0.0
var SL = 0.0
comprado = strategy.position_size>0
vendido = strategy.position_size<0
crucepositivo = ta.crossover(rvi,sig)
crucenegativo = ta.crossunder(rvi,sig)
if comprado
// ver SL
if low < SL
strategy.close("BUY",comment="SL")
if comprado
//ver tp
if high > TP
strategy.close("BUY",comment="TP")
if not comprado and not vendido
if crucepositivo and esalcista
strategy.entry("BUY",strategy.long)
SL := low - (atr * atrSL)
TP := high + (atr * atrTP)
alert("BUY",alert.freq_once_per_bar)
//---------------
if vendido
// ver SL
if high > SL
strategy.close("SELL",comment="SL")
if vendido
//ver tp
if low < TP
strategy.close("SELL",comment="TP")
if not vendido and not comprado
if crucenegativo and bajista
strategy.entry("SELL",strategy.short)
SL := high + (atr * atrSL)
TP := low - (atr * atrTP)
alert("SELL",alert.freq_once_per_bar)
//----------------
//plotshape(comprado,style=shape.xcross)
plot( comprado ? SL : na, color=color.red,style=plot.style_circles)
plot( comprado ? TP : na, color=color.blue,style=plot.style_circles)
plot( ta.ema(close,ema1),color=color.orange)
plot( ta.ema(close,ema2),color=color.yellow)
plot( vendido ? SL : na, color=color.red,style=plot.style_circles)
plot( vendido ? TP : na, color=color.blue,style=plot.style_circles)