संसाधन लोड हो रहा है... लोड करना...

चलती औसत क्रॉसओवर रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-03 17:23:54
टैगः

img

अवलोकन

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

रणनीति तर्क

यह रणनीति चलती औसत के प्रकार (एसएमए, ईएमए, डब्ल्यूएमए, आरएमए) और अवधि, साथ ही बैकटेस्टिंग समय सीमा को निर्धारित करने के लिए इनपुट का उपयोग करती है।

विभिन्न प्रकार के चलती औसत की गणना वैरिएंट फलन में की जाती है। गणना की गई चलती औसत को ma चर में सहेजा जाता है।

जब समापन मूल्य ma से ऊपर जाता है, तो एक खरीद संकेत उत्पन्न होता है। जब समापन मूल्य ma से नीचे जाता है, तो एक बिक्री संकेत उत्पन्न होता है।

स्टॉप लॉस सेट करने के लिए, 14-पीरियड औसत सच्ची रेंज atr की गणना की जाती है। क्रॉसओवर बिंदु को संदर्भ के रूप में लें, स्टॉप लॉस रेंज के रूप में 2 गुना atr जोड़ें या घटाएं।

विशिष्ट प्रवेश और निकास तर्क इस प्रकार है:

लंबी प्रविष्टिः ma से ऊपर और बैकटेस्ट समय सीमा के भीतर बंद क्रॉस, स्टॉप लॉस बिंदु प्रवेश बिंदु बंद है
लॉन्ग एग्जिटः स्टॉप लॉस एग्जिट के लिए एमए से घटाकर 2 गुना एटीआर से नीचे क्रॉसिंग बंद करें या स्टॉप प्रॉफिट एग्जिट के लिए उच्चतम मूल्य प्रवेश बिंदु से अधिक बंद करें और 2 गुना एटीआर बंद करें।

संक्षिप्त प्रविष्टिः ma से नीचे और बैकटेस्ट समय सीमा के भीतर बंद क्रॉस, स्टॉप लॉस बिंदु प्रवेश बिंदु बंद है
शॉर्ट एक्जिटः स्टॉप लॉस एक्जिट के लिए एमए प्लस 2 गुना एटीआर से ऊपर के क्रॉस को बंद करें या ले-प्रॉफिट एक्जिट के लिए प्रवेश बिंदु से कम सबसे कम कीमत को बंद करें।

रणनीति के फायदे

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

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

  1. चलती औसत रणनीतियाँ अक्सर व्यापार और स्टॉप लॉस उत्पन्न करती हैं, जिससे लाभ की संभावना कम हो जाती है
  2. अत्यधिक अस्थिर बाजारों में, चलती औसत भ्रामक संकेत उत्पन्न कर सकती हैं
  3. एटीआर स्टॉप लॉस रेंज बहुत व्यापक या बहुत संकीर्ण हो सकता है, भारी नुकसान को रोकने में विफल

जोखिमों से निपटने के लिए निम्नलिखित पहलुओं में अनुकूलन किया जा सकता हैः

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

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

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

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

सारांश

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


/*backtest
start: 2023-10-03 00:00:00
end: 2023-11-02 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MA Cross Strategy", overlay=true,commission_value = 0.1)

type = input(defval = "WMA", title = "MA Type: ", options=["RMA", "SMA", "EMA", "WMA"])

length = input(28)
source = close



// === INPUT BACKTEST RANGE ===
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2000, title = "From Year", minval = 2000)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(9999, 1, 1, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"



variant(type, src, len) =>
    v1 = sma(src, len)                                                  // Simple
    v2 = ema(src, len)                                                  // Exponential
    v5 = wma(src, len)                                                  // Weighted
    v7 = rma(src, len)                                                  // Smoothed
    type=="EMA"?v2 : type=="WMA"?v5 : type=="RMA"?v7 : v1
ma = variant(type,source, length)


atr = security(syminfo.tickerid, "D", atr(14))

range = valuewhen(cross(close,ma), (atr*2), na)

ep = valuewhen(cross(close,ma), close, na)

plot(ma,color=ma>ma[1]?color.blue:color.red,transp=0,linewidth=1)
plot(ep,color=#2196f3,transp=100,trackprice=true, offset=-9999)
plot(ep+range,color=#2196f3,transp=100,trackprice=true, offset=-9999)
plot(ep-range,color=#2196f3,transp=100,trackprice=true, offset=-9999)

strategy.entry("Long Entry", true, when = crossover(close,ma)  and window() , stop  = ep ) 
strategy.exit("Long Exit", "Long Entry", stop  = ep-range) 
strategy.exit("Long Exit", "Long Entry", when = high > ep+range ,stop = ep[1] ) 

strategy.entry("Short Entry", false, when = crossunder(close,ma)  and window() , stop  = ep ) 
strategy.exit("Short Exit", "Short Entry", stop  = ep+range) 
strategy.exit("Short Exit", "Short Entry", when = low < ep-range ,stop = ep[1] ) 


अधिक