मूविंग एवरेज पुलबैक ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-03-28 18:00:05
टैगः

img

अवलोकन

इस रणनीति का मुख्य विचार बाजार की वापसी के बाद रिबाउंड अवसर को पकड़ने के लिए अलग-अलग अवधि के साथ दो चलती औसत का उपयोग करना है। जब कीमत दीर्घकालिक चलती औसत से ऊपर होती है और अल्पकालिक चलती औसत पर वापस खींचती है, तो रणनीति एक लंबी स्थिति खोलती है और स्थिति को बंद कर देती है जब कीमत अल्पकालिक चलती औसत से ऊपर उठती है या स्टॉप-लॉस मूल्य को हिट करती है। एक प्रवृत्ति में वापसी के दौरान खरीदने के अवसरों की तलाश करके, रणनीति का उद्देश्य ट्रेंडिंग बाजारों से लाभ उठाना है।

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

  1. अलग-अलग अवधियों के साथ दो चलती औसत (MA1 और MA2) की गणना करें, जहां MA1 दीर्घकालिक चलती औसत है और MA2 अल्पकालिक चलती औसत है।
  2. जब समापन मूल्य एमए1 से ऊपर और एमए2 से नीचे होता है, और कोई वर्तमान स्थिति नहीं होती है, और वर्तमान समय निर्दिष्ट ट्रेडिंग समय सीमा के भीतर होता है, तो रणनीति एक लंबी स्थिति खोलती है।
  3. प्रवेश मूल्य को buyPrice के रूप में दर्ज करें और स्टॉप-लॉस मूल्य stopPrice (यानी, प्रवेश मूल्य से नीचे i_stopPercent प्रतिशत) की गणना करें।
  4. जब समापन मूल्य MA2 से ऊपर वापस बढ़ता है और i_lowerClose गलत होता है, या जब समापन मूल्य स्टॉप-लॉस मूल्य से नीचे गिरता है, तो रणनीति स्थिति को बंद करती है।
  5. यदि i_lowerClose सही है, तो रणनीति स्थिति को बंद करती है जब समापन मूल्य MA2 से ऊपर होता है और पिछली कैंडल की समापन मूल्य MA2 से नीचे होती है।

रणनीतिक लाभ

  1. प्रवृत्ति का अनुसरण करना: मूल्य की सापेक्ष स्थिति और दीर्घकालिक चलती औसत के आधार पर समग्र प्रवृत्ति का निर्धारण करके, रणनीति प्रवृत्ति के भीतर प्रवेश के अवसरों की तलाश करती है।
  2. पुलबैक खरीदनाः जब मूल्य उभरते रुझान के दौरान अल्पकालिक चलती औसत पर वापस खींचता है तो खरीद के अवसरों की तलाश करके, रणनीति प्रवेश बिंदुओं की लागत-प्रभावशीलता में सुधार करती है।
  3. स्टॉप-लॉस सुरक्षाः स्टॉप-लॉस मूल्य निर्धारित करने से जब कीमत एक निश्चित परिमाण से प्रतिकूल रूप से आगे बढ़ती है तो डाउनसाइड जोखिम को प्रभावी ढंग से नियंत्रित करने में मदद मिलती है।
  4. लचीले मापदंड: उपयोगकर्ता अपनी वरीयताओं के अनुसार लचीले ढंग से ऐसे मापदंड सेट कर सकते हैं जैसे कि चलती औसत अवधि, स्टॉप-लॉस प्रतिशत, और यदि पिछली कैंडल की समापन कीमत अल्पकालिक चलती औसत से नीचे है तो स्थिति को बंद करना है या नहीं।

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

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

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

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

सारांश

मूविंग एवरेज पुलबैक ट्रैकिंग रणनीति विभिन्न अवधियों के साथ दो मूविंग एवरेज की सापेक्ष स्थिति का उपयोग करके एक अपट्रेंड में मूल्य pullbacks के दौरान लंबे व्यापार के अवसरों को पकड़ती है। यह रणनीति ट्रेंडिंग बाजारों के लिए उपयुक्त है, और उचित पैरामीटर सेटिंग्स और स्टॉप-लॉस के साथ, यह ट्रेंडिंग स्थितियों में स्थिर रिटर्न उत्पन्न कर सकती है। हालांकि, रणनीति को चंचल बाजारों में और ट्रेंड रिवर्स के दौरान कुछ जोखिमों का सामना करना पड़ता है। अधिक संकेतकों को पेश करके, स्थिति आकार को अनुकूलित करके, गतिशील स्टॉप-लॉस और अन्य तरीकों को लागू करके, इस रणनीति के प्रदर्शन और स्थिरता में और सुधार किया जा सकता है।


/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © contapessoal_ivan
// @version=5
strategy("Pullback Strategy", 
     overlay=true, 
     initial_capital=1000,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, // 100% of balance invested on each trade
     commission_type=strategy.commission.cash_per_contract, 
     commission_value=0.005) // Interactive Brokers rate

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2           = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent   = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose    = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("26 Jan 2023 00:00 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("26 Mar 2024 23:59 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)

// Check filter(s)
f_dateFilter = true

// Check buy/sell conditions
var float buyPrice = 0
buyCondition    = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition   = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance    = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice       = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition   = strategy.position_size > 0 and stopDistance > i_stopPercent

// Enter positions
if buyCondition
    strategy.entry(id="Long", direction=strategy.long)

if buyCondition[1]
    buyPrice := open

// Exit positions
if sellCondition or stopCondition
    strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
    buyPrice := na

// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)


अधिक