
এটি একটি ইচিমোকু ক্লাউড ক্যাটাগরি কৌশল যা কেবলমাত্র অতিরিক্ত কাজ করে। কৌশলটি ইচিমোকু সূচক দ্বারা প্রবণতার দিক নির্ধারণ করে, কে-লাইন আকৃতি, চলমান গড় এবং স্টোক্যাস্টিক আরএসআই সূচক ফিল্টার সংকেতগুলির সাথে মিলিত হয় এবং প্রবণতা বাড়ার সময় আরও ভাল প্রবেশের পয়েন্ট নির্বাচন করে।
এই কৌশলটির মূল মূল্যায়ন নিম্নরূপঃ
যখন উপরের শর্তগুলি একই সাথে পূরণ করা হয়, কৌশলটি আরও বেশি পজিশন খুলবে; যখন দামটি নেতৃত্বের লাইন 1 এর নীচে নেমে আসে, কৌশলটি পজিশনটি সরিয়ে ফেলবে।
এই কৌশলটি মূলত মূল প্রবণতার দিক নির্ধারণের জন্য Ichimoku ক্লাউড ম্যাপ ব্যবহার করে এবং প্রবণতা বাড়ার সময় একটি ভাল প্রবেশের স্থান নির্বাচন করার জন্য সহায়ক সূচক ফিল্টারিং সংকেতগুলির সাথে মিলিত হয়।
প্রতিকারঃ
ইচিমোকু ক্লাউড চার্ট কোয়ান্টিফিকেশন কৌশলটি প্রবণতার দিকনির্দেশনা নির্ধারণ করে, উচ্চ জয়লাভ এবং ঝুঁকি নিয়ন্ত্রণযোগ্য মাত্র একাধিক কৌশল করে। কৌশলটির সুবিধা সুস্পষ্ট, বহুবিধ পরিস্থিতিতে কার্যকারিতা বিশিষ্ট। পরবর্তী ধাপে সূচক অপ্টিমাইজেশন, স্টপ লস মেশিন, পজিশন ম্যানেজমেন্ট ইত্যাদির ক্ষেত্রে উন্নতি করা যেতে পারে, যাতে কৌশলটি আরও উন্নত এবং স্থিতিশীল হয়।
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Ichimoku only Long Strategy", shorttitle="Ichimoku only Long", overlay = true, pyramiding = 0, calc_on_order_fills = false, commission_type = strategy.commission.percent, commission_value = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital=10000, currency=currency.USD)
// Time Range
FromMonth=input(defval=1,title="FromMonth",minval=1,maxval=12)
FromDay=input(defval=1,title="FromDay",minval=1,maxval=31)
FromYear=input(defval=2017,title="FromYear",minval=2017)
ToMonth=input(defval=1,title="ToMonth",minval=1,maxval=12)
ToDay=input(defval=1,title="ToDay",minval=1,maxval=31)
ToYear=input(defval=9999,title="ToYear",minval=2017)
start=timestamp(FromYear,FromMonth,FromDay,00,00)
finish=timestamp(ToYear,ToMonth,ToDay,23,59)
window()=>true
// See if this bar's time happened on/after start date
afterStartDate = time >= start and time<=finish?true:false
//Enable RSI
enableema = input(true, title="Enable EMA?")
enablestochrsi = input(false, title="Enable Stochastik RSI?")
//EMA
emasrc = close,
len1 = input(24, minval=1, title="EMA 1")
len2 = input(90, minval=1, title="EMA 2")
ema1 = ema(emasrc, len1)
ema2 = ema(emasrc, len2)
col1 = color.lime
col2 = color.red
//EMA Plots
plot(ema1, title="EMA 1", linewidth=1, color=col1)
plot(ema2, title="EMA 2", linewidth=1, color=col2)
//STOCH RSI
smoothK = input(3, minval=1, title="RSI K Line")
smoothD = input(3, minval=1, title="RSI D Line")
lengthRSI = input(14, minval=1, title="RSI Length")
lengthStoch = input(14, minval=1, title="Stochastik Length")
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
//Ichimoku
conversionPeriods = input(9, minval=1, title="Ichi Conversion Line Length")
basePeriods = input(26, minval=1, title="Ichi Base Line Length")
laggingSpan2Periods = input(52, minval=1, title="Ichi Lagging Span 2 Length")
displacement = input(1, minval=0, title="Ichi Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
p1 = plot(leadLine1, offset = displacement - 1, color=color.green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement - 1, color=color.red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red)
//Long Condition
crossup = k[0] > d[0] and k[1] <= d[1]
ichigreenabovered = leadLine1 > leadLine2
ichimokulong = close > leadLine1
greencandle = close > open
redcandle = close < open
emacond = ema1 > ema2
longcondition = ichigreenabovered and ichimokulong and greencandle
//Exit Condition
ichimokuexit = close < leadLine1
exitcondition = ichimokuexit and redcandle
//Entrys
if (enablestochrsi == false) and (enableema == false) and (longcondition) and (afterStartDate) and (strategy.opentrades < 1)
strategy.entry("Long", strategy.long)
if (enablestochrsi == true) and (enableema == false) and (longcondition) and (crossup) and (afterStartDate) and (strategy.opentrades < 1)
strategy.entry("Long", strategy.long)
if (enableema == true) and (enablestochrsi == false) and (longcondition) and (emacond) and (afterStartDate) and (strategy.opentrades < 1)
strategy.entry("Long", strategy.long)
if (enableema == true) and (enablestochrsi == true) and (longcondition) and (emacond) and (crossup) and (afterStartDate) and (strategy.opentrades < 1)
strategy.entry("Long", strategy.long)
//Exits
if (afterStartDate)
strategy.close(id = "Long", when = exitcondition)