ऑसिलेशन ब्रेकथ्रू - मार्केट स्ट्रक्चर शिफ्ट स्ट्रेटेजी (ICT_MSS) एक ट्रेंड फॉलो करने वाली रणनीति है जो विभिन्न समय सीमाओं के बीच संबंधों का उपयोग करके बाजार संरचना शिफ्ट की पहचान करती है। यह रणनीति नए ट्रेंड दिशाओं को पकड़ने के लिए बाजार संरचना शिफ्ट के लिए संकेत के रूप में समय सीमा संबंधों का उपयोग करती है।
इस रणनीति का मुख्य तर्क कम समय सीमा के नीचे और ऊपर की ओर घेरने के पैटर्न का उपयोग करना है जो लंबे समय सीमा के बाजार संरचना शिफ्ट के संकेत के रूप में है। विशेष रूप से, रणनीति एक साथ एक लंबी समय सीमा (जैसे 60m बार) और एक छोटी समय सीमा (जैसे 15m बार) की निगरानी करती है। जब एक नीचे की ओर घेरने वाली लाल पट्टी कम समय सीमा पर दिखाई देती है जबकि लंबी समय सीमा पट्टी हरी होती है, तो यह निर्धारित किया जाता है कि एक बाजार संरचना हुई है और एक लंबी शिफ्ट स्थिति ली जाती है। जब एक ऊपर की ओर घेरने वाली हरी पट्टी कम समय सीमा पर दिखाई देती है जबकि लंबी समय सीमा पट्टी लाल होती है, तो यह निर्धारित किया जाता है कि एक छोटी बाजार संरचना में बदलाव हुआ है और एक छोटी स्थिति ली जाती है।
एक दिशात्मक स्थिति में प्रवेश करने के बाद, रणनीति जोखिम को नियंत्रित करने के लिए एक स्टॉप लॉस सेट करने के लिए कम समय सीमा उच्च / निम्न का उपयोग करती है। जब लंबी समय सीमा बार बंद मूल्य लाभ लेने के स्तर तक पहुंचता है, तो रणनीति लाभ के लिए स्थिति को बंद कर देगी।
इस रणनीति के लाभ इस प्रकार हैंः
विश्वसनीय बाजार संरचना शिफ्ट सिग्नल। समय सीमा संबंधों का उपयोग एक समय सीमा से शोर से गुमराह होने से बचाता है।
स्वचालित रूप से नई प्रवृत्ति दिशा निर्धारित करता है। बाजार संरचना में बदलाव स्वचालित रूप से मैन्युअल निर्णय की आवश्यकता के बिना लंबी / छोटी प्रविष्टियों को ट्रिगर करता है।
प्रभावी जोखिम नियंत्रण जोखिम नियंत्रण के लिए उपयोग की जाने वाली छोटी समय सीमा उच्च/निम्न एकल व्यापार हानि को सीमित करने में मदद करती है।
अपेक्षाकृत बेहतर ड्रॉडाउन नियंत्रण। प्रवेश और स्टॉप लॉस के लिए कम समय सीमा के चरम का उपयोग करने से कुछ हद तक ड्रॉडाउन को नियंत्रित करने में मदद मिल सकती है।
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
बाजार संरचना के गलत आकलन का जोखिम। कम समय सीमा के शोर के उच्च होने पर संकेत विफल हो सकते हैं। समय सीमा मापदंडों को समायोजित करने की आवश्यकता है।
रुझान उलटने का जोखिम. वी के आकार के उलटने के दौरान ड्रॉडाउन को नियंत्रित करने के लिए रणनीति संघर्ष करती है. स्टॉप लॉस एल्गोरिथ्म को ट्वीक करने की आवश्यकता है.
पैरामीटर असंगतता जोखिम. गलत लंबी/छोटी समय सीमा संयोजन खराब सिग्नल गुणवत्ता की ओर जाता है और अनुकूलन परीक्षण की आवश्यकता होती है.
रणनीति के लिए आगे अनुकूलन दिशाओं में शामिल हैंः
रुझान उलटने के दौरान गलत संकेतों से बचने के लिए रुझान फ़िल्टर जोड़ें।
सिग्नल की गुणवत्ता में सुधार के लिए टाइमफ्रेम पैरामीटर मिलान को अनुकूलित करें।
इष्टतम ले लाभ / स्टॉप हानि के लिए मशीन लर्निंग का उपयोग करें।
अतिरिक्त फ़िल्टर जोड़ें जैसे बड़े समय फ्रेम की प्रवृत्ति।
रणनीतिक संयोजन बनाने के लिए रणनीतिक विकल्पों का विस्तार करें।
आईसीटी_एमएसएस रणनीति एक समग्र विश्वसनीय प्रवृत्ति के बाद की रणनीति है। यह स्वचालित रूप से बाजार संरचना में बदलाव के आधार पर नई प्रवृत्ति दिशा निर्धारित करती है और इसमें अच्छा जोखिम नियंत्रण भी है। अगले कदम सिग्नल गुणवत्ता में सुधार, निकास को अनुकूलित करने और इसे वाणिज्यिक ग्रेड रणनीति बनाने के लिए उलटफेर को रोकने के आसपास और सुधार हैं।
/*backtest start: 2022-11-28 00:00:00 end: 2023-12-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jl01794 //@version=5 strategy(title="ICT_MSS[PROTOTYPE]", overlay=true, initial_capital=10000, currency="USD", margin_long=15, margin_short=15, max_lines_count=500) // INPUTS Time_Frame = input.timeframe("60", title="Focused Time Frame") FTF_LTF = input.timeframe("15", title="Focused Time Frame(LTF)") // // SECURITY DATA [FOR ONE TIMEFRAME REFERENCE] FTF_Close = request.security(syminfo.tickerid, Time_Frame, close) FTF_Open = request.security(syminfo.tickerid, Time_Frame, open) FTFLTF_High = request.security(syminfo.tickerid, FTF_LTF, ta.highest(2)) FTFLTF_Low = request.security(syminfo.tickerid, FTF_LTF, ta.lowest(2)) FTFLTF_Close = request.security(syminfo.tickerid, FTF_LTF, close) FTFLTF_Open = request.security(syminfo.tickerid, FTF_LTF, open) // TIME BASED CLOSE AND OPEN _close = FTF_Close _open = FTF_Open _LTFclose = FTFLTF_Close _LTFopen = FTFLTF_Open // CANDLE STATE greenCandle = close > open redCandle = close < open LTFgreenCandle = FTFLTF_Close > FTFLTF_Open LTFredCandle = FTFLTF_Close < FTFLTF_Open // ENGULFING TIMEFRAME REFERENCE FTF_greenCandle = request.security(syminfo.tickerid, Time_Frame, greenCandle) FTF_redCandle = request.security(syminfo.tickerid, Time_Frame, redCandle) FTFLTF_greenCandle = request.security(syminfo.tickerid, FTF_LTF, LTFgreenCandle) FTFLTF_redCandle = request.security(syminfo.tickerid, FTF_LTF, LTFredCandle) //-------------------------------------------------------------------------------------------------------------- //ENGULFING_FTF_LTF B_EnP_mss = FTFLTF_redCandle[1] and // 1E PIVOT BUY FTFLTF_greenCandle // B_EnPs_mss = FTFLTF_greenCandle[1] and // 1E PIVOT SELL FTFLTF_redCandle // //-------------------------------------------------------------------------------------------------------------- display_LTF = timeframe.isintraday and timeframe.multiplier <= 15 //-------------------------------------------------------------------------------------------------------------- // STORED DATAS var float EH_MSS1 = na var float EL_MSS1 = na var bool can_draw = false var line l1_mss = na var line l1s_mss = na //-------------------------------------------------------------------------------------------------------------- // MSS BUY if (B_EnPs_mss) and (display_LTF) EH_MSS1 := FTFLTF_High can_draw := true l1_mss := line.new(bar_index, EH_MSS1, bar_index -3, EH_MSS1, color=color.purple) else if (can_draw) if (FTFLTF_High > EH_MSS1) can_draw := false else line.set_x2(l1_mss, bar_index) // // MSS SELL if (B_EnP_mss) and (display_LTF) EL_MSS1 := FTFLTF_Low can_draw := true l1s_mss := line.new(bar_index, EL_MSS1, bar_index -3, EL_MSS1, color=color.purple) else if (can_draw) if (FTFLTF_Low < EL_MSS1) can_draw := false else line.set_x2(l1s_mss, bar_index) //-------------------------------------------------------------------------------------------------------------- // ORDER // BUY longCondition_mssB = B_EnPs_mss and FTFLTF_High and close and high[1] openOr = FTFLTF_High //SELL shortCondition_mssS = B_EnP_mss and FTFLTF_Low and close and low[1] openOrs = FTFLTF_Low if (longCondition_mssB) strategy.entry("Buy", strategy.long, 1, stop = openOr, when = longCondition_mssB) // if (shortCondition_mssS) strategy.entry("Sell", strategy.short, 1, stop = openOrs, when = shortCondition_mssS) // // EXIT long_tp = open < FTFLTF_Close[1] short_tp = open > FTFLTF_Close[1] //if (long_tp) //strategy.close("Buy", qty_percent = 100, when = long_tp) // //if (short_tp) //strategy.close("Sell", qty_percent = 100, when = short_tp) //