
द्विआधारी चलती औसत क्रॉसिंग रणनीति एक सामान्य मात्रात्मक ट्रेडिंग रणनीति है। यह रणनीति दो अलग-अलग चक्रों की चलती औसत का उपयोग करती है जो एक खरीद-बिक्री संकेत के रूप में होती है, जब एक अल्पकालिक औसत पर लंबी अवधि की औसत के माध्यम से खरीदा जाता है, और एक अल्पकालिक औसत के नीचे एक लंबी अवधि की औसत के माध्यम से बेचा जाता है। यह रणनीति कोड कई सामान्य चलती औसत प्रकारों का समर्थन करता है, जैसे कि सरल चलती औसत (एसएमए), सूचकांक चलती औसत (ईएमए), द्विआधारी चलती औसत (डीईएमए), त्रि-सूचकांक चलती औसत (टीईएमए), भारित चलती औसत (डब्ल्यूएमए) और व्युत्पन्न भारित चलती औसत (वीडब्ल्यूएमए), और यह छोटी अवधि की औसत और लंबी अवधि की औसत की अवधि को flexibly सेट करता है। साथ ही, यह रणनीति विभिन्न प्रकार के मूल्यों का समर्थन करती है, जैसे कि औसत मूल्य, उच्चतम मूल्य, उच्चतम मूल्य, उच्चतम मूल्य, उच्चतम मूल्य और विशिष्ट मूल्य।
इस रणनीति का मुख्य सिद्धांत दो अलग-अलग आवधिक चलती औसत की प्रवृत्ति विशेषताओं और विलंबता का उपयोग करके मूल्य प्रवृत्ति को पकड़ने के लिए है। सामान्य तौर पर, अल्पकालिक औसत मूल्य परिवर्तन के लिए अधिक संवेदनशील होता है, जबकि दीर्घकालिक औसत अपेक्षाकृत पिछड़ जाता है। जब कीमतें बढ़ रही होती हैं, तो अल्पकालिक औसत लंबी अवधि के औसत से पहले ऊपर की ओर बढ़ता है और अंततः लंबी अवधि के औसत से गुजरता है, एक “गोल्ड फोर्क” खरीदने का संकेत देता है; इसके विपरीत, जब कीमतें गिरावट की प्रवृत्ति में होती हैं, तो अल्पकालिक औसत लंबी अवधि के औसत से पहले नीचे की ओर बढ़ता है और अंततः लंबी अवधि के औसत से गुजरता है, एक “डेड फोर्क” बेचने का संकेत देता है।
सरल और उपयोग करने में आसानः द्विआधारी चलती औसत क्रॉसिंग रणनीति एक सरल, समझने में आसान और लागू करने में आसान मात्रात्मक व्यापारिक रणनीति है, जो नौसिखिया व्यापारियों के लिए सीखने और उपयोग करने के लिए उपयुक्त है।
व्यापकता: इस रणनीति को विभिन्न वित्तीय बाजारों और स्टॉक, फ्यूचर्स, विदेशी मुद्रा, क्रिप्टोकरेंसी आदि के लिए लागू किया जा सकता है।
पैरामीटर लचीलापनः रणनीति कोड कई सामान्य चलती औसत प्रकारों और मूल्य प्रकारों का समर्थन करता है, उपयोगकर्ता अपनी आवश्यकताओं के अनुसार पैरामीटर को लचीले ढंग से सेट कर सकते हैं ताकि वे विभिन्न बाजार स्थितियों और ट्रेडिंग शैलियों के अनुकूल हो सकें।
रुझान ट्रैकिंगः दो अलग-अलग आवधिक औसत रेखाओं के क्रॉसिंग सिग्नल के माध्यम से, यह रणनीति कीमतों के प्रमुख रुझानों को बेहतर ढंग से पकड़ सकती है, जो आगे बढ़ने में मदद करती है और विपरीत ट्रेडिंग से बचती है।
विलंबता: एक चलती औसत मूल रूप से एक प्रवृत्ति ट्रैकिंग सूचक है, जिसमें एक निश्चित विलंबता है, जो सबसे अच्छा प्रवेश और प्रस्थान समय से चूक सकती है।
अस्थिर बाजार में विफलता: अस्थिर बाजार में, कीमतों में भारी उतार-चढ़ाव होता है, और औसत रेखा पार करने के संकेत अक्सर होते हैं, जिससे रणनीति में अधिक बार व्यापार होता है, जिससे उच्च व्यापारिक लागत और धन की हानि होती है।
पैरामीटर अनुकूलन कठिनाईः औसत रेखा चक्र का चयन रणनीति के प्रभाव पर बहुत प्रभाव डालता है, लेकिन इष्टतम पैरामीटर अक्सर बाजार की स्थिति के कारण भिन्न होते हैं, इसलिए सभी को सही करने के लिए इष्टतम पैरामीटर संयोजन ढूंढना मुश्किल होता है।
प्रवृत्ति फ़िल्टरिंग का परिचयः समानांतर क्रॉसिंग सिग्नल के आधार पर, अन्य प्रवृत्ति संकेतकों जैसे कि MACD, ADX आदि के साथ संयोजन में प्रवृत्ति फ़िल्टर किया जा सकता है, केवल जब प्रवृत्ति स्पष्ट हो, तो व्यापार करें और अस्थिर बाजार में अक्सर व्यापार से बचें।
स्टॉप-स्टॉप ऑप्टिमाइज़ेशनः रणनीति में उचित स्टॉप-स्टॉप लॉजिक शामिल करें, जैसे कि चलती रोक, उतार-चढ़ाव की रोक, आदि, ताकि एकल व्यापार जोखिम को नियंत्रित किया जा सके और रणनीति के जोखिम-लाभ अनुपात को बढ़ाया जा सके।
गतिशील पैरामीटर अनुकूलन: विभिन्न बाजार स्थितियों के लिए, औसत रेखा चक्र जैसे पैरामीटरों को नियमित रूप से गतिशील रूप से अनुकूलित किया जा सकता है, जिससे रणनीति बाजार में बदलाव के अनुकूल हो सके और स्थिरता में सुधार हो सके।
बहु-कारक संयोजनः दोहरी चलती औसत क्रॉसिंग सिग्नल को अन्य प्रभावी मात्रात्मक कारकों (जैसे गति, मूल्य, क्रॉसिंग, आदि) के साथ संयोजित किया जाता है, जिससे एक अधिक स्थिर और प्रभावी बहु-कारक रणनीति बनती है।
दोहरी चलती औसत क्रॉसिंग रणनीति एक सरल और क्लासिक प्रवृत्ति ट्रैकिंग रणनीति है, जो दो अलग-अलग आवधिक औसत रेखाओं के क्रॉसिंग सिग्नल के माध्यम से मूल्य प्रवृत्ति को पकड़ने के लिए है, जो ट्रेंडिंग बाजार के लिए उपयुक्त है। लेकिन इस रणनीति में पिछड़ेपन और पैरामीटर अनुकूलन की कठिनाई जैसी समस्याएं भी हैं, जिन्हें अनुकूलन और सुधार के लिए अन्य तरीकों के साथ संयोजन की आवश्यकता है, जैसे कि प्रवृत्ति फ़िल्टरिंग, गतिशील पैरामीटर अनुकूलन, बहु-कारक संयोजन, आदि। रणनीति की उपयुक्तता और स्थिरता को बढ़ाने के लिए। कुल मिलाकर, दोहरी चलती औसत क्रॉसिंग रणनीति को मात्रात्मक व्यापार के लिए बुनियादी रणनीतियों में से एक के रूप में इस्तेमाल किया जा सकता है।
/*backtest
start: 2023-05-08 00:00:00
end: 2024-05-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SustainableInvestment
//@version=5
strategy("Moving average strategy (이동평균선 전략)", overlay=true)
// === INPUTS ===
basisType = input.string(defval = "EMA", title = "MA Type: SMA, EMA, DEMA, TEMA, WMA, VWMA ",options=["SMA", "EMA", "DEMA", "TEMA", "WMA", "VWMA"])
shortLen = input.int(defval = 1, title = "Short MA Period", minval = 1)
longLen = input.int(defval = 20, title = "Long MA Period", minval = 1)
price = input.string(defval = "Typical", title = "Price Type : Close, High, Open, Low, Typical, Center ",options=["Close", "High", "Open", "Low", "Typical", "Center"])
// === BASE FUNCTIONS ===
// 가격 종류 설정
priceType(price) =>
Typical = (high+low+close)/3
Center = (high+low) / 2
price=="High"?high : price=="Low"?low : price=="Open"?open : price=="Typical"?Typical : price=="Center"?Center : close
// 이동평균선 종류 설정
variant(type, src, len) =>
v1 = ta.sma(src, len) // Simple
v2 = ta.ema(src, len) // Exponential
v3 = 2 * v2 - ta.ema(v2, len) // Double Exponential
v4 = 3 * (v2 - ta.ema(v2, len)) + ta.ema(ta.ema(v2, len), len) // Triple Exponential
v5 = ta.wma(src, len) // Weighted
v6 = ta.vwma(src, len) // Volume Weighted
type=="EMA"?v2 : type=="DEMA"?v3 : type=="TEMA"?v4 : type=="WMA"?v5 : type=="VWMA"?v6 : v1
longCondition = ta.crossover(variant(basisType, priceType(price), shortLen), variant(basisType, priceType(price), longLen))
if (longCondition)
strategy.entry("Long Entry", strategy.long)
exitCondition = ta.crossunder(variant(basisType, priceType(price), shortLen), variant(basisType, priceType(price), longLen))
if (exitCondition)
strategy.close("Long Entry","Long Exit")