इस रणनीति का मुख्य विचार यह है कि विभिन्न चक्रों के आरएसआई संकेतकों के संयोजन से वर्तमान मूल्य क्षेत्र का आकलन किया जाए, जब बड़े चक्र आरएसआई संकेतकों में एक ब्रेकडाउन होता है, तो छोटे चक्रों में एक उचित खरीद या बिक्री कार्रवाई की जाती है। यह रणनीति विभिन्न चक्रों के तकनीकी संकेतकों के लाभों का लाभ उठाती है। वर्तमान कीमतों के सापेक्ष मूल्य का आकलन करने के लिए कई समय आयामों के माध्यम से, बेहतर प्रवेश बिंदु खोजने के लिए।
यह रणनीति मुख्य रूप से निम्नलिखित चरणों के माध्यम से मूल्य क्षेत्रों का आकलन करती है और व्यापार के अवसरों की तलाश करती हैः
उदाहरण के लिए, जब दिन रेखा आरएसआई सूचकांक एक नया उच्च तोड़ता है, तो हम मानते हैं कि यह वर्तमान में एक बहुमुखी स्थिति में है, और अगर दिन रेखा आरएसआई एक नया निम्न तोड़ता है, तो हम इसे वर्तमान में एक रिक्त स्थिति में मानते हैं, दोनों मामलों में हम 5 मिनट की रेखा पर खरीद और बेचने का संचालन करते हैं।
इस रणनीति के कुछ फायदे हैं, जो कि एक समय चक्र पर ध्यान केंद्रित करने वाली पारंपरिक रणनीतियों के विपरीत हैंः
वर्तमान कीमतों के सापेक्ष मूल्य का आकलन अधिक सटीक है। बड़े चक्र के संकेतक जैसे कि सूर्य रेखा, लघु अवधि के बाजार के शोर को फ़िल्टर कर सकते हैं और बड़े चक्र के रुझानों और मूल्य क्षेत्रों का आकलन कर सकते हैं।
विभिन्न समय चक्र संकेतकों के संयोजन से संकेत की विश्वसनीयता बढ़ जाती है। केवल एक एकल चक्र संकेतक पर भरोसा करने से गलत संकेत हो सकता है, जबकि कई चक्र संकेतक एक साथ संकेत देते हैं।
लघु अवधि के अवसरों को अधिक कुशलता से पकड़ें। सूर्य के प्रकाश की तरह बड़े चक्रों में तोड़ने से हमें एक बड़ी दिशा मिलती है, और हमें केवल 5 मिनट की छोटी अवधि में अवसरों की तलाश करने की आवश्यकता होती है ताकि हम लाभ उठा सकें।
छोटी वापसी क्रॉस-टाइम चक्र संयोजन से मदद मिलती है ताकि हम फंसने से बच सकें जब बड़े चक्र संकेतक में बदलाव होता है, तो हम समय पर वापसी को रोक देंगे
इस रणनीति के मुख्य जोखिम हैंः
बड़े चक्र सूचक निर्णय त्रुटि. जब दिन रेखा आरएसआई जैसे सूचक मूल्य क्षेत्र का प्रभावी ढंग से निर्णय नहीं कर सकते हैं, तो सिग्नल में त्रुटि का कारण बनता है. इसे आरएसआई के लिए पैरामीटर सेट करने के लिए अनुकूलित करने की आवश्यकता होती है।
छोटे चक्र की प्रवृत्ति बड़े चक्र के निर्णय से मेल नहीं खाती है। कभी-कभी छोटे चक्र के मूल्य आंदोलन बड़े चक्र के रुझान के खिलाफ जाते हैं, जब नुकसान को नियंत्रित करने के लिए स्टॉप लॉस की आवश्यकता होती है।
अनुचित धन प्रबंधन. यदि जोखिम प्रबंधन अनुचित है, तो एक बार में बहुत अधिक नुकसान हो सकता है, जिससे पुनर्प्राप्ति मुश्किल हो सकती है। इसके लिए उचित स्थिति प्रबंधन की आवश्यकता है।
इस रणनीति के अनुकूलन के लिए काफी जगह है, जो मुख्य रूप से निम्नलिखित पहलुओं से शुरू हो सकती हैः
चक्र पैरामीटर अनुकूलन. आप अधिक चक्र संयोजनों का परीक्षण कर सकते हैं, सबसे अच्छा पैरामीटर खोजने के लिए.
RSI पैरामीटर अनुकूलन. RSI के पैरामीटर को समायोजित करें और देखें कि क्या यह निर्णय की सटीकता में सुधार कर सकता है.
अन्य संकेतक जोड़ें. आप अधिक संकेतक जोड़ सकते हैं, उदाहरण के लिए, एक औसत रेखा जोड़कर प्रवृत्ति की दिशा निर्धारित कर सकते हैं.
स्टॉप लॉस को अनुकूलित करें. स्टॉप लॉस को वापस लेने की स्थिति के आधार पर गतिशील रूप से समायोजित किया जा सकता है.
स्थिति प्रबंधन को अनुकूलित करें। प्रत्येक लेनदेन के लिए विशिष्ट स्थिति का अधिक वैज्ञानिक और उचित प्रबंधन किया जा सकता है।
इस रणनीति का मूल्यांकन करने के लिए समय के विभिन्न आयामों के बीच मूल्य arbitrage के लिए आरएसआई संकेतकों की स्थिति का मूल्यांकन करके। इस विचारधारा के लिए समय के विभिन्न आयामों के बीच मूल्य arbitrage के लायक है और हम इस रणनीति को बेहतर बनाने के लिए पैरामीटर अनुकूलन, स्टॉप-लॉस अनुकूलन, संयोजन अनुकूलन और अन्य तरीकों के माध्यम से सुधार कर सकते हैं। कुल मिलाकर, इस रणनीति में एक अद्वितीय विचारधारा है और अनुकूलन के लिए बहुत जगह है।
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Swing MTF", shorttitle="Swing MTF", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, slippage = 5)
//
otf_period = input(defval=2, title="Look Back Period (2nd Timeframe)")
otf = input(defval="180", title="Second Momentum Timeframe")
// Function to dectect a new bar
is_newbar(res) =>
t = time(res)
change(t) != 0 ? true : false
// Check how many bars are in our upper timeframe
since_new_bar = barssince(is_newbar(otf))
otf_total_bars = na
otf_total_bars := since_new_bar == 0 ? since_new_bar[1] : otf_total_bars[1]
//Calculate RSI Values
ctf_rsi = rsi(open, otf_period)
breakline=input(title="Breaks in lines", defval = true, type=bool)
so = request.security(syminfo.tickerid, otf, rsi(open, otf_period))
sc = request.security(syminfo.tickerid, otf, rsi(close, otf_period))
final_otf_so = na
final_otf_so := barstate.isrealtime ? since_new_bar == otf_total_bars ? so : final_otf_so[1] : so
final_otf_sc = na
final_otf_sc := barstate.isrealtime ? since_new_bar == otf_total_bars ? sc : final_otf_sc[1] : sc
barsback = input(11, title='Bars back to check for a swing')
// showsig = input(false, title='Show Signal Markers')
swing_detection(index)=>
swing_high = false
swing_low = false
start = (index*2) - 1 // -1 so we have an even number of
swing_point_high = final_otf_so[index]
swing_point_low = final_otf_sc[index]
//Swing Highs
for i = 0 to start
swing_high := true
if i < index
if final_otf_so[i] > swing_point_high
swing_high := false
break
// Have to do checks before pivot and after seperately because we can get
// two highs of the same value in a row. Notice the > and >= difference
if i > index
if final_otf_so[i] >= swing_point_high
swing_high := false
break
//Swing lows
for i = 0 to start
swing_low := true
if i < index
if final_otf_sc[i] < swing_point_low
swing_low := false
break
// Have to do checks before pivot and after seperately because we can get
// two lows of the same value in a row. Notice the > and >= difference
if i > index
if final_otf_sc[i] <= swing_point_low
swing_low := false
break
[swing_high, swing_low]
// Check for a swing
[swing_high, swing_low] = swing_detection(barsback)
long = final_otf_so > final_otf_sc
short = final_otf_so < final_otf_sc
if swing_low and long
strategy.entry("My Long Entry Id", strategy.long)
if swing_high and short
strategy.entry("My Short Entry Id", strategy.short)