এই কৌশলটি ট্রেডিং সিগন্যাল তৈরি করতে দুটি চলমান গড় (এমএ) ব্যবহার করে। যখন স্বল্প-মেয়াদী এমএ দীর্ঘ-মেয়াদী এমএ এর উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন স্বল্প-মেয়াদী এমএ দীর্ঘ-মেয়াদী এমএ এর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। কৌশলটি একটি ট্রেডিং সময়কাল (8 AM থেকে 20 PM ইউটিসি) এবং একটি মুনাফা লক্ষ্য (150 পয়েন্ট) সেট করে।
এই কৌশলটি বিভিন্ন সময়ের সাথে দুটি চলমান গড়ের ক্রসওভারের উপর ভিত্তি করে ট্রেডিং সংকেত উত্পন্ন করে, ট্রেন্ডিং বাজারের জন্য উপযুক্ত। একটি ট্রেডিং সময়কাল এবং স্থির লাভের লক্ষ্য নির্ধারণ করে এটি ঝুঁকিকে একটি নির্দিষ্ট পরিমাণে নিয়ন্ত্রণ করতে পারে। তবে, কৌশলটি অস্থির বাজারে ভাল সম্পাদন করতে পারে না এবং স্থির লাভের লক্ষ্য কৌশলটির লাভের সম্ভাবনাকে সীমাবদ্ধ করতে পারে। ভবিষ্যতে, আরও প্রযুক্তিগত সূচক অন্তর্ভুক্ত করা, লাভের লক্ষ্য নির্ধারণ এবং স্টপ লস অপ্টিমাইজ করা, বাজারের মাইক্রোস্ট্রাকচার তথ্য একত্রিত করা এবং এই কৌশলটি অনুকূল করার জন্য বিভিন্ন বাজারের অবস্থার জন্য বিভিন্ন পরামিতি সেটিং গ্রহণ করা বিবেচনা করা যেতে পারে।
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Moving Average Crossover Strategy", overlay=true) // User-defined moving average periods ma1Periods = input(5, title="First Moving Average Periods") ma2Periods = input(20, title="Second Moving Average Periods") // Calculate moving averages ma1 = sma(close, ma1Periods) ma2 = sma(close, ma2Periods) // Plot moving averages plot(ma1, color=color.red, linewidth=2, title="First Moving Average") plot(ma2, color=color.blue, linewidth=2, title="Second Moving Average") // Detect crossovers and crossunders bullishCross = crossover(ma1, ma2) bearishCross = crossunder(ma1, ma2) // Define trading hours (8 AM to 2 PM UTC) startHour = 8 endHour = 20 utcHour = hour(time, "UTC") isMarketOpen = true // Define profit target profitTarget = 150 // Check if the price has closed above/below the MA for the past 4 bars aboveMa = close[4] > ma1[4] and close[3] > ma1[3] and close[2] > ma1[2] and close[1] > ma1[1] belowMa = close[4] < ma1[4] and close[3] < ma1[3] and close[2] < ma1[2] and close[1] < ma1[1] // Create buy and sell signals if (bullishCross and isMarketOpen and aboveMa) strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", profit=profitTarget) if (bearishCross and isMarketOpen and belowMa) strategy.entry("Sell", strategy.short) strategy.exit("Cover", "Sell", profit=profitTarget) // Plot shapes on crossovers plotshape(series=bullishCross and isMarketOpen and aboveMa, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=bearishCross and isMarketOpen and belowMa, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")