यह रणनीति एक क्लासिक शॉर्ट-ट्रेडिंग विचारधारा पर आधारित है, जिसमें एक साथ कई सूर्य रेखाएं बनती हैं, और एक साथ कई सूर्य रेखाएं बनती हैं; एक साथ कई सूर्य रेखाएं बनती हैं, और एक साथ कई सूर्य रेखाएं बनती हैं। विशेष रूप से, यह रणनीति K लाइनों की ऊंचाई और रंग की पहचान करके, एक साथ कई समान रंग की K लाइनों का पता लगाती है, और फिर RVI सूचकांक के माध्यम से निर्णय लेती है कि क्या यह वापस आ गया है। कुल मिलाकर, यह एक रणनीति है जो अल्पकालिक रिवर्स ट्रेडिंग को प्राप्त करने के लिए RVI सूचकांक के साथ अल्पकालिक लगातार K लाइन की विशेषता का उपयोग करती है।
इस रणनीति के मुख्य तर्क में निम्नलिखित बातें शामिल हैंः
जांचें कि क्या K-लाइन की ऊंचाई न्यूनतम ऊंचाई थ्रेशोल्ड से अधिक है, ताकि छोटे यान और यान उतार-चढ़ाव को फ़िल्टर किया जा सके।
यह निर्धारित करें कि क्या पहली दो K लाइनें एक ही रंग की हैं, यदि हां, तो यह एक अल्पकालिक मूल्य पलटाव का अवसर हो सकता है।
पहले दो K लाइनों के रंग के समान होने की पुष्टि करने के बाद, यदि वर्तमान K लाइन पहले दो K लाइनों के रंग से अलग है, तो एक लेनदेन संकेत उत्पन्न होता है। यानी, दो लगातार पतले तारों के बाद एक सूर्य का तार अधिक है; दो लगातार सूर्य के तारों के बाद एक सूर्य का तार खाली है।
ट्रेडों में प्रवेश करने के बाद, आरवीआई संकेतक के बहुआयामी क्रॉसिंग के माध्यम से स्थिति रखने की दिशा का न्याय करें। आरवीआई संकेतक अल्पकालिक पलटाव बिंदु का न्याय कर सकते हैं। जब आरवीआई संकेतक लाइन सिग्नल लाइन को पार करती है, तो स्थिति को सपाट करें।
कुल मिलाकर, इस रणनीति में के-लाइन विशेषताओं और आरवीआई संकेतकों को ध्यान में रखते हुए एक अल्पकालिक उलटा ट्रेडिंग सिस्टम बनाया गया है। जब अल्पकालिक असामान्य मूल्य व्यवहार होता है, तो उलटा अवसरों से लाभ उठाने के लिए।
इस रणनीति के कुछ प्रमुख फायदे हैंः
अल्पकालिक मूल्य असामान्यताओं को पकड़ना। जब लगातार कई सकारात्मक या नकारात्मक रेखाएं दिखाई देती हैं, तो यह दर्शाता है कि अल्पकालिक मूल्य में असामान्यताएं हैं, जब रिवर्स ऑपरेशन बेहतर रिटर्न की उम्मीद करता है।
आरवीआई संकेतक सहायक निर्णय. आरवीआई संकेतक प्रभावी रूप से अल्पकालिक रिवर्सिंग बिंदुओं का निर्धारण कर सकते हैं, जो कि के-लाइन विशेषताओं के साथ पूरक होते हैं, जिससे सिस्टम की स्थिरता बढ़ जाती है।
उच्च परिचालन आवृत्ति, शॉर्ट लाइन ऑपरेशन के लिए उपयुक्त। लगातार के लाइनों के साथ एक ही रंग की घटनाएं अक्सर होती हैं, जो आरवीआई संकेतक के साथ मिलकर होती हैं, यह रणनीति अधिक व्यापार के अवसर प्रदान कर सकती है।
जोखिम नियंत्रित है। एक निश्चित ट्रेडिंग संख्या और एक स्टॉप-लॉस स्टॉप सेट करें।
तर्क स्पष्ट और सरल है. इसे समझना और लागू करना आसान है, और इसे चलाने में कोई कठिनाई नहीं है.
इस रणनीति के कुछ जोखिम भी हैं, जिनके बारे में ध्यान देने की आवश्यकता हैः
एक अल्पकालिक प्रतिगमन जरूरी नहीं है। एक निरंतर प्रवृत्ति के मामले में, एक अल्पकालिक प्रतिगमन सिग्नल विफल हो सकता है, जिससे गलत प्रवेश हो सकता है।
आरवीआई संकेतों के गलत संकेत देने की संभावना। आरवीआई संकेत विशेष परिस्थितियों के कारण विफल हो सकते हैं।
स्टॉप लॉस को गलत तरीके से सेट करने से नुकसान बढ़ सकता है। उचित स्टॉप लॉस की आवश्यकता होती है।
लगातार समान रंग की K लाइनों के लिए मानक बहुत कठोर है। N रूट K लाइनों के भीतर X% समान रंग की K लाइनों के अनुपात के लिए अनुकूलित करने पर विचार किया जा सकता है।
व्यापारियों को अपने हाथों के आकार पर ध्यान देना चाहिए। निश्चित हाथों के साथ, वे समग्र जोखिम को नियंत्रित नहीं कर सकते हैं।
इस रणनीति को और भी बेहतर बनाया जा सकता है:
लगातार K लाइनों को अनुकूलित करने के लिए एक ही रंग के तर्क का निर्धारण करें, एक स्थिर स्थिर जड़ के बजाय एक सांख्यिकीय विधि का उपयोग करें।
आरवीआई पैरामीटर को अनुकूलित करें, सबसे अच्छा पैरामीटर संयोजन ढूंढें
ट्रेलिंग स्टॉप लॉस को बाजार में उतार-चढ़ाव के आधार पर बढ़ाया जा सकता है
स्थिति प्रबंधन मॉड्यूल को जोड़ें, जो धन उपयोगिता के आधार पर लेनदेन की संख्या को गतिशील रूप से समायोजित करता है।
अधिक फ़िल्टरिंग शर्तों को जोड़ना, प्रणाली की स्थिरता में सुधार करना, जैसे कि चैनल, रुझान और अन्य संकेतकों के संयोजन।
विभिन्न किस्मों के लिए पैरामीटर अनुकूलन, अनुकूलनशीलता में सुधार।
मशीन लर्निंग को ऐतिहासिक डेटा के लिए प्रशिक्षित करने और सिस्टम पैरामीटर को गतिशील रूप से अनुकूलित करने के लिए पेश किया गया।
इस रणनीति के लिए कुल मिलाकर एक विशिष्ट अल्पकालिक K लाइन असामान्यताओं के आधार पर अल्पकालिक रिवर्स ट्रेडिंग रणनीति है। इसके कुछ फायदे हैं, लेकिन संभावित जोखिम भी हैं। पैरामीटर को लगातार अनुकूलित करने और एक अधिक कठोर प्रणाली बनाने के माध्यम से रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है। लेकिन कोई भी रणनीति पूरी तरह से नुकसान से बच नहीं सकती है, व्यापारियों को तर्कसंगत रहने और जोखिम को नियंत्रित करने की आवश्यकता है।
/*backtest
start: 2022-10-07 00:00:00
end: 2023-10-07 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//This is part of a series of strategies developed automatically by a online software. I cannot share the site url, which is not related to me in any way, because it is against the TV reules.
//
//This strategy was optimized for GBPUSD, timeframe 1D, fixed lots 0.1, initial balance 1000€
//LOGIC:
//- LONG ENTRY when previous candle is bear
//- LONG EXIT: RVI > signal line
//- SHORT ENTRY when previous candle is bull
//- SHORT EXIT: RVI < signal line
//
//NOTE: I considered the open of actual candle instead of close otherwise there will be a back shift of 1 candle in pine script
//
//Take profit = no
//Stop loss = no
// strategy("Expert studio strategy 1 - GBPUSD", overlay=false, precision=6, initial_capital=1000,calc_on_every_tick=true, pyramiding=0, default_qty_type=strategy.fixed, default_qty_value=10000, currency=currency.EUR)
//INPUTS
src = input(close, "source")
min_body_height = input(42, "Minimum body height", type=input.float)
//bars_back=input(2, "Consecutive bars of same color")
rvi_period = input(55, "RVI period")
//CALCULATIONS_____________________________
//candle color
body_height = abs(open - close) / syminfo.mintick
body_color = open > close ? color.red : color.green
//da migliorare for i=0 to bars_back-1
//RVI -------- thanks to hecate
p = rvi_period
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
plot(RVI, color=color.green, style=plot.style_line, linewidth=1)
plot(RVIsig, color=color.red, style=plot.style_line, linewidth=1)
//----------------------------------
longCondition = body_height[1] >= min_body_height and body_color[1] == color.red and
body_height[0] >= min_body_height and body_color[0] == color.red and
RVIsig > RVI
exitLong = RVI > RVIsig
shortCondition = body_height[1] >= min_body_height and body_color[1] == color.green and
body_height[0] >= min_body_height and body_color[0] == color.green and
RVIsig < RVI
exitShort = RVI < RVIsig
if longCondition and strategy.opentrades == 0
strategy.entry("Long", strategy.long)
strategy.close("Long", when=exitLong)
if shortCondition and strategy.opentrades == 0
strategy.entry("Short", strategy.short)
strategy.close("Short", when=exitShort)
// === Backtesting Dates === thanks to Trost
testPeriodSwitch = input(false, "Custom Backtesting Dates")
testStartYear = input(2011, "Backtest Start Year")
testStartMonth = input(10, "Backtest Start Month")
testStartDay = input(7, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testStopHour = input(23, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END
if not isPeriod
strategy.cancel_all()
strategy.close_all()