
यह रणनीति विभिन्न प्रकार की औसत रेखाओं की गणना करके (सरल चलती औसत SMA, सूचकांक चलती औसत EMA, Hull चलती औसत HMA और वॉल्यूम भारित चलती औसत VWMA) और उनके चौराहे की तलाश करके, एक प्रवृत्ति का आकलन करती है और प्रवृत्ति का पालन करती है। एक खरीद संकेत उत्पन्न होता है जब एक छोटी औसत रेखा नीचे से लंबी अवधि की औसत रेखा को पार करती है; एक बिक्री संकेत उत्पन्न होता है जब एक छोटी औसत रेखा ऊपर से नीचे से लंबी अवधि की औसत रेखा को पार करती है।
यह रणनीति मुख्य रूप से दो अलग-अलग औसत रेखाओं के बीच संबंधों की तुलना करके बाजार की चाल का न्याय करती है। विशेष रूप से, दो औसत रेखाओं के प्रकार और लंबाई को इनपुट पैरामीटर के माध्यम से सेट करें। इनमें से पहली औसत रेखा लंबी है, जो लंबी अवधि की प्रवृत्ति का प्रतिनिधित्व करती है; दूसरी औसत रेखा छोटी है, जो वर्तमान अल्पकालिक प्रवृत्ति का प्रतिनिधित्व करती है।
जब अल्पकालिक औसत रेखा नीचे से लंबी अवधि की औसत रेखा को पार करती है, तो यह अल्पकालिक प्रवृत्ति को मजबूत करती है, और कीमत ऊपर की ओर बढ़ जाती है, इसलिए इस चौराहे पर एक खरीद संकेत जारी करती है। इसके विपरीत, जब अल्पकालिक औसत रेखा ऊपर से लंबी अवधि की औसत रेखा को पार करती है, तो यह अल्पकालिक प्रवृत्ति को कमजोर करती है, और कीमत नीचे की ओर बढ़ जाती है, इसलिए इस चौराहे पर एक बिक्री संकेत जारी करती है।
इस तरह के एक-तरफ़ा पारदर्शी निर्णय के माध्यम से बाजार के रुझानों का पालन करके व्यापार करें।
जोखिम समाधान:
इस रणनीति के आधार पर समानांतर क्रॉस निर्णय मुख्य रुझानों के क्लासिक विचार है, विभिन्न समानांतर के संयोजन के माध्यम से लचीला आवेदन. रणनीति तर्क सरल है, आसानी से लागू करने के लिए, स्वचालित व्यापार के लिए उपयुक्त है. कुल मिलाकर, इस रणनीति के कुछ व्यावहारिकता है, लेकिन वहाँ भी कुछ सुधार अनुकूलन के लिए जगह है. इस तरह के पैरामीटर अनुकूलन, अन्य फिल्टर निर्णय जोड़ने के रूप में तरीकों के माध्यम से, रणनीति के प्रदर्शन में लगातार सुधार कर सकते हैं.
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
ma2 = input(7, title="2nd MA Length")
type2 = input("HMA", "2nd MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
f_hma(_src, _length)=>
_return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))
price1 = if (type1 == "SMA")
sma(price, ma1)
else
if (type1 == "EMA")
ema(price, ma1)
else
if (type1 == "VWMA")
vwma(price, ma1)
else
f_hma(price, ma1)
price2 = if (type2 == "SMA")
sma(price, ma2)
else
if (type2 == "EMA")
ema(price, ma2)
else
if (type2 == "VWMA")
vwma(price, ma2)
else
f_hma(price, ma2)
//plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)
longCondition = crossover(price1, price2)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = crossunder(price1, price2)
if (shortCondition)
strategy.entry("Short", strategy.short)