यह रणनीति एक प्रवृत्ति के बाद की रणनीति है जो मूल्य गति संकेतक का उपयोग करती है। यह एक निश्चित अवधि में समापन मूल्य परिवर्तन की गणना करके बाजार की प्रवृत्ति का न्याय करती है और जब लगातार ऊपर या नीचे की कीमत प्रवृत्ति होती है तो संबंधित लंबी या छोटी प्रविष्टियां करती है।
इस रणनीति का मुख्य सूचक मूल्य गति है। गति की गणना इस प्रकार की जाती हैः
momentum = close - close[n]
जहां n गति अवधि की लंबाई का प्रतिनिधित्व करता है। जब गति > 0, इसका मतलब है कि वर्तमान अवधि के दौरान कीमत बढ़ रही है। जब गति < 0, इसका मतलब है कि वर्तमान अवधि में कीमत गिर रही है।
रणनीति पहले एक confirmBars पैरामीटर सेट करती है, जो ट्रेड निष्पादित करने से पहले प्रवृत्ति निर्णय के लिए आवश्यक मोमबत्तियों की संख्या का प्रतिनिधित्व करती है। बैकटेस्ट रेंज के भीतर, यदि confirmBars मोमबत्तियों के लिए गति > 0 बनी रहती है, तो एक लंबी प्रविष्टि की जाती है। यदि confirmBars मोमबत्तियों के लिए गति < 0 बनी रहती है, तो एक छोटी प्रविष्टि की जाती है।
रणनीति के रुझान निर्णय की कुंजी लगातार मोमबत्तियों की संख्या की गिनती में निहित है जहां गति 0 से अधिक या कम है, जो bcount और डिस्काउंट चर के माध्यम से पूरा किया जाता है। जब संबंधित शर्त पूरी हो जाती है तो उन्हें 1 से बढ़ाया जाता है और जब शर्त पूरी नहीं होती है तो उन्हें 0 पर रीसेट किया जाता है। जब गिनती confirmBars तक पहुंच जाती है, तो संबंधित लंबी या छोटी ट्रेड निष्पादित की जाती है।
यह एक अपेक्षाकृत सरल प्रवृत्ति है जिसमें निम्नलिखित लाभ हैंः
इस रणनीति में कुछ जोखिम भी हैं:
इस रणनीति को कई पहलुओं में अनुकूलित किया जा सकता हैः
संक्षेप में, यह गति ब्रेकआउट रणनीति एक सरल और व्यावहारिक प्रवृत्ति के बाद की रणनीति है जो एक परिचयात्मक मात्रा व्यापार रणनीति के रूप में उपयुक्त है। आवेदन में, व्यापार आवृत्ति को नियंत्रित करने और ओवरट्रेडिंग को रोकने के लिए ध्यान देने की आवश्यकता है। इस बीच, अधिकतम प्रदर्शन प्राप्त करने के लिए रणनीति के लिए वास्तविक उत्पादों और बाजार वातावरण के आधार पर मापदंडों और फिल्टर को समायोजित और अनुकूलित करने की आवश्यकता है।
/*backtest start: 2024-01-09 00:00:00 end: 2024-01-16 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Momentum Strategy [TS Trader]", overlay=true) confirmBars = input(1) momentumLength = input(14, title="Momentum Length") price = close momentum = close - close[momentumLength] // === INPUT BACKTEST RANGE === fromYear = input.int(2019, title="Backtest Start Year") fromMonth = input.int(1, title="Backtest Start Month", minval=1, maxval=12) fromDay = input.int(1, title="Backtest Start Day", minval=1, maxval=31) toYear = input.int(2023, title="Backtest End Year") toMonth = input.int(12, title="Backtest End Month", minval=1, maxval=12) toDay = input.int(31, title="Backtest End Day", minval=1, maxval=31) startTimestamp = timestamp(fromYear, fromMonth, fromDay, 00, 00) endTimestamp = timestamp(toYear, toMonth, toDay, 23, 59) inBacktestRange = true // === STRATEGY LOGIC === bcond = momentum > 0 bcount = 0 bcount := bcond ? nz(bcount[1]) + 1 : 0 if (bcount == confirmBars and inBacktestRange) strategy.entry("Buy", strategy.long, comment="Long") scond = momentum < 0 scount = 0 scount := scond ? nz(scount[1]) + 1 : 0 if (scount == confirmBars and inBacktestRange) strategy.entry("Sell", strategy.short, comment="Short") // Plotting Momentum plot(momentum, title="Momentum", color=color.purple)