मूविंग एवरेज क्रॉसओवर पर आधारित ट्रेडिंग रणनीति


निर्माण तिथि: 2024-01-24 14:59:44 अंत में संशोधित करें: 2024-01-24 14:59:44
कॉपी: 0 क्लिक्स: 528
1
ध्यान केंद्रित करना
1617
समर्थक

मूविंग एवरेज क्रॉसओवर पर आधारित ट्रेडिंग रणनीति

अवलोकन

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

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

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

  1. 4 चक्र, 8 चक्र और 20 चक्र की ईएमए लाइनों की गणना करें।
  2. 4 चक्र ईएमए लाइन और 8 चक्र ईएमए लाइन के बीच संबंध का न्याय करेंः
    1. जब 4 चक्र ईएमए लाइन पर 8 चक्र ईएमए लाइन को पार किया जाता है, तो यह दर्शाता है कि कीमत मजबूत हो गई है, जो एक बहु-हेड सिग्नल है।
    2. जब 4 चक्र ईएमए 8 चक्र ईएमए के नीचे टूट जाता है, तो यह संकेत देता है कि कीमत कमजोर हो गई है, जो एक खाली सिर संकेत है।
  3. और 20 चक्र ईएमए लाइन की दिशा का आकलन करेंः
    1. यदि 20 चक्र ईएमए लाइन ऊपर जाती है तो Enter Long
    2. यदि 20 चक्र ईएमए लाइन नीचे जाती है, तो Enter Short
  4. जब 4 चक्र ईएमए लाइन और 8 चक्र ईएमए लाइन रिश्ता उलटा होता है, तो Prepare Exit。
  5. जब 20 चक्र ईएमए लाइन दिशा बदलती है, तो Exit Now

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

रणनीतिक लाभ

इस रणनीति के कुछ प्रमुख फायदे हैं:

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

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

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

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

मुख्य समाधान हैंः

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

रणनीति अनुकूलन

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

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

    1. स्टॉप लॉस ऑप्टिमाइज़ेशनः स्टॉप लॉस को तर्कसंगत रूप से सेट करें और एकल नुकसान को नियंत्रित करें
    2. पैरामीटर अनुकूलन: आनुवंशिक एल्गोरिदम, मार्कोव श्रृंखला और अन्य तरीकों का उपयोग करके पैरामीटर का गतिशील अनुकूलन
  2. मॉडल एकीकरणः एलएसटीएम, आरएनएन और अन्य गहरी सीखने के मॉडल के साथ एकीकरण, अधिक अल्फा निकालें

  3. पोर्टफोलियो अनुकूलनः अन्य सूचकांकों के साथ रणनीति पोर्टफोलियो का निर्माण

संक्षेप

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

रणनीति स्रोत कोड
/*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)