इचिमोकू कुमो ट्विस्ट रणनीति इचिमोकू सूचक की रूपांतरण रेखा, आधार रेखा और अग्रणी स्पैन लाइनों का उपयोग एक प्रवृत्ति के बाद की रणनीति के रूप में व्यापार संकेतों का निर्माण करने के लिए करती है। यह कम जोखिम ब्रेकआउट बिंदुओं और ओवरबॉट / ओवरसोल्ड अवसरों को खोजने के लिए इचिमोकू बादलों में मोड़ के लिए देखते हुए अल्पकालिक और मध्यम अवधि के प्रवृत्ति उलट बिंदुओं की पहचान करती है। रणनीति का उपयोग इंट्राडे ट्रेडिंग के साथ-साथ कई सप्ताह के मध्यवर्ती अवधि के व्यापार के लिए किया जा सकता है।
यह रणनीति मुख्य रूप से तीन इचिमोकू रेखाओं का उपयोग करती है
खरीद संकेत तब उत्पन्न होते हैं जब अग्रणी स्पैन 1 अग्रणी स्पैन 2 से पार हो जाता है, जबकि बिक्री संकेत तब उत्पन्न होते हैं जब अग्रणी स्पैन 1 अग्रणी स्पैन 2 के नीचे पार हो जाता है। ट्रेडिंग रणनीति बस ट्रेंड परिवर्तनों को पकड़ने के लिए अल्पकालिक और मध्यम अवधि के साधनों के तेजी और मंदी के क्रॉस को ट्रैक करती है।
इचिमोकू क्लाउड ट्विस्ट रणनीति अल्पकालिक और मध्यमकालिक दोनों रुझानों को जोड़ती है, जो प्रभावी रूप से रुझान उलट बिंदुओं की पहचान कर सकती है।
औसत प्रतिगमन आधारित रणनीतियों में शोर को फ़िल्टर करने के लिए कुछ विलंब है।
प्रवृत्ति की ताकत को मापने के लिए बादलों का उपयोग करने से बेहतर प्रवेश और निकास की अनुमति मिलती है।
कोई पैरामीटर अनुकूलन की आवश्यकता नहीं है - मानक Ichimoku पैरामीटर अच्छी तरह से काम करते हैं।
इचिमोकू में काफी जटिल आंतरिक है और पैरामीटर tweaks के प्रति बहुत संवेदनशील नहीं है जिससे ओवर-ऑप्टिमाइजेशन मुश्किल हो जाता है।
रेंज-बाउंड बाजारों के दौरान कई झूठे संकेत हो सकते हैं।
अल्पकालिक और मध्यमकालिक रुझानों के बीच विभेद से रणनीति में ब्रेकडाउन हो सकता है।
जोखिम को नियंत्रित करने के लिए स्टॉप लॉस आवश्यक है, अन्यथा बड़े ड्रॉडाउन संभव हैं।
इष्टतम संतुलन खोजने के लिए रूपांतरण और आधार अवधि के विभिन्न संयोजनों का परीक्षण करें।
प्रतिकूल संरचनाओं में संकेत लेने से बचने के लिए अन्य संकेतकों के साथ फ़िल्टर जोड़ें।
गतिशील या ट्रेलिंग स्टॉप जैसी स्टॉप लॉस रणनीतियों को शामिल करें।
बाजार की स्थितियों के आधार पर स्थिति आकार को अनुकूलित करें।
अधिक यथार्थवादी परिणामों के लिए बैकटेस्ट में ट्रेडिंग कमीशन जोड़ें।
कुल मिलाकर, इचिमोकू क्लाउड ट्विस्ट रणनीति एक मध्यम प्रवृत्ति के बाद की रणनीति है। यह प्रभावी रूप से प्रवृत्ति में मोड़ की पहचान कर सकती है और प्रवृत्ति की दिशा के अनुरूप स्थिति ले सकती है। लेकिन निगरानी की आवश्यकता है और दीर्घकालिक उपयोग के लिए सख्त जोखिम नियंत्रण आवश्यक हैं। पैरामीटर ट्यूनिंग, प्रवेश फ़िल्टर, स्टॉप लॉस यांत्रिकी में निरंतर सुधार और अधिक इस रणनीति की स्थिरता और लाभप्रदता को और बढ़ा सकते हैं।
/*backtest start: 2022-10-20 00:00:00 end: 2023-10-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Ichimoku Kumo Twist Strategy (Presets)", shorttitle="Kumo Twist Strategy", overlay=true) xlowest_(src, len) => x = src for i = 1 to len - 1 v = src[i] if (na(v)) break x := min(x, v) x xlowest(src, len) => na(src[len]) ? xlowest_(src, len) : lowest(src, len) xhighest_(src, len) => x = src for i = 1 to len - 1 v = src[i] if (na(v)) break x := max(x, v) x xhighest(src, len) => na(src[len]) ? xhighest_(src, len) : highest(src, len) dropn(src, n) => na(src[n]) ? na : src ichiConversionPeriods(presets) => if presets == "Crypto Doubled" 20 else if presets == "Crypto Singled" 10 else if presets == "Standard Doubled" 18 else 9 ichiBasePeriods(presets) => if presets == "Crypto Doubled" 60 else if presets == "Crypto Singled" 30 else if presets == "Standard Doubled" 52 else 26 ichiLaggingSpan2Periods(presets) => if presets == "Crypto Doubled" 120 else if presets == "Crypto Singled" 60 else if presets == "Standard Doubled" 104 else 52 ichiDisplacement(presets) => if presets == "Crypto Doubled" 30 else if presets == "Crypto Singled" 30 else if presets == "Standard Doubled" 26 else 26 scaling = input(title="Scaling", options=["Linear", "Log"], defval="Linear") presets = input(title="Presets", options=["Crypto Doubled", "Crypto Singled", "Standard Doubled", "Standard Singled"], defval="Crypto Doubled") dropCandles = input(1, minval=0, title="Drop first N candles") showClouds = input(false, "Show Clouds") stoploss = input(true, title="Stop Loss") conversionPeriods = ichiConversionPeriods(presets) basePeriods = ichiBasePeriods(presets) laggingSpan2Periods = ichiLaggingSpan2Periods(presets) displacement = ichiDisplacement(presets) logScaling = scaling == "Log" lows = dropn(low, dropCandles) highs = dropn(high, dropCandles) lowsp = logScaling ? log(lows) : lows highsp = logScaling ? log(highs) : highs donchian(len) => avg(xlowest(lowsp, len), xhighest(highsp, len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) golong = crossover(leadLine1, leadLine2) goshort = crossunder(leadLine1, leadLine2) strategy.entry("Buy", strategy.long, when=golong, stop=(stoploss ? high+syminfo.mintick : na)) strategy.entry("Sell", strategy.short, when=goshort, stop=(stoploss ? low-syminfo.mintick : na)) conversionLinep = logScaling ? exp(conversionLine) : conversionLine baseLinep = logScaling ? exp(baseLine) : baseLine leadLine1p = logScaling ? exp(leadLine1) : leadLine1 leadLine2p = logScaling ? exp(leadLine2) : leadLine2 plot(showClouds ? conversionLinep : na, color=#0496ff, title="Conversion Line") plot(showClouds ? baseLinep : na, color=#991515, title="Base Line") p1 = plot(showClouds ? leadLine1p : na, offset = displacement, color=green, title="Lead 1") p2 = plot(showClouds ? leadLine2p : na, offset = displacement, color=red, title="Lead 2") fill(p1, p2, color = showClouds ? (leadLine1p > leadLine2p ? green : red) : na)