चलती औसत क्रॉसओवर ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-24 14:59:44
टैगः

img

अवलोकन

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

रणनीति तर्क

इस रणनीति का मूल तर्क यह हैः

  1. 4 अवधि, 8 अवधि और 20 अवधि की ईएमए रेखाओं की गणना करें।
  2. 4-अवधि ईएमए रेखा और 8-अवधि ईएमए रेखा के बीच संबंध का आकलन करें:
    1. जब 4-अवधि ईएमए रेखा 8-अवधि ईएमए रेखा के ऊपर पार करती है, तो इसका मतलब है कि मूल्य प्रवृत्ति मजबूत हो रही है, जो एक तेजी का संकेत है।
    2. जब 4-अवधि ईएमए 8-अवधि ईएमए से नीचे जाता है, तो इसका मतलब है कि मूल्य प्रवृत्ति कमजोर हो रही है, जो एक मंदी का संकेत है।
  3. इसी समय, 20 अवधि की ईएमए रेखा की दिशा का आकलन करें:
    1. यदि 20-अवधि ईएमए रेखा ऊपर जाती है, तो लॉन्ग दर्ज करें.
    2. यदि 20-अवधि ईएमए रेखा नीचे जाती है, तो लघु दर्ज करें.
  4. जब 4-अवधि ईएमए रेखा और 8-अवधि ईएमए रेखा के बीच संबंध उलटा हो जाता है, तो Exit तैयार करें।
  5. जब 20-अवधि ईएमए रेखा की दिशा उलट जाती है, तो अब बाहर निकलें।

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

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

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

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

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

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

  1. डबल मूविंग एवरेज रणनीतियाँ झूठे संकेत उत्पन्न करती हैं।
  2. निश्चित अवधि बाजार परिवर्तनों के अनुकूल नहीं हो सकती है।
  3. बाजार में उतार-चढ़ाव के दौरान नुकसान उठाना आसान है।

मुख्य समाधान इस प्रकार हैंः

  1. धारण अवधि को उचित रूप से छोटा करें और समय पर हानि को रोकें।
  2. गतिशील रूप से मापदंडों का अनुकूलन करें और चलती औसत अवधि को समायोजित करें।
  3. जटिल रणनीतियों को बनाने के लिए अन्य संकेतकों या मॉडलों के साथ संयोजन करें।

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

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

  1. अवधि अनुकूलन: विभिन्न किस्मों के अनुसार इष्टतम एमए अवधि संयोजन निर्धारित करें।

  2. स्टॉप लॉस ऑप्टिमाइजेशन: एकल हानि को नियंत्रित करने के लिए उचित रूप से स्टॉप लॉस प्वाइंट सेट करें।

  3. पैरामीटर अनुकूलन: आनुवंशिक एल्गोरिदम, मार्कोव श्रृंखला आदि का उपयोग करके पैरामीटर को गतिशील रूप से अनुकूलित करें।

  4. मॉडल संलयनः अधिक अल्फा निकालने के लिए LSTM, RNN और अन्य गहरे सीखने के मॉडल के साथ एकीकृत करें।

  5. पोर्टफोलियो अनुकूलनः रणनीतिक पोर्टफोलियो बनाने के लिए अन्य तकनीकी संकेतक रणनीतियों के साथ संयोजन करें।

सारांश

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2.05)
//stock strategy
strategy(title = "stub",   overlay = true)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true, commission_type=strategy.commission.percent,commission_value=.0,default_qty_value=10000)


testStartYear = input(1900, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12, "Backtest Start Month")
testEndDay = input(1, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() => true

ema1 = ema(close,4)
ema2 = ema(close,8)
ema3 = ema(close,20)

go_long = ema1[0] > ema2[0] and ema3[0] > ema3[1]
exit_long = ema1[0] < ema2[0] or ema3[0] < ema3[1]

go_short = ema1[0] < ema2[0] and ema3[0] < ema3[1]
exit_short = ema1[0] > ema2[0] or ema3[0] > ema3[1]

 
if testPeriod()
    strategy.entry("simpleBuy", strategy.long, when=go_long)
    strategy.exit("simpleBuy", "simpleSell",when=exit_long)
    
    strategy.entry("simpleSell", strategy.short,when=go_short)
    strategy.exit("simpleSell", "simpleSell",when=exit_short)
        
    


अधिक