मूल्य गति संकेतक का उपयोग करके प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2024-01-17 13:58:19 अंत में संशोधित करें: 2024-01-17 13:58:19
कॉपी: 1 क्लिक्स: 540
1
ध्यान केंद्रित करना
1617
समर्थक

मूल्य गति संकेतक का उपयोग करके प्रवृत्ति अनुसरण रणनीति

अवलोकन

यह रणनीति एक प्रवृत्ति ट्रैकिंग रणनीति है जो मूल्य गतिशीलता संकेतकों का उपयोग करके की जाती है। यह एक निश्चित अवधि में समापन मूल्य में बदलाव की गणना करके बाजार की प्रवृत्ति का आकलन करता है, और जब कीमतों में निरंतर वृद्धि या गिरावट की प्रवृत्ति होती है, तो इसके अनुरूप अधिक या कम करने का संचालन किया जाता है।

रणनीति सिद्धांत

इस रणनीति का केंद्रीय संकेतक मूल्य की गति है। गति की गणना के लिए सूत्र हैः

momentum = close - close[n]

जहां n गति चक्र की लंबाई को दर्शाता है। जब गति > 0 है, तो यह दर्शाता है कि वर्तमान चक्र में कीमतें बढ़ रही हैं; जब गति < 0 है, तो यह दर्शाता है कि वर्तमान चक्र में कीमतें गिर रही हैं।

रणनीति पहले एक confirmBars पैरामीटर सेट करती है, जो ट्रेडों को निष्पादित करने के लिए कई K लाइनों के रुझान निर्णय की आवश्यकता को दर्शाती है। एक पलटाव सीमा के भीतर, यदि मोमेंटम > 0 निरंतर confirmBars रूट K लाइन है, तो एक अतिरिक्त प्रवेश किया जाता है; यदि मोमेंटम < 0 निरंतर confirmBars रूट K लाइन है, तो एक रिक्त प्रवेश किया जाता है।

इस रणनीति में रुझानों का आकलन करने के लिए कुंजी यह है कि लगातार 0 से अधिक या 0 से कम K लाइनों की संख्या पर आंकलन किया जाता है, जो bcount और scount चर के माध्यम से किया जाता है। वे + 1 पर लौटते हैं जब संबंधित शर्तें पूरी होती हैं, और 0 पर जब वे पूरी नहीं होती हैं। जब गणना confirmBars तक पहुंचती है, तो संबंधित व्यापार को अधिक या शून्य करने के लिए निष्पादित करें।

रणनीतिक लाभ

यह एक सरल ट्रेंड ट्रैकिंग रणनीति है जिसके निम्नलिखित फायदे हैंः

  1. सरल तर्क और आसान कार्यान्वयन
  2. गतिशीलता सूचकांक मूल्य परिवर्तन के प्रति संवेदनशील है और तेजी से रुझानों को पकड़ सकता है
  3. कॉन्फ़िगर करने योग्य पैरामीटर निर्णय संवेदनशीलता को समायोजित करें
  4. विभिन्न बाजार स्थितियों में इस्तेमाल किया जा सकता है

रणनीतिक जोखिम

इस रणनीति के कुछ जोखिम भी हैं:

  1. बार-बार हादसे और अति-व्यापार के लिए प्रवण
  2. तर्कसंगत कॉन्फ़िगरेशन मापदंडों की आवश्यकता है, विशेष रूप से confirmBars फ़िल्टर कंपन
  3. बाजार की आकस्मिक घटनाओं के प्रभाव को प्रभावी ढंग से संबोधित करने में असमर्थता
  4. रिट्रेसमेंट और फिक्स्ड डिस्क के बीच अंतर, डेटा की समीक्षा और पूरक पैरामीटर अनुकूलन की आवश्यकता है

रणनीति अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. स्टॉप लॉजिक में वृद्धि, एकल लेनदेन जोखिम को नियंत्रित करना
  2. कीमतों में उतार-चढ़ाव से बचने के लिए ब्रेकआउट फ़िल्टर जोड़ें
  3. विभिन्न किस्मों और बाजार की परिस्थितियों के अनुसार कन्फर्मबार जैसे पैरामीटर को समायोजित करना
  4. प्रवेश के लिए अन्य संकेतकों के साथ बहु-कारक निर्णय को जोड़ना
  5. पैरामीटर और फ़िल्टरिंग नियमों को अनुकूलित करने के लिए मशीन लर्निंग का उपयोग करें

संक्षेप

कुल मिलाकर, गतिशीलता तोड़ने की रणनीति एक सरल व्यावहारिक प्रवृत्ति का पालन करने की रणनीति है, जो मात्रात्मक व्यापार के लिए उपयुक्त प्रवेश रणनीतियों में से एक है। ट्रेडिंग आवृत्ति को नियंत्रित करने, ओवर-ट्रेडिंग और बहुत अधिक लेनदेन लागत को रोकने के लिए आवेदन प्रक्रिया में ध्यान देने की आवश्यकता है। साथ ही, पैरामीटर और फ़िल्टरिंग नियम को वास्तविक किस्मों और बाजार की स्थिति के अनुसार अनुकूलित करने और अनुकूलित करने की आवश्यकता है ताकि रणनीति को अधिकतम प्रभाव में लाया जा सके।

रणनीति स्रोत कोड
/*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)