यह रणनीति दो तकनीकी संकेतकों को जोड़ती हैः संशोधित हुल मूविंग एवरेज (एचएमए) और इचिमोकू किंको ह्यो (आईकेएचएस), जिसका उद्देश्य मध्यम से दीर्घकालिक बाजार के रुझानों को पकड़ना है। मुख्य विचार एचएमए और आईकेएचएस के किजुन सेन (बेसलाइन) के बीच क्रॉसओवर संकेतों का उपयोग करना है, जबकि ट्रेंड की दिशा निर्धारित करने और ट्रेडिंग निर्णय लेने के लिए फिल्टरिंग स्थिति के रूप में आईकेएचएस के कुमो (बादल) का उपयोग करना है।
संशोधित हुल मूविंग एवरेज और इचिमोकू किंको ह्यो को मिलाकर, यह रणनीति एक अपेक्षाकृत स्थिर ट्रेंड-फॉलोइंग ट्रेडिंग सिस्टम का निर्माण करती है। रणनीति तर्क स्पष्ट और लागू करने में आसान है, जबकि कुछ फायदे भी हैं। हालांकि, रणनीति का प्रदर्शन अभी भी बाजार की स्थिति और पैरामीटर सेटिंग्स से प्रभावित होता है, जिसके लिए आगे अनुकूलन और सुधार की आवश्यकता होती है। व्यावहारिक अनुप्रयोगों में, बेहतर ट्रेडिंग परिणाम प्राप्त करने के लिए विशिष्ट बाजार विशेषताओं और जोखिम वरीयताओं के आधार पर उचित समायोजन और प्रबंधन करना आवश्यक है।
/*backtest start: 2024-04-20 00:00:00 end: 2024-04-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Hull MA_X + Ichimoku Kinko Hyo Strategy", shorttitle="HMX+IKHS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0) // Hull Moving Average Parameters keh = input(12, title="Double HullMA") n2ma = 2 * wma(close, round(keh/2)) - wma(close, keh) sqn = round(sqrt(keh)) hullMA = wma(n2ma, sqn) // Ichimoku Kinko Hyo Parameters tenkanSenPeriods = input(9, title="Tenkan Sen Periods") kijunSenPeriods = input(26, title="Kijun Sen Periods") senkouSpanBPeriods = input(52, title="Senkou Span B Periods") displacement = input(26, title="Displacement") // Ichimoku Calculations highestHigh = highest(high, max(tenkanSenPeriods, kijunSenPeriods)) lowestLow = lowest(low, max(tenkanSenPeriods, kijunSenPeriods)) tenkanSen = (highest(high, tenkanSenPeriods) + lowest(low, tenkanSenPeriods)) / 2 kijunSen = (highestHigh + lowestLow) / 2 senkouSpanA = ((tenkanSen + kijunSen) / 2) senkouSpanB = (highest(high, senkouSpanBPeriods) + lowest(low, senkouSpanBPeriods)) / 2 // Plot Ichimoku p1 = plot(tenkanSen, color=color.blue, title="Tenkan Sen") p2 = plot(kijunSen, color=color.red, title="Kijun Sen") p3 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement) p4 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement) fill(p3, p4, color=color.gray, title="Kumo Shadow") // Trading Logic longCondition = crossover(hullMA, kijunSen) and close > senkouSpanA[displacement] and close > senkouSpanB[displacement] shortCondition = crossunder(hullMA, kijunSen) and close < senkouSpanA[displacement] and close < senkouSpanB[displacement] // Strategy Execution if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Exit Logic - Exit if HullMA crosses KijunSen in the opposite direction exitLongCondition = crossunder(hullMA, kijunSen) exitShortCondition = crossover(hullMA, kijunSen) if (exitLongCondition) strategy.close("Long") if (exitShortCondition) strategy.close("Short")