
এই কৌশলটি দুটি মুভিং এভারেজ ((EMA) এর ক্রস-এর উপর ভিত্তি করে ট্রেডিং সিগন্যাল তৈরি করে। যখন স্বল্পমেয়াদী EMA ((২০ দিন) নীচে থেকে উপরে দীর্ঘমেয়াদী EMA ((৫০ দিন) অতিক্রম করে, তখন একটি কেনার সংকেত তৈরি করে; যখন স্বল্পমেয়াদী EMA (২০ দিন) নীচে থেকে নীচে থেকে দীর্ঘমেয়াদী EMA (৫০ দিন) অতিক্রম করে, তখন একটি বিক্রয় সংকেত তৈরি করে। একই সাথে, কৌশলটি দীর্ঘমেয়াদী প্রবণতাগুলির জন্য একটি রেফারেন্স হিসাবে একটি 200 দিনের EMA অঙ্কন করে। এই কৌশলটির মূল ধারণাটি হ’ল বিভিন্ন সময়কালীন মুভিং এভারেজগুলির ক্রস-এর ব্যবহার করে বাজারের প্রবণতাগুলির পরিবর্তনগুলিকে ক্যাপচার করা, যার ফলে ট্রেডিং করা যায়।
ইএমএ দ্বৈত সমান্তরাল ক্রস কৌশলটি একটি সহজ এবং সহজেই বোঝা যায়, ট্রেন্ডিং মার্কেটের জন্য উপযুক্ত ট্রেডিং কৌশল। এটি সংক্ষিপ্ত এবং দীর্ঘমেয়াদী চলমান গড়ের ক্রস ব্যবহার করে বাজারের প্রবণতার পরিবর্তনগুলি ক্যাপচার করে এবং দীর্ঘমেয়াদী প্রবণতা রেফারেন্সগুলি প্রবর্তন করে। যদিও কৌশলটির কিছু সীমাবদ্ধতা রয়েছে, যেমন অস্থির বাজারে দুর্বল পারফরম্যান্স এবং চলমান গড়ের পিছিয়ে থাকা, তবে অন্যান্য সূচক, অপ্টিমাইজড প্যারামিটার এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা অন্তর্ভুক্ত করার মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়িয়ে তুলতে পারে।
/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy by Peter Gangmei", overlay=true)
// Define the length for moving averages
short_ma_length = input.int(20, "Short MA Length")
long_ma_length = input.int(50, "Long MA Length")
long_ma_200_length = input.int(200, "Long MA 200 Length")
// Define start time for testing
start_time = timestamp(2024, 01, 01, 00, 00)
// Calculate current date and time
current_time = timenow
// Calculate moving averages
ema20 = ta.ema(close, short_ma_length)
ema50 = ta.ema(close, long_ma_length)
ema200 = ta.ema(close, long_ma_200_length)
// Crossing conditions
crossed_above = ta.crossover(ema20, ema50)
crossed_below = ta.crossunder(ema20, ema50)
// Entry and exit conditions within the specified time frame
if true
if (crossed_above)
strategy.entry("Buy", strategy.long)
alert("Buy Condition", alert.freq_once_per_bar_close)
if (crossed_below)
strategy.entry("Sell", strategy.short)
alert("Sell Condition", alert.freq_once_per_bar_close)
// Plotting moving averages for visualization
plot(ema20, color=color.green, title="EMA20")
plot(ema50, color=color.red, title="EMA50")
plot(ema200, color=color.blue, title="EMA200")
// Placing buy and sell markers
plotshape(series=crossed_above, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=crossed_below, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")