गति ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-17 13:58:19
टैगः

img

अवलोकन

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

रणनीति तर्क

इस रणनीति का मुख्य सूचक मूल्य गति है। गति की गणना इस प्रकार की जाती हैः

momentum = close - close[n] 

जहां n गति अवधि की लंबाई का प्रतिनिधित्व करता है। जब गति > 0, इसका मतलब है कि वर्तमान अवधि के दौरान कीमत बढ़ रही है। जब गति < 0, इसका मतलब है कि वर्तमान अवधि में कीमत गिर रही है।

रणनीति पहले एक confirmBars पैरामीटर सेट करती है, जो ट्रेड निष्पादित करने से पहले प्रवृत्ति निर्णय के लिए आवश्यक मोमबत्तियों की संख्या का प्रतिनिधित्व करती है। बैकटेस्ट रेंज के भीतर, यदि confirmBars मोमबत्तियों के लिए गति > 0 बनी रहती है, तो एक लंबी प्रविष्टि की जाती है। यदि confirmBars मोमबत्तियों के लिए गति < 0 बनी रहती है, तो एक छोटी प्रविष्टि की जाती है।

रणनीति के रुझान निर्णय की कुंजी लगातार मोमबत्तियों की संख्या की गिनती में निहित है जहां गति 0 से अधिक या कम है, जो bcount और डिस्काउंट चर के माध्यम से पूरा किया जाता है। जब संबंधित शर्त पूरी हो जाती है तो उन्हें 1 से बढ़ाया जाता है और जब शर्त पूरी नहीं होती है तो उन्हें 0 पर रीसेट किया जाता है। जब गिनती confirmBars तक पहुंच जाती है, तो संबंधित लंबी या छोटी ट्रेड निष्पादित की जाती है।

रणनीतिक लाभ

यह एक अपेक्षाकृत सरल प्रवृत्ति है जिसमें निम्नलिखित लाभ हैंः

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

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

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

  1. कई बार अस्थिर व्यापार और ओवरट्रेडिंग के लिए प्रवण
  2. तर्कसंगत पैरामीटर विन्यास की आवश्यकता है, विशेष रूप से ऑसिलेशन फ़िल्टर करने के लिए पुष्टि बार
  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)


अधिक