
यह एक द्वि-समान रेखा क्रॉसिंग सिग्नल पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। रणनीति दो चलती औसत का उपयोग करती है, एक मुख्य सिग्नल लाइन के रूप में और दूसरी चिकनी सिग्नल लाइन के रूप में। कीमतों और चिकनी सिग्नल लाइनों के क्रॉसिंग की निगरानी करके ट्रेडिंग सिग्नल उत्पन्न करने के लिए, बाजार की प्रवृत्ति को पकड़ने और गतिशीलता को ट्रैक करने के लिए। रणनीति का मुख्य लाभ इसकी सरल और प्रभावी सिग्नल जनरेशन तंत्र और लचीले पैरामीटर विन्यास विकल्पों में है।
रणनीति दो स्तरों की चलती औसत गणना का उपयोग करती है। पहले एक बुनियादी चलती औसत की गणना की जाती है (डिफ़ॉल्ट चक्र 9) और फिर इस औसत पर दोहरी चिकनाई की जाती है (डिफ़ॉल्ट चक्र 5) । रणनीति में कई औसत गणना विधियों का विकल्प दिया गया है, जिसमें सरल चलती औसत (एसएमए), सूचकांक चलती औसत (ईएमए), फ्लैट स्लाइडिंग औसत (एसएमएमए), भारित चलती औसत (डब्लूएमए) और पूर्ण भारित चलती औसत (वीडब्लूएमए) शामिल हैं। एक बहुसंकेतक संकेत उत्पन्न होता है जब एक बंद मूल्य एक फ्लैट स्लाइड लाइन को ऊपर की ओर पार करता है; और एक ब्रीज सिग्नल उत्पन्न होता है जब एक बंद मूल्य एक फ्लैट स्लाइड लाइन को नीचे की ओर पार करता है।
यह एक क्लासिक प्रवृत्ति ट्रैकिंग रणनीति का एक सुधारित संस्करण है, जो डबल-लेयर मूविंग एवरेज के डिजाइन के माध्यम से रणनीति की सादगी को बनाए रखते हुए स्थिरता को बढ़ाता है। रणनीति में अच्छी स्केलेबिलिटी और लचीलापन है, जो पैरामीटर अनुकूलन और कार्यक्षमता विस्तार के माध्यम से विभिन्न बाजार स्थितियों के लिए अनुकूल है। हालांकि, उपयोगकर्ताओं को लेनदेन की लागत को नियंत्रित करने और जोखिम को प्रबंधित करने के लिए सावधान रहना चाहिए, और यह सलाह दी जाती है कि वे वास्तविक व्यापार से पहले पर्याप्त रूप से जांच-पड़ताल करें।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Average 1.0 Strategy", overlay=true)
// Input for Moving Average Length
len = input.int(9, minval=1, title="Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
// Calculate the Moving Average
out = ta.sma(src, len)
// Plot the Moving Average
plot(out, color=color.blue, title="MA", offset=offset)
// Function to choose the type of moving average
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Input for Smoothing Method and Length
typeMA = input.string(title="Method", defval="SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title="Smoothing Length", defval=5, minval=1, maxval=100, group="Smoothing")
// Calculate the Smoothing Line
smoothingLine = ma(out, smoothingLength, typeMA)
// Plot the Smoothing Line
plot(smoothingLine, title="Smoothing Line", color=color.rgb(120, 66, 134, 35), offset=offset)
// Strategy Logic
if (ta.crossover(close, smoothingLine))
strategy.entry("Buy", strategy.long)
if (ta.crossunder(close, smoothingLine))
strategy.entry("Sell", strategy.short)