
इस रणनीति का मुख्य विचार आरएसआई रणनीति पर आधारित है, जिसमें कुछ महत्वपूर्ण ट्रेडिंग प्रबंधन नियम शामिल हैं, जिसमें रोक, रोक, रोक, और लीवरेज ट्रैक शामिल हैं। यह रणनीति को ट्रेंड के दौरान उच्च रिटर्न प्राप्त करने में सक्षम बनाता है, जबकि आघात के दौरान नुकसान को कम करता है।
रणनीति पहले आरएसआई सूचक की गणना करती है, जब आरएसआई ओवरबॉय लाइन से नीचे होता है तो अधिक होता है, और जब आरएसआई ओवरबॉय लाइन से ऊपर होता है तो कम होता है।
कई संकेतों को ट्रिगर करने के बाद, उस समय के उच्चतम मूल्य को ट्रैक स्टॉप के लिए एक संदर्भ बिंदु के रूप में रिकॉर्ड करें। यदि कीमत ट्रैक स्टॉप से कम है, तो स्टॉप की सीमा को कम करें।
एक बार जब एक स्टॉप सिग्नल ट्रिगर हो जाता है, तो उस समय की सबसे कम कीमत को ट्रैक स्टॉप के लिए एक संदर्भ बिंदु के रूप में दर्ज करें। यदि कीमत ट्रैक स्टॉप से अधिक है, तो स्टॉप स्टॉप को बंद कर दें।
एक ही समय में, एक निश्चित स्टॉप और स्टॉप-लॉस दूरी सेट करें। यदि कीमत स्टॉप-लॉस दूरी तक पहुंचती है, तो स्टॉप-लॉस को बंद करें; यदि स्टॉप-लॉस दूरी तक पहुंचती है, तो स्टॉप-लॉस को बंद करें।
इसके अलावा, लेवलिंग सेट के अनुसार लेवलिंग ट्रैक स्टॉप लाइन। यदि कीमत लेवलिंग ट्रैक स्टॉप लाइन को छूती है, तो स्टॉप को क्लियर किया जाता है।
ट्रेंड के दौरान उच्चतम स्टॉप लॉस को ट्रैक करके, और ट्रेंड के दौरान निम्नतम स्टॉप लॉस को ट्रैक करके, एक निश्चित स्टॉप लॉस दूरी के साथ, ट्रेंड के दौरान उच्च रिटर्न प्राप्त किया जा सकता है। जबकि लीवरेज स्टॉप लॉस को सेट करने से नुकसान के विस्तार से बचा जा सकता है।
इस रणनीति का सबसे बड़ा लाभ यह है कि इसमें कई ट्रेडिंग प्रबंधन नियम शामिल हैं, जो RSI रणनीति के लाभों का उपयोग करते हुए जोखिम को बेहतर तरीके से नियंत्रित करते हैं।
विशेष रूप से, रणनीति के फायदे हैंः
ट्रेंडिंग स्थिति में, ट्रेंडिंग स्टॉप लॉस ट्रेंडिंग लाभ को लगातार ट्रैक कर सकता है, जिससे उच्च रिटर्न प्राप्त होता है।
एक निश्चित स्टॉप-स्टॉप-लॉस दूरी कुछ मुनाफे को बंद कर सकती है, जिससे ट्रेंड रिवर्स होने पर पूरे मुनाफे को कैद करने से बचा जा सकता है।
लीवरेज ट्रैक स्टॉप लॉस से नुकसान के विस्तार को रोकने और जोखिम को नियंत्रित करने में मदद मिलती है।
विभिन्न प्रकार के स्टॉप के संयोजन से विभिन्न बाजार स्थितियों में रणनीतियों की स्थिरता में वृद्धि हो सकती है।
रणनीति के पैरामीटर को विभिन्न प्रकार के ट्रेडों और बाजार स्थितियों के लिए अनुकूलित किया जा सकता है।
रणनीति तर्क स्पष्ट और समझने में आसान है, जिसे सत्यापित, अनुकूलित और लागू किया जा सकता है।
इस रणनीति के मुख्य जोखिमों में शामिल हैंः
आरएसआई रणनीति में ही कुछ गलत ट्रेडिंग का जोखिम होता है, जिसमें स्टॉप लॉस ट्रिगर हो सकता है। इसे आरएसआई पैरामीटर को समायोजित करके अनुकूलित किया जा सकता है।
स्टॉप पॉइंट के पास कंपन अक्सर स्टॉप को ट्रिगर कर सकता है। स्टॉप दूरी को उचित रूप से विस्तारित करने से इसे रोका जा सकता है।
स्टॉप-स्टॉप दूरी पूरी तरह से ट्रेंडिंग स्थिति में मुनाफे को लॉक नहीं कर सकती है। यह अन्य संकेतकों के साथ मिलकर ट्रेंडिंग समाप्ति के समय का आकलन कर सकती है।
निश्चित रोकथाम की दूरी बहुत छोटी हो सकती है और पूरी तरह से नुकसान से बचने में असमर्थ है। कंपन रोकथाम या गतिशील रोकथाम पर विचार किया जा सकता है।
लीवरेज बहुत अधिक होने से लीवरेज ट्रैकिंग स्टॉप लॉस को शुरुआती कीमत के बहुत करीब ले जाया जा सकता है। लीवरेज सेटिंग्स को उचित रूप से कम किया जाना चाहिए।
रिटर्न्स समय सीमा भविष्य के बाजार के लिए पूरी तरह से प्रतिनिधि नहीं है। जोखिम नियंत्रण करना चाहिए और विभिन्न समय अवधि के प्रभाव को सत्यापित करना चाहिए।
उपरोक्त जोखिम को पैरामीटर समायोजन, रोकथाम तंत्र के अनुकूलन, जोखिम नियंत्रण आदि के माध्यम से कम किया जा सकता है। लेकिन कोई भी रणनीति बाजार के जोखिम को पूरी तरह से टालने में सक्षम नहीं है।
इस रणनीति को निम्नलिखित दिशाओं में और अधिक अनुकूलित किया जा सकता हैः
आरएसआई पैरामीटर को अनुकूलित करें और गलत ट्रेडों की संभावना को कम करें। विभिन्न बाजारों के लिए सबसे अच्छा पैरामीटर संयोजन का परीक्षण करें।
आरएसआई के साथ कई फ़िल्टर बनाने के लिए अन्य संकेतकों जैसे कि केडी, एमएसीडी आदि का उपयोग करें।
मशीन सीखने और अन्य विधियों का उपयोग करके गतिशील रूप से स्टॉप लॉस स्टॉप पैरामीटर का अनुकूलन करें।
अधिक जटिल रोकथाम का प्रयास करें, जैसे कि कंपन रोकथाम, औसत रोकथाम, गतिशील रोकथाम आदि।
लाभप्रदता और जोखिम नियंत्रण पर विभिन्न लीवरेज के प्रभाव के लिए लीवरेज स्तर की सेटिंग को अनुकूलित करें
बाजार की परिस्थितियों के अनुसार पैरामीटर को स्वचालित रूप से समायोजित करें, जैसे कि α-Dual Thrust
ट्रेडिंग वॉल्यूम और ऊर्जा जैसे अन्य कारकों के साथ प्रवृत्ति की निरंतरता का आकलन करें।
डीप लर्निंग जैसी तकनीकों का उपयोग करते हुए अधिक स्थिर और व्याख्या करने योग्य हानि-रोकने के तरीकों का विकास करना।
विभिन्न प्रजातियों और समय के लिए डेटा का परीक्षण करें और रणनीति की स्थिरता का आकलन करें।
इस रणनीति में RSI रणनीति के आधार पर कई तरह के नुकसान को रोकने के तरीके जोड़े गए हैं, जो रुझान लाभ और जोखिम नियंत्रण में दोहरी भूमिका को पूरा करते हैं। रणनीति अनुकूलन के लिए बहुत जगह है, जो रणनीति के लाभ को बढ़ाने और जोखिम को कम करने के लिए कई तरीकों से शुरू किया जा सकता है। रोकथाम रणनीति विचार सार्वभौमिक है, इसे अधिक रणनीतियों और व्यापारिक किस्मों में विस्तारित किया जा सकता है, और यह एक बहुत ही अध्ययन योग्य दिशा है। निरंतर अनुकूलन और सत्यापन के साथ, रोकथाम रणनीति यांत्रिक व्यापार प्रणाली में एक बहुत ही महत्वपूर्ण हिस्सा बन सकती है।
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Adding some essential components to a prebuilt RSI strategy", overlay=true)
/////////////// Component Code Start ///////////////
testStartYear = input(2011, "Backtest Start Year")
testStartMonth = input(8, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2016, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(29, "Backtest Stop Day")
// testStopDay = testStartDay + 1
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
/////////////// Component Code Stop ///////////////
///////////// RSI component /////////////
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, length)
notna = not na(vrsi)
/////////////// STRATEGY ///////////////
ts = input(99999, "Trailing Stop") / 100
tp = input(99999, "Take Profit") / 100
sl = input(99999, "Stop Loss") / 100
long = notna and crossover(vrsi, overSold)
short = notna and crossunder(vrsi, overBought)
last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
last_open_long_signal = long_signal ? open : nz(last_open_long_signal[1])
last_open_short_signal = short_signal ? open : nz(last_open_short_signal[1])
last_long_signal = long_signal ? time : nz(last_long_signal[1])
last_short_signal = short_signal ? time : nz(last_short_signal[1])
in_long_signal = last_long_signal > last_short_signal
in_short_signal = last_short_signal > last_long_signal
last_high = not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
last_low = not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])
long_ts = not na(last_high) and high <= (last_high - ts) //and high >= last_open_long_signal
short_ts = not na(last_low) and low >= (last_low + ts) //and low <= last_open_short_signal
long_tp = high >= (last_open_long_signal + tp)
short_tp = low <= (last_open_short_signal - tp)
long_sl = low <= (last_open_long_signal - sl)
short_sl = high >= (last_open_short_signal + sl)
leverage = input(200, "Leverage")
long_call = last_open_long_signal - (0.8 + 0.2 * (1/leverage)) / leverage * last_open_long_signal
short_call = last_open_short_signal + (0.78 + 0.2 * (1/leverage)) / leverage * last_open_short_signal
long_call_signal = low <= long_call
short_call_signal = high >= short_call
if testPeriod()
strategy.entry("Long", strategy.long, when=long_signal)
strategy.entry("Short", strategy.short, when=short_signal)
// plot(long_call, color=red)
// plot(short_call, color=green)
strategy.close("Long", when=long_call_signal)
strategy.close("Short", when=short_call_signal)
strategy.close("Long", when=long_tp)
strategy.close("Short", when=short_tp)
strategy.close("Long", when=long_sl)
strategy.close("Short", when=short_sl)
strategy.close("Long", when=long_ts)
strategy.close("Short", when=short_ts)