बिटकॉइन गति ट्रेलिंग स्टॉप रणनीति

लेखक:चाओझांग, दिनांकः 2024-03-08 16:20:16
टैगः

img

रणनीति का अवलोकन

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

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

  1. बिटकॉइन की वर्तमान कीमत उच्च समय-सीमा ईएमए (20-सप्ताह ईएमए) से ऊपर चलनी चाहिए।
  2. बिटकॉइन को सावधानी की स्थिति में नहीं होना चाहिए, जिसे हालिया स्विंग हाई से घटाकर वर्तमान बार के निम्न स्तर के रूप में परिभाषित किया गया है जो एटीआर के 1.5 गुना से अधिक है, या दैनिक बंद दैनिक 20 ईएमए से कम है।
  3. स्टॉप-लॉस को हालिया स्विंग हाई माइनस 1 एटीआर या माइनस 20% एटीआर (यानी 0.2 एटीआर) पर सेट किया जाता है यदि सावधानी की स्थिति में हो।
  4. अगली पट्टी पर बाहर निकलना तब खुलता है जब कीमत स्टॉप-लॉस से नीचे बंद हो जाती है।

यह रणनीति साप्ताहिक चार्ट और 20-सप्ताह के ईएमए को ट्रेंड फिल्टर के रूप में उपयोग करती है, केवल तब प्रवेश करती है जब कीमत 20-सप्ताह के ईएमए से ऊपर होती है। 5 अवधि के एटीआर का उपयोग ट्रेलिंग स्टॉप की दूरी को गतिशील रूप से समायोजित करने के लिए किया जाता है, जो सावधानी की स्थिति में तंग हो जाता है। सावधानी की स्थिति को दो शर्तों द्वारा परिभाषित किया जाता हैः हालिया स्विंग उच्च से वर्तमान निम्न तक की दूरी एटीआर से 1.5 गुना अधिक है, या दैनिक बंद दैनिक 20 ईएमए से नीचे है। यह गतिशील स्टॉप-लॉस समायोजन दृष्टिकोण अधिक पुलबैक कमरे की अनुमति देता है जब प्रवृत्ति मजबूत होती है और तेजी से लाभ में लॉक होती है जब प्रवृत्ति कमजोर होती है।

रणनीतिक लाभ

  1. सादगी और प्रभावकारिता: रणनीति तर्क सरल, स्पष्ट, समझने और लागू करने में आसान है, जबकि प्रभावी रूप से बिटकॉइन के प्रमुख उदय प्रवृत्तियों को कैप्चर करता है।

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

  3. प्रवृत्ति फ़िल्टरिंग: उच्च स्तर के चलती औसत (20 सप्ताह के ईएमए) के साथ फ़िल्टरिंग करके, रणनीति केवल स्पष्ट अपट्रेंड के दौरान प्रवेश करती है, जिससे रणनीति की जीत दर और जोखिम-लाभ अनुपात में काफी सुधार होता है।

  4. स्थिति आकारः डिफ़ॉल्ट रूप से पूर्ण स्थिति के साथ व्यापार करना है, पूंजी उपयोग को अधिकतम करना और पूंजी दक्षता में सुधार करना। स्थिति आकार को भी लचीले ढंग से समायोजित किया जा सकता है।

  5. व्यापक अनुप्रयोगः रणनीति तर्क को अन्य परिसंपत्तियों और बाजारों में आसानी से स्थानांतरित किया जा सकता है, जिसमें अच्छी सामान्यीकरण क्षमता है।

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

  1. पैरामीटर लागू करने की क्षमताः रणनीति पैरामीटर बिटकॉइन बाजार की विशेषताओं के आधार पर निर्धारित किए जाते हैं, और अन्य बाजारों के लिए उनकी प्रयोज्यता को मान्य करने की आवश्यकता होती है और विभिन्न परिसंपत्तियों के लिए पैरामीटर अनुकूलन की आवश्यकता हो सकती है।

  2. रुझान पहचानना: रणनीति मुख्य रूप से उच्च स्तर के ईएमए और एटीआर जैसे तकनीकी संकेतकों पर आधारित है, जो बाजार की स्थितियों को समझने में मौलिक विश्लेषण जितना व्यापक नहीं है और बाजार के मोड़ के बिंदुओं पर त्रुटियों के लिए प्रवण है।

  3. स्टॉप-लॉस जोखिम: हालांकि गतिशील स्टॉप-लॉस कुछ हद तक जोखिम को नियंत्रित कर सकते हैं, लेकिन चरम बाजार स्थितियों (जैसे तेज गिरावट या तेजी से गहरे उतार-चढ़ाव) में अभी भी महत्वपूर्ण ड्रॉडाउन हो सकते हैं। इसके अलावा, स्टॉप-लॉस स्थिति अपेक्षाकृत तंग है, जिससे चंचल बाजारों में लगातार स्टॉप-आउट हो सकते हैं।

  4. मुनाफा की संभावना: रणनीति एकतरफा उभरते रुझानों में अच्छा प्रदर्शन करती है लेकिन रेंजबाउंड बाजारों में बार-बार स्टॉप-लॉस की दुविधा में पड़ने की अधिक संभावना है, जिससे समग्र मुनाफा की संभावना सीमित हो सकती है।

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

अनुकूलन दिशाएँ

  1. रुझान निर्धारण: रुझान पहचान की सटीकता और विश्वसनीयता में सुधार के लिए अधिक उच्च स्तरीय चलती औसत, अस्थिरता संकेतक या मौलिक डेटा को पेश करने पर विचार करें।

  2. गतिशील मापदंडः स्टॉप-लॉस पोजीशन और एटीआर मापदंडों को विभिन्न बाजार स्थितियों के अनुकूल मूल्य या अस्थिरता से संबंधित गतिशील समायोजन तंत्रों को पेश करके और अनुकूलित किया जा सकता है।

  3. स्थिति का आकारः रुझान की ताकत और अस्थिरता जैसे संकेतकों के आधार पर स्थिति के आकार को गतिशील रूप से समायोजित करना, रुझान मजबूत होने पर स्थिति का आकार बढ़ाना और उच्च अस्थिरता के दौरान जोखिम-लाभ अनुपात में सुधार के लिए स्थिति का आकार कम करना।

  4. लॉन्ग/शॉर्ट मैकेनिज्मः रणनीति की प्रयोज्यता और संभावित लाभप्रदता को बढ़ाने के लिए मंदी के बाजारों में शॉर्ट-सेलिंग मैकेनिज्म की शुरूआत की जानी चाहिए। हालांकि, प्रवेश और स्टॉप-लॉस नियमों को फिर से डिजाइन करने की आवश्यकता है।

  5. रणनीतिक संयोजनः इस रणनीति को अन्य रणनीतियों (जैसे कि औसत प्रतिगमन) के साथ संयोजित करें ताकि एक-दूसरे की ताकतों को पूरक किया जा सके और रणनीति की स्थिरता और लाभप्रदता में सुधार हो सके।

रणनीतिक सारांश

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZenAndTheArtOfTrading
// ------------------------------------------------------------------------------------------------------
// System Concept: Capture as much Bitcoin upside volatility as possible while side-stepping downside volatility.
//  Entry Rule #1: Bitcoin must be trading above higher-timeframe EMA (Weekly 20 EMA)
//  Entry Rule #2: Bitcoin must not be in 'caution' condition
//      -> Caution: True if BTC's recent swing high minus its current low is > 1.5x ATR OR close < Daily EMA
//  Trailing Stop: Stop is trailed 1 ATR from recent swing high, OR 20% of ATR if in caution condition
// ------------------------------------------------------------------------------------------------------
// @version=5
strategy("Bitcoin Momentum Strategy", 
     overlay=true)

// Get user input
var const string    G_STRATEGY  = "Strategy Entry Settings"
var const string    G_EXIT      = "Strategy Exit Settings"
var const string    G_FILTER    = "Strategy Filters"
i_HigherTimeframe   = input.timeframe("W", "Higher Timeframe", group=G_STRATEGY, tooltip="Higher timeframe MA reference")
i_EmaLength         = input.int(20, "EMA Length", group=G_STRATEGY, tooltip="Moving average period length")
i_AtrLength         = input.int(5, "ATR Length", group=G_STRATEGY, tooltip="ATR period length")
i_TrailStopSource   = input.source(low, "Trail Stop Source", group=G_EXIT, tooltip="Lowest price source for trailing stop")
i_TrailStopLookback = input.int(7, "Trail Stop Lookback", group=G_EXIT, tooltip="How many bars to look back for trailing price source")
i_TrailStopMulti    = input.float(0.2, "Trailing Stop Ratchet Multiplier", group=G_EXIT, tooltip="When momentum is yellow (caution), shrink ATR distance for TS by this much")
i_StartTime         = input(timestamp("01 Jan 2000 13:30 +0000"), "Start Filter", group=G_FILTER, tooltip="Start date & time to begin searching for setups")
i_EndTime           = input(timestamp("1 Jan 2099 19:30 +0000"), "End Filter", group=G_FILTER, tooltip="End date & time to stop searching for setups")

// Define custom security function which does not repaint
RequestSecurity_NonRP(_market, _res, _exp) => request.security(_market, _res, _exp[barstate.isrealtime ? 1 : 0])[barstate.isrealtime ? 0 : 1]

// Define date filter check
DateFilter(int start, int end) => time >= start and time <= end

// Get indicator values
float   atrValue    = ta.atr(i_AtrLength)
float   emaValue    = ta.ema(close, i_EmaLength)
float   htfEmaValue = RequestSecurity_NonRP(syminfo.tickerid, i_HigherTimeframe, emaValue)
float   marketPrice = close

// Check for bullishness / bearish volatility caution
bool    isBullish   = marketPrice > htfEmaValue
bool    isCaution   = isBullish and (ta.highest(high, 7) - low > (atrValue * 1.5) or marketPrice < emaValue) 

// Set momentum color
color bgCol = color.red
if isBullish[1]
    bgCol := color.green
if isCaution[1]
    bgCol := color.orange

// Handle strategy entry, and reset trailing stop
var float trailStop = na
if isBullish and strategy.position_size == 0 and not isCaution
    strategy.entry(id="Buy", direction=strategy.long)
    trailStop := na

// Update trailing stop
float temp_trailStop = ta.highest(i_TrailStopSource, i_TrailStopLookback) - (isCaution[1] ? atrValue * i_TrailStopMulti : atrValue)
if strategy.position_size > 0
    if temp_trailStop > trailStop or na(trailStop)
        trailStop := temp_trailStop

// Handle strategy exit
if (close < trailStop or close < htfEmaValue) and barstate.isconfirmed
    strategy.close("Buy", comment="Sell")

// Draw trailing stop, HTF EMA and color-coded momentum indicator
plotshape(true, color=bgCol, style=shape.square, location=location.bottom, size=size.auto, title="Momentum Strength")
plot(htfEmaValue, color=close > htfEmaValue ? color.green : color.red, linewidth=2, title="HTF EMA")
plot(emaValue, color=close > emaValue ? color.green : color.red, linewidth=1, title="CTF EMA")
plot(strategy.position_size[1] > 0 ? trailStop : na, style=plot.style_linebr, color=color.red, title="Stop Loss")

अधिक