
এই কৌশলটি একটি যৌগিক ট্রেডিং সিস্টেম যা ইচিমোকু ক্লাউডের সাথে এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA) ক্রসওভারকে একত্রিত করে। EMA ক্রসওভার মূলত ট্রেন্ড শুরুর সংকেত ক্যাপচার করতে এবং ক্রয়ের সুযোগ নিশ্চিত করতে ব্যবহৃত হয়, অন্যদিকে ইচিমোকু ক্লাউড বাজারের মোড় সনাক্ত করতে এবং বিক্রয়ের সুযোগ নির্ধারণ করতে ব্যবহৃত হয়। বহুমাত্রিক প্রযুক্তিগত সূচকগুলির সমন্বিত সহযোগিতার মাধ্যমে, এই কৌশলটি কেবল কার্যকরভাবে প্রবণতাগুলি উপলব্ধি করতে পারে না বরং সময়মতো ঝুঁকি এড়াতেও পারে।
কৌশল অপারেটিং মেকানিজম প্রধানত দুটি মূল অংশ নিয়ে গঠিত:
এই কৌশলটি EMA ক্রসওভার এবং ইচিমোকু ক্লাউড চার্টের জৈব সমন্বয়ের মাধ্যমে ট্রেন্ড ট্র্যাকিং এবং রিভার্সাল ক্যাপচারিং উভয় ক্ষমতা সহ একটি ট্রেডিং সিস্টেম তৈরি করে। কৌশল নকশা যুক্তিসঙ্গত, ঝুঁকি নিয়ন্ত্রণ করা হয়, এবং এর ব্যবহারিক প্রয়োগের মান ভালো। প্রস্তাবিত অপ্টিমাইজেশান দিকনির্দেশের মাধ্যমে কৌশলটির আরও উন্নতির জন্য জায়গা রয়েছে। বাস্তব বাজারে আবেদন করার সময়, প্রথমে ব্যাকটেস্টিংয়ের মাধ্যমে উপযুক্ত প্যারামিটার সংমিশ্রণ নির্ধারণ করার এবং প্রকৃত বাজারের অবস্থা অনুযায়ী গতিশীল সমন্বয় করার পরামর্শ দেওয়া হয়।
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Buy + Ichimoku Cloud Sell Strategy", overlay=true)
// Input Parameters for the EMAs
shortEmaPeriod = input.int(9, title="Short EMA Period", minval=1)
longEmaPeriod = input.int(21, title="Long EMA Period", minval=1)
// Input Parameters for the Ichimoku Cloud
tenkanPeriod = input.int(9, title="Tenkan-Sen Period", minval=1)
kijunPeriod = input.int(26, title="Kijun-Sen Period", minval=1)
senkouSpanBPeriod = input.int(52, title="Senkou Span B Period", minval=1)
displacement = input.int(26, title="Displacement", minval=1)
// Calculate the EMAs
shortEma = ta.ema(close, shortEmaPeriod)
longEma = ta.ema(close, longEmaPeriod)
// Ichimoku Cloud Calculations
tenkanSen = ta.sma(close, tenkanPeriod)
kijunSen = ta.sma(close, kijunPeriod)
senkouSpanA = ta.sma(tenkanSen + kijunSen, 2)
senkouSpanB = ta.sma(close, senkouSpanBPeriod)
chikouSpan = close[displacement]
// Plot the EMAs on the chart
plot(shortEma, color=color.green, title="Short EMA")
plot(longEma, color=color.red, title="Long EMA")
// Plot the Ichimoku Cloud
plot(tenkanSen, color=color.blue, title="Tenkan-Sen")
plot(kijunSen, color=color.red, title="Kijun-Sen")
plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
plot(senkouSpanB, color=color.purple, title="Senkou Span B", offset=displacement)
plot(chikouSpan, color=color.orange, title="Chikou Span", offset=-displacement)
// Buy Condition: Short EMA crosses above Long EMA
buyCondition = ta.crossover(shortEma, longEma)
// Sell Condition: Tenkan-Sen crosses below Kijun-Sen, and price is below the cloud
sellCondition = ta.crossunder(tenkanSen, kijunSen) and close < senkouSpanA and close < senkouSpanB
// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute Buy and Sell Orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Optional: Add Stop Loss and Take Profit (risk management)
stopLossPercentage = input.float(1.5, title="Stop Loss Percentage", minval=0.1) / 100
takeProfitPercentage = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100
longStopLoss = close * (1 - stopLossPercentage)
longTakeProfit = close * (1 + takeProfitPercentage)
shortStopLoss = close * (1 + stopLossPercentage)
shortTakeProfit = close * (1 - takeProfitPercentage)
strategy.exit("Take Profit/Stop Loss", "Buy", stop=longStopLoss, limit=longTakeProfit)
strategy.exit("Take Profit/Stop Loss", "Sell", stop=shortStopLoss, limit=shortTakeProfit)