यह रणनीति ट्रेडिंग वॉल्यूम के चलती औसत और मानक विचलन का उपयोग करके एक ट्रेडिंग वॉल्यूम मॉडल का निर्माण करती है, और वॉल्यूम सामान्य होने पर ट्रेडिंग सिग्नल उत्पन्न करने के लिए मूल्य के चलती औसत के साथ प्रवृत्ति दिशा निर्धारित करती है। यह वॉल्यूम असामान्य होने पर गलत संकेतों से बचने के लिए ट्रेडिंग वॉल्यूम के लिए ऊपरी और निचली सीमाएं भी निर्धारित करती है।
मूल तर्क व्यापारिक मात्रा मॉडल का निर्माण करना और मूल्य प्रवृत्ति का न्याय करना है।
यह रणनीति ट्रेडिंग वॉल्यूम मॉडल और मूल्य प्रवृत्ति को जोड़ती है ताकि जब वॉल्यूम असामान्य हो, तो मूल्य प्रवृत्तियों का पीछा करने से बचा जा सके, जो कुछ झूठे संकेतों को फ़िल्टर कर सकता है।
समाधान:
इस रणनीति का समग्र तर्क स्पष्ट है, झूठे रुझानों का पीछा करने से बचने के लिए वॉल्यूम का उपयोग करना और प्रवेश संकेत अपेक्षाकृत विश्वसनीय हैं। लेकिन रणनीति स्वयं विस्तार के लिए बड़ी जगह के साथ सरल है। अधिक संकेतक, मशीन लर्निंग, स्टॉप लॉस और अन्य मॉड्यूल जोड़कर, यह स्थिरता और रुझानों को पकड़ने की क्षमता में और सुधार कर सकती है। यह एक विशिष्ट प्रवृत्ति पीछा रणनीति है। अनुकूलन के बाद, यह एक बहुत ही व्यावहारिक मात्रात्मक रणनीति बन सकती है।
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 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/ // © dongyun //@version=4 strategy("交易量底部标准差系统", overlay=true) options = input(1,'') length = input(40,'') nlow = input(5,'') factor = input(1.0,'') vavg = 0.0 vavgn = 0.0 vsd = 0.0 lowlimit = 0.0 uplimit = 0.0 mavg = 0.0 aror = 0.0 adjvol = 0.0 savevol = 0.0 //Find average volume, replacing bad values adjvol := volume if (volume != 0) savevol := volume else savevol := savevol[1] adjvol := savevol // Replace high volume days because they distort standard deviation if (adjvol > 2 * factor * nz(vsd[1])) adjvol := savevol else adjvol := adjvol[1] vavg := sma(adjvol,length) vsd := stdev(adjvol,length) vavgn := sma(adjvol,nlow) // Extreme volume limits lowlimit := vavg - factor * vsd uplimit := vavg + 2 * factor * vsd // System rules based on moving average trend mavg := sma(close,length/2) // Only enter on new trend signals if (options == 2) if (mavg > mavg[1] and mavg[1] <= mavg[2]) strategy.entry("Long", strategy.long) if (mavg<mavg[1] and mavg[1]>=mavg[2]) strategy.entry("Short", strategy.short) else if (mavg > mavg[1] and vavgn > lowlimit) strategy.entry("Long", strategy.long) if (mavg < mavg[1] and vavgn > lowlimit) strategy.entry("Short", strategy.short) // Exit on low volume if (options != 1) if (mavg<mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit)) strategy.close("Long") if (mavg>mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit)) strategy.close("Short") else if (mavg < mavg[1]) strategy.close("Long") if (mavg > mavg[1]) strategy.close("Short")