
इस रणनीति का मुख्य उद्देश्य है कि कार्लमैन फ़िल्टर तकनीक का उपयोग करके कीमतों की औसत रेखा को चिकना करने के लिए किया जाए, और जब औसत रेखा के काटने के कोण को चिकना करने के बाद गणना की जाती है, तो एक व्यापार संकेत उत्पन्न होता है। यह रणनीति मध्यम-लंबी रेखा की प्रवृत्ति को ट्रैक करने के लिए समर्पित है, और कार्लमैन फ़िल्टर तकनीक के माध्यम से शोर के प्रभाव को कम करने के लिए, और अधिक स्पष्ट और विश्वसनीय प्रवृत्ति संकेत प्राप्त करने के लिए।
इस रणनीति के मूल में निम्नलिखित कदम शामिल हैंः
1 मिनट की कीमतों का सरल चलती औसत (SMA) को मूल औसत रेखा के रूप में गणना करें;
मूल समरूपता के लिए एक कार्मन फ़िल्टर, और समरूपता के बाद एक आउटपुट;
समतल होने के बाद औसत रेखा के कोण की गणना करें;
परिमेय अवधि को परिभाषित करें, जो कि सांख्यिकीय अवधि के भीतर कटाव कोणों का योग है;
एक खरीद संकेत उत्पन्न होता है जब चक्र के भीतर काटने के कोण का योग 360 डिग्री से अधिक होता है; एक बेचने का संकेत उत्पन्न होता है जब यह 360 डिग्री से कम होता है।
इस तरह के डिजाइन के साथ, जब कीमतें ऊपर या नीचे की ओर बढ़ती हैं, तो एकसमान रेखा के काटने के कोण धीरे-धीरे जमा होते हैं, और जब कुछ हद तक जमा होते हैं, तो व्यापार संकेत उत्पन्न होते हैं, जिससे मध्य-लंबी रेखा की प्रवृत्ति का प्रभावी ढंग से पालन किया जा सकता है।
इनमें से, कार्लमैन फ़िल्टर इस रणनीति के लिए महत्वपूर्ण है। कार्लमैन फ़िल्टर एक पुनरावर्ती एल्गोरिथ्म है जो वर्तमान स्थिति की भविष्यवाणी करने के साथ-साथ प्रक्रिया शोर और शोर के माप को भी मापता है, और इन शोर के मूल्यों का उपयोग पूर्व-स्थिति की भविष्यवाणी को सही करने के लिए करता है, जिससे अधिक सटीक और विश्वसनीय स्थिति अनुमान प्राप्त होता है।
इस रणनीति में, कीमतों के SMA को स्थिति का एक माप माना जा सकता है, जो बाजार के शोर से प्रभावित होता है। कार्मन फ़िल्टर कीमतों के वास्तविक रुझानों का पुनरावर्ती रूप से अनुमान लगाता है, शोर के प्रभाव को काफी कम करता है, और बाद के औसत रेखा संचालन को अधिक विश्वसनीय बनाता है, जिससे अधिक स्थिर और सटीक व्यापारिक संकेत प्राप्त होते हैं।
सरल चलती औसत जैसी सूचक रणनीतियों की तुलना में, इस रणनीति का सबसे बड़ा लाभ यह है कि कार्लमैन फ़िल्टर का उपयोग करके शोर के प्रभाव को कम किया जाता है, जिससे व्यापारिक संकेत अधिक स्पष्ट और विश्वसनीय हो जाते हैं। विशिष्ट लाभ मुख्य रूप से निम्नलिखित पहलुओं में दिखाई देते हैंः
झूठे सिग्नल को कम करना. कार्मन फ़िल्टर ने अनुकूलनशील रूप से अनुमान लगाया और शोर को समाप्त कर दिया, जो कि बड़ी संख्या में झूठे संकेतों को प्रभावी ढंग से फ़िल्टर करता है जो कि यादृच्छिक उतार-चढ़ाव से उत्पन्न होते हैं, जिससे उत्पन्न व्यापारिक संकेत अधिक विश्वसनीय होते हैं।
बेहतर ट्रैकिंग प्रभाव. समतल के बाद समरूपता अधिक सुचारू है, जो कीमतों के मध्य-लंबी प्रवृत्ति को बेहतर ढंग से दर्शाता है, जिससे बेहतर प्रवृत्ति ट्रैकिंग प्रभाव प्राप्त होता है.
समायोज्य पैरामीटर सेटिंग लचीला. समायोज्य पैरामीटर में औसत रेखा की लंबाई, कार्मन तरंगों के पैरामीटर और सांख्यिकीय चक्र शामिल हैं, जो विभिन्न बाजार स्थितियों के लिए लचीलापन से अनुकूल हैं।
जोखिम नियंत्रण योग्य. इस रणनीति में अल्पकालिक उतार-चढ़ाव के बजाय मध्यम-लंबी रुझानों पर अधिक ध्यान दिया गया है, जिससे बेहतर जोखिम-लाभ संतुलन प्राप्त होता है.
सरल और विस्तार करने में आसान। इस रणनीति का मुख्य एल्गोरिथ्म सरल है, इसे लागू करना और परीक्षण करना आसान है, और यह विस्तार के लिए जगह प्रदान करता है, जैसे कि स्वचालित अनुकूलन पैरामीटर के लिए मशीन लर्निंग एल्गोरिदम को शामिल करना।
इस रणनीति में निम्नलिखित प्रमुख जोखिम भी हैं:
रुझान उलट जोखिम. इस रणनीति में रुझानों पर ध्यान केंद्रित किया गया है, एक बार जब एक तीव्र रुझान उलट होता है, तो एक बड़ा नुकसान होता है। एक एकल नुकसान को कम करने के लिए, सांख्यिकीय चक्र को उचित रूप से छोटा किया जा सकता है।
पैरामीटर अनुकूलन जोखिम. अनुचित पैरामीटर सेटिंग ट्रेडों की आवृत्ति या सिग्नल विलंबता का कारण बन सकती है, जिसके लिए पर्याप्त परीक्षण अनुकूलन की आवश्यकता होती है। स्वचालित अनुकूलन मशीन सीखने एल्गोरिदम के साथ जोड़ा जा सकता है।
अति-अनुकूलन का खतरा. ऐतिहासिक डेटा पर अति-अनुकूलन भी पैरामीटर को विफल करने का कारण बन सकता है, जिसे नमूना के बाहर प्रभावी होने पर नियंत्रण करने की आवश्यकता होती है.
कार्यान्वयन जटिलता को बढ़ाता है। कार्मन वेव और कट-ऑफ-एंगल एल्गोरिदम को लागू करने से कोड जटिलता बढ़ जाती है, और इसे सही ढंग से लागू करने की आवश्यकता होती है।
उपरोक्त जोखिम कारकों को ध्यान में रखते हुए, इस रणनीति के अनुकूलन के लिए दिशाओं में शामिल हैंः
स्टॉप और पोजीशन मैनेजमेंट की शुरुआत करें। उचित स्टॉप के साथ, आप एक एकल नुकसान के जोखिम को प्रभावी ढंग से नियंत्रित कर सकते हैं। डायनामिक पोजीशन मैनेजमेंट के साथ, आप बाजार की स्थिति के अनुसार पोजीशन कवर के जोखिम को समायोजित कर सकते हैं।
स्वचालित पैरामीटर अनुकूलन. मशीन सीखने के अनुकूलन एल्गोरिदम के माध्यम से, पैरामीटर का स्वचालित अनुकूलन किया जा सकता है, जिससे अति-अनुकूलन के जोखिम से बचा जा सकता है।
अन्य संकेतकों को एकीकृत करना। रणनीति में कुछ अन्य संकेतकों को एकीकृत किया जा सकता है, जो रणनीति की स्थिरता को बढ़ाने के लिए संकेतकों का एक पोर्टफोलियो बनाता है।
दक्षता मूल्यांकन में वृद्धि। अधिक जोखिम-समायोजन संकेतकों को पेश करना, रणनीति की दक्षता और स्थिरता का आकलन करना, जिससे अधिक व्यापक और सटीक निष्कर्ष निकाला जा सके।
कई किस्मों का विस्तार करना। यदि यह अच्छा काम करता है, तो अधिक किस्मों में विस्तार करने पर विचार किया जा सकता है, मध्यम से दीर्घकालिक में अधिक समृद्ध नमूने जमा करने के लिए, और क्रॉस-प्रजाति पैरामीटर का अनुकूलन करने के लिए सुविधाजनक है।
इस रणनीति को आम तौर पर एक और अधिक सरल और व्यावहारिक प्रवृत्ति ट्रैकिंग रणनीति है. पारंपरिक चलती औसत रणनीति की तुलना में, केलमैन वेव एल्गोरिथ्म का परिचय इसकी सबसे बड़ी नवीनता है, और यह रणनीति को अधिक स्पष्ट और विश्वसनीय व्यापार संकेत उत्पन्न करने में सक्षम बनाता है। अगले चरण में और अनुकूलन के माध्यम से, इस रणनीति को और अधिक उत्कृष्ट प्रभाव प्राप्त करने की उम्मीद है। कुल मिलाकर, इस रणनीति को मात्रात्मक व्यापार रणनीतियों के लिए एक नया विचार मूल्य प्रदान करता है, आगे के अध्ययन और आवेदन के लिए।
/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//@library=math
strategy("策略360°(测试)", overlay=true)
// 定义1分钟均线
ma1 = request.security(syminfo.tickerid, "1", ta.sma(close, 1)) // 在这里使用了 math.sma() 函数
//plot(ma1, color=color.yellow, title="原始均线")
// 定义卡尔曼滤波函数,参考了[1](https://www.tradingview.com/pine-script-docs/en/v5/language/Methods.html)和[2](https://www.tradingview.com/pine-script-docs/en/v5/language/Operators.html)的代码
kalman(x, g) =>
kf = 0.0
dk = x - nz(kf[1], x) // 在这里使用了 nz() 函数
smooth = nz(kf[1], x) + dk * math.sqrt(g * 2) // 在这里使用了 math.sqrt() 函数
velo = 0.0
velo := nz(velo[1], 0) + g * dk // 在这里使用了 nz() 函数
kf := smooth + velo
kf
// 定义卡尔曼滤波后的均线
ma2 = kalman(ma1, 0.01)
plot(ma2, color=color.blue, title="卡尔曼滤波后的均线")
// 定义切线角
angle = math.todegrees(math.atan(ma2 - ma2[1])) // 在这里使用了 math.degrees() 和 math.atan() 函数
// 定义累加的切线角
cum_angle = 0.0
cum_angle := nz(cum_angle[1], 0) + angle // 在这里使用了 nz() 函数
// 定义30分钟周期
period = 30 // 您可以根据您的需要修改这个参数
// 定义周期内的切线角总和
sum_angle = 0.0
sum_angle := math.sum(angle, period) // 在这里使用了 math.sum() 函数,把周期内的切线角总和改成简单地把 5 个切线角相加
// 定义买入和卖出条件
buy = sum_angle > 360// 在这里使用了 math.radians() 函数
sell = sum_angle < -360
// 执行买入和卖出操作
strategy.entry("Long", strategy.long, when=buy)
strategy.close("Short", when=buy)
strategy.entry("Short", strategy.short, when=sell)
strategy.close("Long", when=sell)
// 绘制曲线图
plot(sum_angle, color=color.green, title="周期内的切线角总和")
plot(angle, color=color.red, title="切线角") // 这是我为您添加的代码,用于显示实时计算的切线角