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

दोहरी चलती औसत क्रॉसओवर पर आधारित मात्रात्मक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-21 14:28:28
टैगः

img

अवलोकन

इस रणनीति को Double Moving Average Crossover पर आधारित मात्रात्मक ट्रेडिंग रणनीति कहा जाता है। इस रणनीति का मुख्य विचार मूल्य रुझानों को निर्धारित करने और तदनुसार खरीद और बिक्री निर्णय लेने के लिए तेज और धीमी गति से चलती औसत रेखाओं के बीच क्रॉस संकेतों का उपयोग करना है।

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

इस रणनीति के मुख्य संकेतक तेजी से और धीमी गति से चलती औसत रेखाएं हैं। रणनीति मूल्य रुझानों को निर्धारित करने और इसके आधार पर व्यापारिक निर्णय लेने के लिए तेजी से और धीमी गति से चलती औसत रेखाओं के बीच क्रॉसओवर संबंध का उपयोग करती है।

विशेष रूप से, फास्ट मूविंग एवरेज लाइन पैरामीटर को 24 पीरियड्स पर सेट किया जाता है, और स्लो मूविंग एवरेज लाइन पैरामीटर को 100 पीरियड्स पर सेट किया जाता है। जब फास्ट मूविंग एवरेज लाइन नीचे से स्लो मूविंग एवरेज लाइन के ऊपर से पार करती है, तो यह इंगित करती है कि कीमतें ऊपर की ओर बढ़ रही हैं, और रणनीति इस समय एक खरीद संकेत जारी करेगी। जब फास्ट मूविंग एवरेज लाइन ऊपर से धीमी गति से चल रही औसत लाइन के नीचे से पार करती है, तो यह इंगित करती है कि कीमतें नीचे की ओर बढ़ रही हैं, और रणनीति इस समय एक बिक्री संकेत जारी करेगी।

तेजी से और धीमी गति से चलती औसत रेखाओं की क्रॉसओवर दिशा का न्याय करके, खरीद और बिक्री निर्णय लेने में सहायता के लिए मूल्य प्रवृत्ति परिवर्तनों को प्रभावी ढंग से कैप्चर किया जा सकता है।

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

इस रणनीति के निम्नलिखित फायदे हैंः

  1. यह सिद्धांत सरल और समझने में आसान है, इसे लागू करना आसान है। डबल मूविंग एवरेज क्रॉसओवर सबसे बुनियादी तकनीकी संकेतकों में से एक है और इसे समझना और लागू करना आसान है।

  2. समायोज्य मापदंड, उच्च अनुकूलन क्षमता. तेजी से और धीमी गति से चलती औसत के मापदंडों को वास्तविक परिस्थितियों के अनुसार समायोजित किया जा सकता है, जिससे रणनीति अधिक लचीली हो जाती है।

  3. प्रवृत्ति परिवर्तनों को पकड़ने की मजबूत क्षमता। जब कीमतें समेकन से प्रवृत्ति में जाती हैं तो दोहरे चलती औसत क्रॉसओवर का उपयोग अक्सर महत्वपूर्ण बिंदुओं को पकड़ने के लिए किया जाता है।

  4. एकत्रीकरण को प्रभावी ढंग से फ़िल्टर कर सकता है और अमान्य ट्रेडों को कम कर सकता है। एकत्रीकरण सीमाओं की पहचान करने और एकत्रीकरण के दौरान पदों के दोहराए जाने से बचने के लिए डबल चलती औसत का उपयोग किया जा सकता है।

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

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

  1. डबल मूविंग एवरेज क्रॉसओवर सिग्नल में विलंब हो सकता है। ट्रेंड ट्रैकिंग संकेतक के रूप में, डबल मूविंग एवरेज के क्रॉसओवर सिग्नल में अक्सर एक निश्चित अवधि का विलंब होता है, जिससे अवसर लागत की एक निश्चित डिग्री हो सकती है।

  2. दोहरी चलती औसत सबसे अच्छा प्रदर्शन करते हैं जब कीमतें एक स्पष्ट प्रवृत्ति दिखाती हैं। लेकिन दोहरी बाजारों में, वे अक्सर झूठे संकेत उत्पन्न करते हैं।

  3. गलत पैरामीटर सेटिंग्स रणनीति प्रदर्शन को प्रभावित कर सकती हैं. यदि तेज और धीमी गति से चलती औसत पैरामीटर गलत तरीके से सेट किए जाते हैं, तो यह ट्रेंड क्रॉसओवर को कैप्चर करने की संवेदनशीलता को प्रभावित करेगा.

संबंधित समाधान:

  1. क्रॉसओवर संकेतों की संवेदनशीलता बढ़ाने के लिए चलती औसत अवधि को उचित रूप से छोटा करें।

  2. अस्थिर बाजारों में अमान्य ट्रेडों को कम करने के लिए फ़िल्टरिंग के लिए अस्थिरता या वॉल्यूम संकेतक जोड़ें।

  3. सबसे अच्छा पैरामीटर संयोजन खोजने के लिए पैरामीटर अनुकूलन. स्वचालित रूप से अनुकूलित करने के लिए मशीन सीखने और अन्य तरीकों को जोड़ें.

रणनीति अनुकूलन के लिए दिशा-निर्देश

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

  1. संकेतकों की ट्रैकिंग और भविष्यवाणी क्षमता में सुधार के लिए सरल चलती औसत की जगह अधिक उन्नत चलती औसत तकनीकी संकेतकों जैसे कि रैखिक भारित चलती औसत का उपयोग करें।

  2. अमान्य संकेतों को कम करने के लिए संयुक्त फ़िल्टरिंग के लिए अधिक सहायक संकेतकों जैसे वॉल्यूम और अस्थिरता संकेतकों को जोड़ें।

  3. पैरामीटर अनुकूलन क्षमता में सुधार के लिए तेज और धीमी गति से चलती औसत मापदंडों का अनुकूलन करें। इष्टतम मापदंडों को खोजने के लिए मशीन लर्निंग और यादृच्छिक अनुकूलन जैसे तरीकों का उपयोग किया जा सकता है।

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

  5. नई प्रौद्योगिकियों जैसे कि डीप लर्निंग का उपयोग अधिक जटिल मूल्य पैटर्न की पहचान करने के लिए किया जा सकता है ताकि बेहतर परिणाम प्राप्त करने के लिए खरीद और बिक्री निर्णय लेने में चलती औसत क्रॉसओवर की सहायता की जा सके।

सारांश

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


/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)

//OBV
src = close
obv = ta.cum(math.sign(ta.change(src)) * volume)
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)
typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 20, minval = 1, maxval = 100, group="Smoothing")
Limit = input.float(title = "Limit", defval = 1, minval = 0.1, maxval = 10, group="Smoothing")
smoothingLine_ma = ma(obv,smoothingLength, typeMA)
obv_diff = (obv-smoothingLine_ma)*100/obv

//PVT
var cumVolp = 0.
cumVolp += nz(volume)
if barstate.islast and cumVolp == 0
    runtime.error("No volume is provided by the data vendor.")
srcp = close
vt = ta.cum(ta.change(srcp)/srcp[1]*volume)
smoothingLine_map = ma(vt,smoothingLength, typeMA)
pvt_diff = (vt-smoothingLine_map)*100/vt

// plot(obv_diff+close+100 ,title="OBV_DIFF", color = color.rgb(255, 118, 54))
// plot(pvt_diff+close+80 ,title="PVT_DIFF", color = color.rgb(223, 61, 255))

indicator = (pvt_diff+obv_diff)/2
goLongCondition1 = ta.crossover(indicator,Limit)
timePeriod = time >= timestamp(syminfo.timezone, 2023,1, 1, 0, 0)  // Backtesting Time
notInTrade = strategy.position_size <= 0
if goLongCondition1 and timePeriod and notInTrade
    stopLoss = low * 0.99 // -2%
    takeProfit = high * 1.05 // +5%
    strategy.entry('long', strategy.long )
    strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)






// fastEMA = ta.ema(close, 24)
// slowEMA = ta.ema(close, 100)
// goLongCondition1 = ta.crossover(fastEMA, slowEMA)
// timePeriod = time >= timestamp(syminfo.timezone, 2018, 12, 15, 0, 0)
// notInTrade = strategy.position_size <= 0
// if goLongCondition1 and timePeriod and notInTrade
//     stopLoss = low * 0.97
//     takeProfit = high * 1.12
//     strategy.entry('long', strategy.long)
//     strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)
// plot(fastEMA, color=color.new(color.blue, 0))
// plot(slowEMA, color=color.new(color.yellow, 0))

अधिक