यह रणनीति दो अलग-अलग चक्रों की चलती औसत की गणना करके और उनके गोल्डफ़ॉर्क डेडफ़ॉर्क्स के आधार पर खरीद और बिक्री संकेतों का गठन करती है।
इस रणनीति में, उपयोगकर्ता को पहले चलती औसत के प्रकार और लंबाई का चयन करने की अनुमति दी जाती है। प्रकारों में SMA, EMA, VWMA आदि शामिल हैं, और लंबाई औसत की अवधि निर्धारित करती है।
फिर उपयोगकर्ता की पसंद के अनुसार दो चलती औसत की गणना की जाती है। यदि तेज लाइन नीचे से धीमी लाइन को पार करती है, तो गोल्डन फोर्क बनाती है, तो एक खरीद संकेत उत्पन्न होता है। यदि तेज लाइन ऊपर से नीचे से धीमी लाइन को पार करती है, तो डेड फोर्क बनाती है, तो एक बेचने का संकेत उत्पन्न होता है।
इस प्रकार, जब अल्पकालिक औसत मूल्य दीर्घकालिक औसत मूल्य से अधिक होता है, तो इसे बाजार में वृद्धि की प्रवृत्ति माना जाता है और इसे खरीदा जाना चाहिए। जब अल्पकालिक मूल्य दीर्घकालिक मूल्य से कम होता है, तो इसे बाजार में गिरावट की प्रवृत्ति माना जाता है और इसे बेचा जाना चाहिए।
उचित रूप से अनुकूलित मापदंडों, अन्य संकेतकों के संयोजन, सिग्नल उत्पन्न करने, स्टॉप लॉस स्टॉप सेट करने आदि द्वारा जोखिम को नियंत्रित किया जा सकता है।
इस रणनीति की समग्र सोच सरल और स्पष्ट है, द्वि-समान रेखा की गणना करके व्यापार संकेतों का गठन किया जाता है, बाजार की स्थिति के आधार पर लचीले समायोजन मापदंडों को अनुकूलित किया जा सकता है, और अन्य रणनीति संयोजन, लेकिन अस्थिर बाजार के जोखिम को रोकने के लिए ध्यान देने की आवश्यकता है, धन प्रबंधन के लिए तर्कसंगत है। कुल मिलाकर विचार करने योग्य विकल्प है।
/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-13 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's MAs Tests", shorttitle = "MAs tests", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length")
type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type")
src = input(close, defval = close, title = "Source")
//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)
//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3
//KAMA
xvnoise = abs(src - src[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src - src[len])
nnoise = sum(xvnoise, len)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2)
kama = nz(kama[1]) + nsmooth * (src - nz(kama[1]))
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
plot(ma, color = blue, linewidth = 3, transp = 0)
trend = low > ma ? 1 : high < ma ? -1 : trend[1]
longCondition = trend == 1 and trend[1] == -1
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = trend == -1 and trend[1] == 1
if (shortCondition)
strategy.entry("Short", strategy.short)