इचिमोकू मूविंग एवरेज क्रॉसओवर रणनीति मूविंग एवरेज के एक सेट की गणना करके और मूल्य क्रॉस का पता लगाकर लंबे और छोटे संकेतों की पहचान करती है। यह रणनीति कई तकनीकी संकेतकों को जोड़ती है और मध्यम से दीर्घकालिक संचालन के लिए ठोस और विश्वसनीय व्यापार प्रदान करती है।
इचिमोकू रणनीति 5 चलती औसत रेखाओं से मिलकर एक विशेष प्रणाली का उपयोग करती है, अर्थात् रूपांतरण रेखा, आधार रेखा, अग्रणी स्पैन 1, अग्रणी स्पैन 2, और लेगिंग स्पैन। विशेष रूप से, रूपांतरण रेखा हालिया मूल्य गति को दर्शाती है, आधार रेखा मध्यम से दीर्घकालिक प्रवृत्ति को दर्शाती है, अग्रणी रेखाएं भविष्य के आंदोलनों की भविष्यवाणी करने के लिए रूपांतरण और आधार को जोड़ती हैं, और लेगिंग स्पैन संदर्भ के लिए पिछली कीमतों को प्रदर्शित करती है। व्यापार संकेत तब उत्पन्न होते हैं जब मूल्य आधार रेखा से टूट जाता है। रणनीति में झूठे ब्रेक से बचने के लिए बॉडी फिल्टर और मोमबत्ती के रंग भी शामिल होते हैं।
इचिमोकू रणनीति विभिन्न तकनीकी संकेतकों की ताकतों को एक प्रणाली में मिलाती है। यह चलती औसत, मूल्य चैनलों, मात्रा पुष्टि आदि की अवधारणाओं को मिलाकर एक व्यवस्थित पद्धति बनाती है। इससे ट्रेडिंग संकेतों की सटीकता और दिशा सुनिश्चित होती है। एकल-निर्देशक रणनीतियों की तुलना में, यह झूठे संकेतों को बहुत कम करता है और लाभ कारकों को बढ़ाता है।
एक प्रवृत्ति के बाद प्रणाली के रूप में, इचिमोकू रणनीति में अपेक्षाकृत लंबे व्यापार अंतराल हैं। इसका मतलब है कि अल्पकालिक मूल्य दोलन पर कब्जा नहीं किया जा सकता है। इसके अलावा, मूविंग एवरेज तब विफल हो जाते हैं जब कीमतें हिंसक रूप से उतार-चढ़ाव करती हैं। ऐसी स्थितियां गलत संकेतों और खोने वाले ट्रेडों का कारण बन सकती हैं। जोखिमों को नियंत्रित करने के लिए स्टॉप का उपयोग करना उचित है।
इचिमोकू रणनीति को ऐसे क्षेत्रों में सुधार किया जा सकता हैः 1) विभिन्न अवधियों और उत्पादों के लिए औसत मापदंडों को समायोजित करना; 2) मूल्य-मात्रा संबंधों की पुष्टि करने के लिए वॉल्यूम संकेतकों को शामिल करना; 3) सिग्नल निर्धारण को परिष्कृत करने के लिए मशीन लर्निंग मॉडल पेश करना; 4) गलत व्यापार की संभावना को कम करने के लिए अधिक फिल्टर जोड़ना।
स्थिर और विश्वसनीय इचिमोकू मूविंग एवरेज क्रॉसओवर रणनीति अन्य एल्गोरिदम के साथ संयुक्त एक कोर रणनीति के रूप में उपयुक्त है। पैरामीटर ट्यूनिंग और मल्टी-इंडिकेटर अनुकूलन के कारण इसका स्पष्ट प्रवृत्ति मार्गदर्शन और लचीलापन इसे क्वांट ट्रेडर्स द्वारा गहन अनुसंधान और दीर्घकालिक अनुप्रयोग के लिए सार्थक बनाता है।
/*backtest start: 2023-11-18 00:00:00 end: 2023-12-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's Ichimoku Strategy v1.0", shorttitle = "Ichimoku str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") conversionPeriods = input(9, minval = 1, title = "Conversion Periods") basePeriods = input(26, minval = 1, title = "Base Periods") laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span") usebf = input(true, defval = true, title = "Use body filter") usecf = input(true, defval = true, title = "Use color filter") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Ichimoku donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) //Lines plot(conversionLine, color=red, title="Conversion Line") plot(baseLine, color=blue, title="Base Line") plot(close, offset = -basePeriods, color=green, title="Lagging Span") p1 = plot(leadLine1, offset = basePeriods, color=green, title="Lead 1") p2 = plot(leadLine2, offset = basePeriods, color=red, title="Lead 2") fill(p1, p2) //Body Filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 3 or usebf == false //Color Filter bar = close > open ? 1 : close < open ? -1 : 0 gb = bar == 1 or usecf == false rb = bar == -1 or usecf == false //Signals up = low > baseLine and rb and body dn = high < baseLine and gb and body //Trading if up //if strategy.position_size < 0 // strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn //if strategy.position_size > 0 // strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()