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

लेखक:चाओझांग, दिनांकः 2023-12-08 15:23:33
टैगः

img

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

रणनीति तर्क

  1. 20-दिवसीय सरल चलती औसत और 60-दिवसीय सरल चलती औसत की गणना करें
  2. बंद होने की कीमत 20 दिन के एमए से ऊपर जाने पर लंबी करें
  3. बंद स्थिति जब बंद मूल्य 20 दिन के एमए से नीचे टूट जाता है
  4. जब समापन मूल्य 60 दिन के एमए से ऊपर टूटता है तो लंबे समय तक जाएं
  5. 60 दिन के एमए से नीचे बंद मूल्य के टूटने पर बंद स्थिति

उपरोक्त नियम इस रणनीति के लिए ट्रेडिंग सिग्नल और तर्क को परिभाषित करते हैं। जब कीमत एमए लाइन से पार होती है, तो यह दर्शाता है कि एक नई प्रवृत्ति उभर रही है और हम लंबे समय तक जाने के लिए प्रवृत्ति का पालन कर सकते हैं। जब कीमत एमए लाइन से नीचे गिरती है, तो यह दर्शाता है कि प्रवृत्ति समाप्त हो रही है इसलिए हम स्थिति को बंद करते हैं।

लाभ

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

जोखिम

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

जोखिम समाधान:

  1. गलत ट्रेडों से बचने के लिए कई पुष्टिकरण बनाने के लिए KDJ, MACD जैसे अन्य संकेतक जोड़ें।
  2. बाजार पूंजीकरण, अस्थिरता आदि के अनुसार स्थिति आकार और पूंजी उपयोग दक्षता को अनुकूलित करना।
  3. बाजार के चरणों के आधार पर असममित कदम उठाना, सीमाबद्ध बाजार के दौरान व्यापार को कम करना और स्पष्ट प्रवृत्ति के दौरान स्थिति का आकार बढ़ाना।

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

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

सारांश

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


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-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/
// © Astorhsu

//@version=5
strategy("Astor SMA20/60 TW", overlay=true, margin_long=100, margin_short=100)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31)  //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)  //回測開始的時間函數

//Indicators
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")

//進場條件
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) and time >= start_time
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) and time >= start_time
    strategy.close("open long20",comment="跌破m20平倉", qty=1)     
    
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) and time >= start_time
    strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) and time >= start_time
    strategy.close("open long60",comment="跌破m60平倉", qty=1)     

अधिक