यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए दो चलती औसत (एमए) का उपयोग करती है। जब छोटी अवधि का एमए लंबी अवधि के एमए से ऊपर जाता है, तो एक खरीद संकेत उत्पन्न होता है; जब छोटी अवधि का एमए लंबी अवधि के एमए से नीचे जाता है, तो एक बिक्री संकेत उत्पन्न होता है। रणनीति एक ट्रेडिंग समय अवधि (8 AM से 20 PM UTC) और एक लाभ लक्ष्य (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")