यह एक बहुत ही क्लासिक मूविंग एवरेज गोल्डन क्रॉस डेथ क्रॉस रणनीति है। यह रणनीति दो मूविंग एवरेज का उपयोग करती है, TENKAN और KIJUN, लंबी और छोटी ट्रेडों के लिए गोल्डन क्रॉस और डेथ क्रॉस सिग्नल बनाने के लिए अलग-अलग समय अवधि के साथ।
यह रणनीति मुख्य रूप से एक जापानी स्टॉक तकनीकी विश्लेषण विधि Ichimoku Kinko Hyo पर आधारित है, जो बाजार की प्रवृत्ति दिशा निर्धारित करने के लिए TENKAN और KIJUN लाइनों जैसे कई चलती औसत का उपयोग करती है।
सबसे पहले, TENKAN रेखा एक 9 दिन की रेखा है जो अल्पकालिक प्रवृत्ति का प्रतिनिधित्व करती है; KIJUN रेखा एक 26 दिन की रेखा है जो मध्यमकालिक प्रवृत्ति का प्रतिनिधित्व करती है। जब TENKAN रेखा KIJUN रेखा के ऊपर से गुजरती है, तो एक खरीद संकेत उत्पन्न होता है। जब TENKAN रेखा KIJUN रेखा से नीचे गिरती है, तो एक बेच संकेत उत्पन्न होता है। यह क्लासिक चलती औसत स्वर्ण क्रॉस और मृत्यु क्रॉस रणनीति का गठन करता है।
दूसरा, रणनीति में सेंको स्पैन ए (एसएसए) लाइन और सेंको स्पैन बी (एसएसबी) लाइन भी पेश की गई है। एसएसए लाइन टेनकन और किजुन लाइनों का औसत है जबकि एसएसबी लाइन 52-दिवसीय चलती औसत है। वे एक साथ
अंत में, नकली संकेतों को फ़िल्टर करने के लिए, यह रणनीति चिको स्पैन (क्लोजिंग प्राइस में 26 दिन का विलंब) के मुकाबले कीमत की स्थिति की भी जांच करती है
यह एक बहुत ही विशिष्ट चलती औसत रणनीति है। मुख्य लाभ निम्न में निहित हैंः
विभिन्न अवधियों के दो चलती औसत का प्रयोग करते हुए एक साथ अल्पकालिक और मध्यमकालिक रुझान दिशाओं का प्रभावी ढंग से आकलन किया जाता है।
दीर्घकालिक मंदी के बाजारों में खरीदारी से बचने के लिए कुमो बैंड के साथ दीर्घकालिक रुझान निर्धारित किए जाते हैं।
देरी से चिको लाइन के साथ कीमतों की तुलना करने से बहुत सारे नकली संकेतों को फ़िल्टर किया जाता है और अनावश्यक ट्रेडों को कम किया जाता है।
चलती औसत के विभिन्न कार्यों का कुशलतापूर्वक उपयोग करके, यह रणनीति छोटी, मध्यम और लंबी समय सीमाओं में रुझानों का अनुसरण कर सकती है।
इस रणनीति के मुख्य जोखिमों में निम्नलिखित शामिल हैंः
चलती औसत रणनीतियों में कई नकली संकेत उत्पन्न होते हैं। गलत मापदंडों के कारण लगातार व्यापार होने से नुकसान हो सकता है।
यह रणनीति मौलिक बातों पर विचार किए बिना तकनीकी बातों पर जोर देती है। व्यापार के प्रदर्शन या बाजार नीतियों में बड़े बदलाव तकनीकी संकेतों को अमान्य कर सकते हैं।
कोई स्टॉप लॉस तंत्र शामिल नहीं है. एक बार बाजार दिशा निर्णय गलत हो जाता है, नुकसान जमा हो सकता है.
इसलिए, हमें इस रणनीति को और परिष्कृत करने और जोखिमों को कम करने के लिए अधिक उन्नत चलती औसत प्रणालियों, उचित स्टॉप लॉस नियमों या पूरक मौलिक संकेतों की आवश्यकता है।
इस रणनीति में निम्नलिखित पहलुओं में भी सुधार किया जा सकता हैः
अधिक बैकटेस्ट के माध्यम से अधिक स्थिर और कुशल पैरामीटर सेट की खोज करें।
स्टॉप लॉस नियम जोड़ें. उचित स्टॉप लॉस अधिकतम नुकसान को प्रभावी ढंग से नियंत्रित करने में मदद करता है.
मौलिक संकेतों जैसे कि आय अनुमान संशोधनों को पूरक करें जिनमें किसी कंपनी के दृष्टिकोण पर अंतर्दृष्टि शामिल है।
अधिक स्थिर समाधानों के साथ चिकू लाइन मूल्य तुलना रणनीति को अनुकूलित करें।
शेयर चयन संकेत शामिल करें. पीई अनुपात और आरओई जैसे स्कोरिंग कारक कम गुणवत्ता वाले शेयरों को फ़िल्टर कर सकते हैं.
यह एक बहुत ही विशिष्ट और व्यावहारिक चलती औसत रणनीति है। एक साथ लघु, मध्यम और दीर्घकालिक रुझानों की निगरानी करके, चलती औसत के विभिन्न कार्यों का उपयोग करके, यह ठोस प्रदर्शन के साथ व्यापार संकेत उत्पन्न करता है। हम पैरामीटर ट्यूनिंग, स्टॉप लॉस जोड़कर, स्टॉक चयन आदि द्वारा इसे और बेहतर बना सकते हैं। कुल मिलाकर यह एक आशाजनक मात्रात्मक रणनीति है जो अनुसंधान और ट्रैकिंग के योग्य है।
/*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/ // © mdeous //@version=4 strategy( title="Ichimoku Kinko Hyo Strategy", shorttitle="Ichimoku Strategy", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, currency="USD", commission_type=strategy.commission.percent, commission_value=0.0 ) // // SETTINGS // // Ichimoku int TENKAN_LEN = input(title="Tenkan-Sen Length", defval=9, minval=1, step=1) int KIJUN_LEN = input(title="Kijun-Sen Length", defval=26, minval=1, step=1) int SSB_LEN = input(title="Senkou Span B Length", defval=52, minval=1, step=1) int OFFSET = input(title="Offset For Chikou Span / Kumo", defval=26, minval=1, step=1) // Strategy int COOLDOWN = input(title="Orders Cooldown Period", defval=5, minval=0, step=1) bool USE_CHIKOU = input(title="Use Imperfect Chikou Position Detection", defval=false) // // HELPERS // color _red = color.red color _blue = color.blue color _lime = color.lime color _fuchsia = color.fuchsia color _silver = color.silver color _aqua = color.aqua f_donchian(_len) => avg(lowest(_len), highest(_len)) // // ICHIMOKU INDICATOR // float tenkan = f_donchian(TENKAN_LEN) float kijun = f_donchian(KIJUN_LEN) float ssa = avg(tenkan, kijun) float ssb = f_donchian(SSB_LEN) plot(tenkan, title="Tenkan", color=_silver) plot(close, title="Chikou", offset=-OFFSET+1, color=_aqua) _ssa = plot(ssa, title="SSA", offset=OFFSET-1, color=_lime) _ssb = plot(ssb, title="SSB", offset=OFFSET-1, color=_red) fill(_ssa, _ssb, color=ssa > ssb ? _lime : _fuchsia, transp=90) // // STRATEGY // // Check if price is "above or below" Chikou (i.e. historic price line): // This detection is highly imperfect, as it can only know what Chikou position // was 2*offset candles in the past, therefore if Chikou crossed the price // line in the last 2*offset periods it won't be detected. // Use of this detection is disabled by default, float _chikou_val = close[OFFSET*2+1] float _last_val = close[OFFSET+1] bool above_chikou = USE_CHIKOU ? _last_val > _chikou_val : true bool below_chikou = USE_CHIKOU ? _last_val < _chikou_val : true // Identify short-term trend with Tenkan bool _above_tenkan = min(open, close) > tenkan bool _below_tenkan = max(open, close) < tenkan // Check price position compared to Kumo bool _above_kumo = min(open, close) > ssa bool _below_kumo = max(open, close) < ssb // Check if Kumo is bullish or bearish bool bullish_kumo = ssa > ssb bool bearish_kumo = ssa < ssb // Correlate indicators to confirm the trend bool bullish_trend = _above_tenkan and _above_kumo and bullish_kumo bool bearish_trend = _below_tenkan and _below_kumo and bearish_kumo // Build signals bool buy1 = (close > open) and ((close > ssa) and (open < ssa)) // green candle crossing over SSA bool buy2 = bullish_kumo and bearish_kumo[1] // bullish Kumo twist bool sell1 = (close < open) and ((close < ssb) and (open > ssb)) // red candle crossing under SSB bool sell2 = bearish_kumo and bullish_kumo[1] // bearish Kumo twist bool go_long = below_chikou and (bullish_trend and (buy1 or buy2)) bool exit_long = above_chikou and (bearish_trend and (sell1 or sell2)) // // COOLDOWN // f_cooldown() => _cd_needed = false for i = 1 to COOLDOWN by 1 if go_long[i] _cd_needed := true break _cd_needed go_long := f_cooldown() ? false : go_long // // ORDERS // strategy.entry("buy", strategy.long, when=go_long) strategy.close_all(when=exit_long) // // ALERTS // alertcondition( condition=go_long, title="Buy Signal", message="{{exchange}}:{{ticker}}: A buy signal for {{strategy.market_position_size}} units has been detected (last close: {{close}})." ) alertcondition( condition=exit_long, title="Sell Signal", message="{{exchange}}:{{ticker}}: A sell signal for {{strategy.market_position_size}} units has been detected (last close: {{close}})." )