এই কৌশলটি 8 টি ভিন্ন সময়ের ইন্ডেক্সাল মুভিং এভারেজ এবং Ichimoku ক্লাউড গ্রাফকে প্রধান ট্রেডিং সিগন্যাল হিসাবে ব্যবহার করে এবং 1 ঘন্টা, 4 ঘন্টা বা দিবালোক সময় ফ্রেমে কার্যকরভাবে কাজ করতে পারে।
এই কৌশলটি মূলত নিম্নলিখিত দুটি বিষয়ের উপর ভিত্তি করে তৈরি করা হয়েছেঃ
এই কৌশলটি 8 টি বিভিন্ন পিরিয়ডের ইএমএ ব্যবহার করে, যথাক্রমে 5 তম, 11 তম, 15 তম, 18 তম, 21 তম, 24 তম, 28 তম এবং 34 তম লাইন। এই 8 টি ইএমএকে বলা হয় Octa-EMA। যখন একটি সংক্ষিপ্ত পিরিয়ডের ইএমএ দীর্ঘ পিরিয়ডের ইএমএর উপরে থাকে তখন এটি একটি মাল্টি-হেড প্রবণতা দেখায় এবং বিপরীতভাবে এটি একটি বায়ুমুখী প্রবণতা দেখায়।
Ichimoku মেঘের চার্টটিতে রূপান্তর লাইন, বেঞ্চমার্ক লাইন, বিলম্ব লাইন এবং নেতৃস্থানীয় লাইন A / B রয়েছে। মেঘের চার্টটি মূলত প্রবণতার দিকনির্দেশনা এবং সমর্থন প্রতিরোধ সরবরাহ করে। যখন দামগুলি মেঘের চার্টের উপরে থাকে তখন এটি একটি মাল্টিহেড ট্রেন্ড এবং মেঘের চার্টের নীচে এটি একটি ফাঁকা ট্রেন্ড।
এই কৌশলটির জন্য ট্রেডিং সিগন্যালগুলি উপরের দুটি প্রধান উপাদান থেকে আসে। যখন 8 টি ইএমএ সমস্ত মাল্টি-হেড সারিতে থাকে (ছোট ইএমএ লম্বা ইএমএর উপরে) এবং দামটি ইচিমোকুর মেঘের চিত্রের চেয়ে বেশি থাকে তখন একটি কেনার সংকেত উত্পন্ন হয়। যখন ইএমএ সারিটি খালি মাথা (ছোট ইএমএর নীচে লম্বা ইএমএ) হয়ে যায় তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
এই কৌশলটির প্রধান সুবিধাগুলো হলঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
উপরের ঝুঁকির জন্য, EMA প্যারামিটারগুলিকে সামঞ্জস্য করে বা ভর্তির শর্তগুলিকে অনুকূলিত করে ঝুঁকি হ্রাস করা যেতে পারে, বা অন্যান্য সূচকগুলিকে সহায়ক হিসাবে সংযুক্ত করা যেতে পারে।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
Octa-EMA এবং Ichimoku ক্লাউড চার্ট ট্রেডিং কৌশল সামগ্রিকভাবে একটি আরো স্থিতিশীল এবং নির্ভরযোগ্য প্রবণতা ট্র্যাকিং কৌশল। এটি একই সময়ে EMA সমন্বয় প্রবণতা বিচার এবং Ichimoku ফিল্টার সংকেত ব্যবহার করে, পরামিতি অপ্টিমাইজেশান পরে কম ভুল বিচার হার পেতে পারেন। এই কৌশলটি স্টক সূচক, ফরেক্স, মূল্যবান ধাতু ইত্যাদি জাতের উপর ব্যাপকভাবে প্রয়োগ করা যেতে পারে, এবং এটি একাধিক সময়কালের মধ্যে চালানো যেতে পারে। যদি স্টপ লস স্টপ এবং সহায়ক সূচকগুলির সাথে একত্রিত করা যায় তবে কৌশলটির জয় এবং লাভের হার আরও বাড়ানো যেতে পারে।
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//Fukuiz
strategy(title='Fukuiz Octa-EMA + Ichimoku', shorttitle='Fuku octa strategy', overlay=true, process_orders_on_close=true,
default_qty_type= strategy.cash , default_qty_value=1000, currency=currency.USD, initial_capital=10000 ,commission_type = strategy.commission.percent,commission_value=0.25)
//OCTA EMA ##################################################
// Functions
f_emaRibbon(_src, _e1, _e2, _e3, _e4, _e5, _e6, _e7, _e8) =>
_ema1 = ta.ema(_src, _e1)
_ema2 = ta.ema(_src, _e2)
_ema3 = ta.ema(_src, _e3)
_ema4 = ta.ema(_src, _e4)
_ema5 = ta.ema(_src, _e5)
_ema6 = ta.ema(_src, _e6)
_ema7 = ta.ema(_src, _e7)
_ema8 = ta.ema(_src, _e8)
[_ema1, _ema2, _ema3, _ema4, _ema5, _ema6, _ema7, _ema8]
showRibbon = input(true, 'Show Ribbon (EMA)')
ema1Len = input(5, title='EMA 1 Length')
ema2Len = input(11, title='EMA 2 Length')
ema3Len = input(15, title='EMA 3 Length')
ema4Len = input(18, title='EMA 4 Length')
ema5Len = input(21, title='EMA 5 Length')
ema6Len = input(24, title='EMA 6 Length')
ema7Len = input(28, title='EMA 7 Length')
ema8Len = input(34, title='EMA 8 Length')
[ema1, ema2, ema3, ema4, ema5, ema6, ema7, ema8] = f_emaRibbon(close, ema1Len, ema2Len, ema3Len, ema4Len, ema5Len, ema6Len, ema7Len, ema8Len)
//Plot
ribbonDir = ema8 < ema2
p1 = plot(ema1, color=showRibbon ? ribbonDir ? #1573d4 : color.new(#5d606b, 15) : na, linewidth=2, title='EMA 1')
p2 = plot(ema2, color=showRibbon ? ribbonDir ? #3096ff : color.new(#5d606b, 15) : na, linewidth=2, title='EMA 2')
plot(ema3, color=showRibbon ? ribbonDir ? #57abff : color.new(#5d606b, 15) : na, linewidth=2, title='EMA 3')
plot(ema4, color=showRibbon ? ribbonDir ? #85c2ff : color.new(#5d606b, 15) : na, linewidth=2, title='EMA 4')
plot(ema5, color=showRibbon ? ribbonDir ? #9bcdff : color.new(#5d606b, 30) : na, linewidth=2, title='EMA 5')
plot(ema6, color=showRibbon ? ribbonDir ? #b3d9ff : color.new(#5d606b, 30) : na, linewidth=2, title='EMA 6')
plot(ema7, color=showRibbon ? ribbonDir ? #c9e5ff : color.new(#5d606b, 30) : na, linewidth=2, title='EMA 7')
p8 = plot(ema8, color=showRibbon ? ribbonDir ? #dfecfb : color.new(#5d606b, 30) : na, linewidth=2, title='EMA 8')
fill(p1, p2, color.new(#1573d4, 85))
fill(p2, p8, color.new(#1573d4, 85))
//ichimoku##################################################
//color
colorblue = #3300CC
colorred = #993300
colorwhite = #FFFFFF
colorgreen = #CCCC33
colorpink = #CC6699
colorpurple = #6633FF
//switch
switch1 = input(false, title='Chikou')
switch2 = input(false, title='Tenkan')
switch3 = input(false, title='Kijun')
middleDonchian(Length) =>
lower = ta.lowest(Length)
upper = ta.highest(Length)
math.avg(upper, lower)
//Functions
conversionPeriods = input.int(9, minval=1)
basePeriods = input.int(26, minval=1)
laggingSpan2Periods = input.int(52, minval=1)
displacement = input.int(26, minval=1)
Tenkan = middleDonchian(conversionPeriods)
Kijun = middleDonchian(basePeriods)
xChikou = close
SenkouA = middleDonchian(laggingSpan2Periods)
SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2
//Plot
A = plot(SenkouA[displacement], color=color.new(colorpurple, 0), title='SenkouA')
B = plot(SenkouB, color=color.new(colorgreen, 0), title='SenkouB')
plot(switch1 ? xChikou : na, color=color.new(colorpink, 0), title='Chikou', offset=-displacement)
plot(switch2 ? Tenkan : na, color=color.new(colorred, 0), title='Tenkan')
plot(switch3 ? Kijun : na, color=color.new(colorblue, 0), title='Kijun')
fill(A, B, color=color.new(colorgreen, 90), title='Ichimoku Cloud')
//Buy and Sell signals
fukuiz = math.avg(ema2, ema8)
white = ema2 > ema8
gray = ema2 < ema8
buycond = white and white[1] == 0
sellcond = gray and gray[1] == 0
bullish = ta.barssince(buycond) < ta.barssince(sellcond)
bearish = ta.barssince(sellcond) < ta.barssince(buycond)
buy = bearish[1] and buycond and fukuiz > SenkouA[displacement] and fukuiz > SenkouB
sell = bullish[1] and sellcond and fukuiz > SenkouA[displacement] and fukuiz > SenkouB
sell2=ema2 < ema8
buy2 = white and fukuiz > SenkouA[displacement] and fukuiz > SenkouB
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//Back test
startYear = input.int(defval=2017, title='Start Year', minval=2000, maxval=3000)
startMonth = input.int(defval=1, title='Start Month', minval=1, maxval=12)
startDay = input.int(defval=1, title='Start Day', minval=1, maxval=31)
endYear = input.int(defval=2023, title='End Year', minval=2000 ,maxval=3000)
endMonth = input.int(defval=12, title='End Month', minval=1, maxval=12)
endDay = input.int(defval=31, title='End Day', minval=1, maxval=31)
start = timestamp(startYear, startMonth, startDay, 00, 00)
end = timestamp(endYear, endMonth, endDay, 23, 59)
period() => time >= start and time <= end ? true : false
if buy2
strategy.entry(id='long', direction=strategy.long, when=period(), comment='BUY')
if sell2
strategy.close(id='long', when=period(), comment='SELL')