
এটি মাল্টিপল এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA) ক্রসওভারের উপর ভিত্তি করে একটি প্রবণতা অনুসরণ করছে। এই কৌশলটি বাজারের প্রবণতা ক্যাপচার করতে এবং শর্ত পূরণ হলে দীর্ঘ ও স্বল্প লেনদেন পরিচালনা করতে 10-পিরিয়ড স্বল্প-মেয়াদী EMA, 50-পিরিয়ড মধ্য-মেয়াদী EMA এবং 200-পিরিয়ড দীর্ঘমেয়াদী EMA-এর ক্রস সম্পর্ক ব্যবহার করে। কৌশলটির মূল ধারণাটি হল একাধিক টাইম ফ্রেমে চলমান গড়ের মাধ্যমে বাজারের গোলমাল ফিল্টার করা, প্রধান প্রবণতার দিক চিহ্নিত করা এবং প্রবণতা চলতে থাকলে মুনাফা অর্জন করা।
কৌশলটি ট্রেডিং সিগন্যাল জেনারেশন মেকানিজম হিসাবে একটি ট্রিপল EMA ক্রসওভার সিস্টেম ব্যবহার করে। বিশেষভাবে:
এই কৌশলটি একটি ক্লাসিক প্রবণতা অনুসরণ করে একাধিক EMA এর সম্মিলিত ব্যবহারের মাধ্যমে, এটি শুধুমাত্র মূল প্রবণতার উপলব্ধিই নিশ্চিত করে না, এটি একটি সময়মত লাভ ও ক্ষতিও নিতে পারে। যদিও একটি নির্দিষ্ট ব্যবধান রয়েছে, যুক্তিসঙ্গত প্যারামিটার সেটিংস এবং ঝুঁকি ব্যবস্থাপনার মাধ্যমে, ট্রেন্ডিং মার্কেটে এখনও স্থিতিশীল রিটার্ন পাওয়া যেতে পারে। কৌশলটিতে অপ্টিমাইজেশনের জন্য একটি বড় জায়গা রয়েছে এবং অন্যান্য প্রযুক্তিগত সূচকগুলি প্রবর্তন করে এবং ট্রেডিং নিয়মগুলিকে উন্নত করে কর্মক্ষমতা উন্নত করা যেতে পারে।
/*backtest
start: 2024-12-10 00:00:00
end: 2025-01-09 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("EMA Crossover Strategy (Enhanced Debug)", overlay=true)
// Inputs for EMA periods
shortEMA = input.int(10, title="Short EMA Period")
mediumEMA = input.int(50, title="Medium EMA Period")
longEMA = input.int(200, title="Long EMA Period")
// Calculating EMAs
emaShort = ta.ema(close, shortEMA)
emaMedium = ta.ema(close, mediumEMA)
emaLong = ta.ema(close, longEMA)
// Plot EMAs
plot(emaShort, color=color.green, title="Short EMA")
plot(emaMedium, color=color.blue, title="Medium EMA")
plot(emaLong, color=color.red, title="Long EMA")
// Conditions for entry and exit
longCondition = close > emaLong and ta.crossover(emaShort, emaMedium) and emaMedium > emaLong
shortCondition = close < emaLong and ta.crossunder(emaShort, emaMedium) and emaMedium < emaLong
closeLongCondition = ta.crossunder(emaShort, emaMedium)
closeShortCondition = ta.crossover(emaShort, emaMedium)
// Debugging labels for unexpected behavior
if (ta.crossover(emaShort, emaLong) and not ta.crossover(emaShort, emaMedium))
label.new(bar_index, high, "Short > Long", style=label.style_circle, color=color.red, textcolor=color.white)
// Debugging EMA relationships
if (emaMedium <= emaLong)
label.new(bar_index, high, "Medium < Long", style=label.style_cross, color=color.orange, textcolor=color.white)
// Entry logic
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit logic
if (closeLongCondition)
strategy.close("Long")
if (closeShortCondition)
strategy.close("Short")
// Display labels for signals
plotshape(series=longCondition, style=shape.labelup, color=color.green, location=location.belowbar, title="Buy Signal")
plotshape(series=shortCondition, style=shape.labeldown, color=color.red, location=location.abovebar, title="Sell Signal")