
इस रणनीति का उपयोग व्यापार की मात्रा के चलती औसत और मानक विचलन व्यापार की मात्रा मॉडल का निर्माण करने के लिए, कीमतों के साथ संयुक्त चलती औसत प्रवृत्ति की दिशा का आकलन करने के लिए, व्यापार की मात्रा सामान्य है, तो व्यापार संकेत भेजने. रणनीति भी व्यापार की मात्रा के उच्च या निम्न सीमा सेट, व्यापार की मात्रा असामान्य है, तो गलत संकेत भेजने से बचने के लिए.
इस प्रकार, यह तर्क है कि लेन-देन की मात्रा के मॉडल और कीमतों के रुझानों का आकलन किया जाना चाहिए।
इस रणनीति में लेन-देन की मात्रा के मॉडल और कीमतों की प्रवृत्ति के साथ संयोजन किया गया है, जिससे यह संभव हो जाता है कि लेन-देन की मात्रा के असामान्य होने पर कीमतों की प्रवृत्ति को ट्रैक करने से बचने के लिए कुछ झूठे संकेतों को फ़िल्टर किया जा सके।
जोखिम समाधान:
इस रणनीति की समग्र सोच स्पष्ट है, व्यापार की मात्रा का उपयोग करने के लिए झूठी प्रवृत्ति को ट्रैक करने से बचें, प्रवेश संकेत अपेक्षाकृत विश्वसनीय है। लेकिन रणनीति स्वयं सरल है, विस्तार करने के लिए बहुत जगह है, और अधिक संकेतक, मशीन सीखने, रोक और अन्य मॉड्यूल को जोड़कर अनुकूलन करने के लिए, स्थिरता और प्रवृत्ति को पकड़ने की क्षमता में और सुधार कर सकते हैं। यह एक विशिष्ट प्रवृत्ति ट्रैकिंग रणनीति है, जो अनुकूलन के बाद एक बहुत ही व्यावहारिक मात्रात्मक रणनीति बन सकती है।
/*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")