डबल मूविंग एवरेज ब्रेकआउट क्वांटिटेटिव ट्रेडिंग रणनीति


निर्माण तिथि: 2024-02-04 16:06:46 अंत में संशोधित करें: 2024-02-04 16:06:46
कॉपी: 0 क्लिक्स: 330
1
ध्यान केंद्रित करना
1166
समर्थक

डबल मूविंग एवरेज ब्रेकआउट क्वांटिटेटिव ट्रेडिंग रणनीति

अवलोकन

द्वि-समानता रेखा तोड़ने की रणनीति एक अधिक विशिष्ट ट्रेंड-ट्रेसिंग क्वांटिटेटिव ट्रेडिंग रणनीति है। यह रणनीति विभिन्न चक्रों के लिए सरल चलती औसत की गणना करके और मूल्य को तोड़ने के लिए एक ट्रेडिंग सिग्नल के रूप में एक ट्रेडिंग सिग्नल सेट करके अपनी स्थिति का न्याय करती है। यह रणनीति 20 दिन की रेखा और 60 दिन की रेखा को ट्रेडिंग सिग्नल के रूप में उपयोग करती है।

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

इस रणनीति का मुख्य तर्क यह हैमूल्य रुझानों को पकड़ने के लिए अलग-अलग चक्रों की चलती औसत का उपयोग करना और जब कीमतें चलती औसत को तोड़ती हैं तो व्यापार संकेत देना

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

कोड में पारितta.crossoverऔरta.crossunderयह निर्धारित करने के लिए कि क्या कीमत किसी चलती औसत को पार कर गई है या गिर गई है। जब यह पार हो जाती है, तो अधिक या कम करने के लिए निर्देश जारी किए जाते हैं।

रणनीतिक लाभ

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

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

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

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

  1. जब बाजार में उतार-चढ़ाव होता है, तो कई बार गलत सिग्नल उत्पन्न होते हैं। स्थिति रखने की अवधि बढ़ाकर इसे कम किया जा सकता है।
  2. यह अन्य संकेतकों के साथ एक फिल्टर के रूप में जोड़ा जा सकता है।
  3. चलती औसत inherently lagging, कीमतों में बदलाव के लिए प्रतिक्रिया करने में असमर्थ.

रणनीति अनुकूलन दिशा

द्विध्रुवीय पारगमन रणनीति को निम्नलिखित आयामों से अनुकूलित किया जा सकता हैः

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
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", overlay=true)
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
sma10 = ta.sma(close,10)
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)")

//進場條件
// trend1 = sma60 > sma20 //假設目前趨勢為60>20
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) 
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


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


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) 
    strategy.close("open long60",comment="跌破m60平倉", qty=1)     
    
// longCondition2 = ta.crossover(close, ta.sma(close, 10))
// if (longCondition2) 
//     strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多")


// shortCondition2 = ta.crossunder(close, ta.sma(close, 10))
// if (shortCondition2)
//     strategy.close("open long10",comment="跌破m10平倉", qty=1)