यह रणनीति हेकेन आशि और इचिमोकू किन्को ह्यो संकेतकों को संयोजित करती है ताकि प्रवृत्ति की दिशा निर्धारित की जा सके और प्रवृत्ति का पालन किया जा सके। हेकेन आशि चिकनाई शोर को कम करती है। इचिमोकू प्रवृत्ति की ताकत का आकलन करने के लिए रूपांतरण और आधार रेखाओं जैसे कई संकेतों का उपयोग करता है। संयोजन रणनीति स्थिरता में सुधार करता है।
हेकेन आशि बंद मूल्य की गणना करें और रूपांतरण रेखा, आधार रेखा आदि जैसे इचिमोकू संकेतकों को प्लॉट करें। जब बंद पिछले दो दिनों से अधिक हो और इचिमोकू शीर्ष किनारे और पिछड़ने वाली रेखा से ऊपर हो तो लंबा जाएं। जब बंद पिछले दो दिनों से कम हो और इचिमोकू निचले किनारे और पिछड़ने वाली रेखा से नीचे हो तो छोटा जाएं। रूपांतरण और आधार रेखा क्रॉस भी माध्यमिक संकेत प्रदान करते हैं।
जोखिमों को सुचारूता, धारण अवधि, इचिमोकू मापदंडों आदि को अनुकूलित करके नियंत्रित किया जा सकता है।
यह रणनीति नियंत्रित ड्रॉडाउन के साथ प्रवृत्ति की दिशा निर्धारित करने के लिए व्यापक रूप से कई संकेतकों का उपयोग करती है। ट्यूनिंग मापदंडों आदि के माध्यम से प्रदर्शन में और सुधार किया जा सकता है।
/*backtest start: 2023-08-18 00:00:00 end: 2023-09-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Heiken Ashi + Ichimoku Kinko Hyo Strategy", shorttitle="HaI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0) hahigh = security(heikinashi(syminfo.tickerid), timeframe.period, high) halow = security(heikinashi(syminfo.tickerid), timeframe.period, low) TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods") KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods") SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods") displacement = input(24, minval=1, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) TenkanSen = donchian(TenkanSenPeriods) KijunSen = donchian(KijunSenPeriods) SenkouSpanA = avg(TenkanSen, KijunSen) SenkouSpanB = donchian(SenkouSpanBPeriods) SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1]) SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1]) ChikouSpan = close[displacement-1] plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2) plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3) plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2) sa=plot (SenkouSpanA, offset = displacement, color=green, title="Senkou Span A", linewidth = 2) sb=plot (SenkouSpanB, offset = displacement, color=red, title="Senkou Span B", linewidth = 3) fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red) longCondition = hahigh > max(hahigh[1],hahigh[2]) and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>=KijunSen or close>KijunSen) if (longCondition) strategy.entry("Long",strategy.long) shortCondition = halow < min(halow[1],halow[2]) and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<=KijunSen or close<KijunSen) if (shortCondition) strategy.entry("Short",strategy.short) closelong = halow < min(halow[1],halow[2]) and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanH or close<ChikouSpan) if (closelong) strategy.close("Long") closeshort = hahigh > max(hahigh[1],hahigh[2]) and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanL or close>ChikouSpan) if (closeshort) strategy.close("Short")