इस रणनीति में समुद्र और पहली नजर में संतुलन तालिका के संकेतकों का उपयोग करके प्रवृत्ति की दिशा का निर्धारण किया गया है और प्रवृत्ति पर नज़र रखी गई है। समुद्र और पहली नजर में समतल K लाइन डेटा के कारण शोर कम हो गया है। पहली नजर में संतुलन तालिका में कई संकेतों का संयोजन किया गया है, जैसे कि रूपांतरण लाइन, आधार रेखा और प्रवृत्ति की ताकत। दोहरे संकेतकों के संयोजन से रणनीति की स्थिरता में सुधार हुआ है।
समुद्र के किनारे के समापन मूल्य की गणना करें, और रूपांतरण रेखा, आधार रेखा, आदि के रूप में एक समता तालिका के संकेतकों को रेखांकित करें। जब समापन मूल्य पिछले दो दिनों से अधिक हो और बादल के चार्ट के ऊपरी किनारे और विलंब रेखा से अधिक हो तो अधिक करें। जब समापन मूल्य पिछले दो दिनों से कम हो और बादल के चार्ट के निचले किनारे और विलंब रेखा से कम हो तो शून्य करें। पहली समता तालिका की रूपांतरण रेखा और आधार रेखा का क्रॉसिंग भी सहायक संकेत के रूप में कार्य करता है।
जोखिम को नियंत्रित करने के लिए स्मूद पैरामीटर को उचित रूप से समायोजित किया जा सकता है, स्थिति रखने की अवधि को छोटा किया जा सकता है, समता तालिका पैरामीटर को अनुकूलित किया जा सकता है।
इस रणनीति में प्रवृत्ति की दिशा का आकलन करने के लिए कई संकेतकों को शामिल किया गया है, और इसे वापस लेने की क्षमता है।
/*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")