এই কৌশলটি দুটি প্রযুক্তিগত সূচককে একত্রিত করেঃ সংশোধিত হুল মুভিং এভারেজ (এইচএমএ) এবং ইচিমোকু কিনকো হ্যো (আইকেএইচএস), যার লক্ষ্য হল মাঝারি থেকে দীর্ঘমেয়াদী বাজারের প্রবণতা ক্যাপচার করা। মূল ধারণাটি হ'ল এইচএমএ এবং কিজুন সেন (বেসলাইন) এর মধ্যে ক্রসওভার সংকেতগুলি ব্যবহার করা।
পরিবর্তিত হাল মুভিং এভারেজ এবং ইচিমোকু কিনকো হিওকে একত্রিত করে, এই কৌশলটি একটি তুলনামূলকভাবে স্থিতিশীল প্রবণতা অনুসরণকারী ট্রেডিং সিস্টেম তৈরি করে। কৌশল যুক্তিটি স্পষ্ট এবং বাস্তবায়ন করা সহজ, পাশাপাশি কিছু সুবিধা রয়েছে। তবে, কৌশলটির কার্যকারিতা এখনও বাজারের পরিস্থিতি এবং পরামিতি সেটিং দ্বারা প্রভাবিত হয়, আরও অপ্টিমাইজেশন এবং উন্নতির প্রয়োজন। ব্যবহারিক প্রয়োগে, আরও ভাল ট্রেডিং ফলাফল অর্জনের জন্য নির্দিষ্ট বাজারের বৈশিষ্ট্য এবং ঝুঁকি পছন্দগুলির উপর ভিত্তি করে যথাযথ সমন্বয় এবং পরিচালনা করা প্রয়োজন।
/*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")