ফুকুইজ ওক্টা-ইএমএ + ইচিমোকু

লেখক:চাওঝাং, তারিখঃ ২০২২-০৫-১৬ ১৭ঃ৪৩ঃ৫১
ট্যাগঃইএমএ

এই কৌশলটি ৮টি ভিন্ন সময়ের ইএমএ এবং ইচিমোকু ক্লাউডের উপর ভিত্তি করে যা ১ ঘন্টা ৪ ঘন্টা এবং দৈনিক সময় ফ্রেমে ভাল কাজ করে।

# ইচিমোকুর সংক্ষিপ্ত ভূমিকা # ইচিমোকু ক্লাউড প্রযুক্তিগত সূচকগুলির একটি সংগ্রহ যা সমর্থন এবং প্রতিরোধের স্তরগুলি, পাশাপাশি গতি এবং প্রবণতার দিক দেখায়। এটি একাধিক গড় গ্রহণ করে এবং একটি চার্টে তাদের প্লট করে এটি করে। এটি একটি cloud গণনা করতে এই পরিসংখ্যানগুলি ব্যবহার করে যা ভবিষ্যতে দাম কোথায় সমর্থন বা প্রতিরোধ খুঁজে পেতে পারে তা পূর্বাভাস দেওয়ার চেষ্টা করে।

# ইএমএর সংক্ষিপ্ত ভূমিকা # একটি এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) হ'ল একটি ধরণের মুভিং এভারেজ (এমএ) যা সাম্প্রতিকতম ডেটা পয়েন্টগুলিতে বৃহত্তর ওজন এবং তাত্পর্য রাখে। এক্সপোনেনশিয়াল মুভিং এভারেজকে এক্সপোনেনশিয়ালি ওয়েটেড মুভিং এভারেজও বলা হয়। একটি এক্সপোনেনশিয়ালি ওয়েটেড মুভিং এভারেজ একটি সাধারণ মুভিং এভারেজ (এসএমএ) এর চেয়ে সাম্প্রতিক মূল্য পরিবর্তনের প্রতি আরও উল্লেখযোগ্যভাবে প্রতিক্রিয়া দেখায়, যা সময়ের সমস্ত পর্যবেক্ষণের জন্য সমান ওজন প্রয়োগ করে।

# কিভাবে ব্যবহার করবেন # কৌশল নিজেই প্রবেশ পয়েন্ট দেবে, আপনি মনিটর এবং ম্যানুয়ালি মুনাফা নিতে পারেন ((প্রস্তাবিত), অথবা আপনি প্রস্থান সেটআপ ব্যবহার করতে পারেন।

ইএমএ (রঙ) = উত্থান প্রবণতা EMA (গ্রে) = bearish প্রবণতা

# শর্ত # ক্রয় = মেঘের উপরে সমস্ত ইমা (রঙ) । সব ইমা ধূসর হয়ে যায়।

ব্যাকটেস্ট

img


/*backtest
start: 2022-05-01 00:00:00
end: 2022-05-10 23:59:00
period: 10m
basePeriod: 1m
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("Enter Long", strategy.long)
else if sell2
    strategy.entry("Enter Short", strategy.short)





সম্পর্কিত

আরো