یہ حکمت عملی دو تکنیکی اشارے کو جوڑتی ہے: ترمیم شدہ ہل چلتی اوسط (HMA) اور Ichimoku Kinko Hyo (IKHS) ، جس کا مقصد درمیانی سے طویل مدتی مارکیٹ کے رجحانات کو پکڑنا ہے۔ بنیادی خیال یہ ہے کہ HMA اور IKHS کے Kijun Sen (بیس لائن) کے مابین کراس اوور سگنلز کا استعمال کیا جائے ، جبکہ IKHS کے Kumo (بادل) کو فلٹرنگ کی شرط کے طور پر استعمال کیا جائے تاکہ رجحان کی سمت کا تعین کیا جاسکے اور تجارتی فیصلے کیے جاسکیں۔
اس حکمت عملی میں ہل موونگ ایوریج اور ایچیموکو کنکو ہیو کو تبدیل کرکے نسبتا stable مستحکم رجحان کے بعد ٹریڈنگ سسٹم تیار کیا جاتا ہے۔ حکمت عملی کا منطق واضح اور لاگو کرنا آسان ہے ، جبکہ اس کے کچھ فوائد بھی ہیں۔ تاہم ، حکمت عملی کی کارکردگی اب بھی مارکیٹ کے حالات اور پیرامیٹر کی ترتیبات سے متاثر ہوتی ہے ، جس میں مزید اصلاح اور بہتری کی ضرورت ہوتی ہے۔ عملی ایپلی کیشنز میں ، بہتر تجارتی نتائج حاصل کرنے کے لئے مخصوص مارکیٹ کی خصوصیات اور رسک کی ترجیحات کی بنیاد پر مناسب ایڈجسٹمنٹ اور مینجمنٹ کرنا ضروری ہے۔
/*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")