
यह रणनीति एक प्रवृत्ति ट्रैकिंग रणनीति है जो मूल्य गतिशीलता संकेतकों का उपयोग करके की जाती है। यह एक निश्चित अवधि में समापन मूल्य में बदलाव की गणना करके बाजार की प्रवृत्ति का आकलन करता है, और जब कीमतों में निरंतर वृद्धि या गिरावट की प्रवृत्ति होती है, तो इसके अनुरूप अधिक या कम करने का संचालन किया जाता है।
इस रणनीति का केंद्रीय संकेतक मूल्य की गति है। गति की गणना के लिए सूत्र हैः
momentum = close - close[n]
जहां n गति चक्र की लंबाई को दर्शाता है। जब गति > 0 है, तो यह दर्शाता है कि वर्तमान चक्र में कीमतें बढ़ रही हैं; जब गति < 0 है, तो यह दर्शाता है कि वर्तमान चक्र में कीमतें गिर रही हैं।
रणनीति पहले एक confirmBars पैरामीटर सेट करती है, जो ट्रेडों को निष्पादित करने के लिए कई K लाइनों के रुझान निर्णय की आवश्यकता को दर्शाती है। एक पलटाव सीमा के भीतर, यदि मोमेंटम > 0 निरंतर confirmBars रूट K लाइन है, तो एक अतिरिक्त प्रवेश किया जाता है; यदि मोमेंटम < 0 निरंतर confirmBars रूट K लाइन है, तो एक रिक्त प्रवेश किया जाता है।
इस रणनीति में रुझानों का आकलन करने के लिए कुंजी यह है कि लगातार 0 से अधिक या 0 से कम K लाइनों की संख्या पर आंकलन किया जाता है, जो bcount और scount चर के माध्यम से किया जाता है। वे + 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)