
यह रणनीति विभिन्न चक्रों के चलती औसत की गणना करके और उनके क्रॉसिंग को खरीद और बेचने के संकेत के रूप में सेट करके प्रवृत्तियों का पालन करने में सक्षम है। इसका मुख्य तर्क यह है कि लंबे समय तक चलने वाले रुझानों को ट्रैक करने के लिए छोटे चक्रों के चलती औसत का उपयोग किया जाता है।
उपरोक्त ट्रेडिंग सिग्नल सेट करने के पीछे तर्क यह है कि शॉर्ट पीरियड मूविंग एवरेज मूल्य परिवर्तनों के लिए अधिक तेज़ी से प्रतिक्रिया करता है और नवीनतम रुझानों को दर्शाता है; लंबी अवधि की मूविंग एवरेज समग्र रुझानों को दर्शाती है और शोर को फ़िल्टर करती है। जब छोटी अवधि की मूविंग एवरेज लंबी अवधि की मूविंग एवरेज को पार करती है, तो यह दर्शाता है कि रुझान में बदलाव हुआ है, इसलिए ट्रेडिंग सिग्नल सेट किया गया है।
इस रणनीति के माध्यम से एक सरल चलती औसत क्रॉसिंग, कीमतों के रुझान के परिवर्तन को पकड़ने के लिए, एक विशिष्ट प्रवृत्ति का पालन करने की रणनीति है. इसका लाभ सरल, समझने में आसान है, संचालित करने में आसान है, और पैरामीटर को समायोजित करके कई प्रकार के बाजार की परिस्थितियों के लिए अनुकूल है. इसका नुकसान है कि यह आकस्मिक घटनाओं के लिए संवेदनशील नहीं है और गलत संकेत उत्पन्न करने में आसान है। कुल मिलाकर, इस रणनीति की सोच स्पष्ट है, यह मात्रात्मक व्यापार के लिए प्रवेश द्वार रणनीतियों में से एक है, लेकिन वास्तविक समय में लागू होने पर जोखिम नियंत्रण पर ध्यान देने की आवश्यकता है, और उचित रूप से अनुकूलित किया जाना चाहिए।
/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Crossover Strategy", overlay=true)
// Функция для получения скользящего среднего на заданном таймфрейме
getMA(source, length, timeframe) =>
request.security(syminfo.tickerid, timeframe, ta.sma(source, length))
// Вычисляем 200-периодное и 100-периодное скользящее среднее для текущего таймфрейма
ma200 = getMA(close, 200, "240")
ma100 = getMA(close, 100, "240")
// Открываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossover(ma100, ma200))
strategy.entry("Long", strategy.long)
// Закрываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
strategy.close("Long")
// Открываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
strategy.entry("Short", strategy.short)
// Закрываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное снизу вверх
if (ta.crossover(ma100, ma200))
strategy.close("Short")
// Рисуем линии скользящих средних на графике
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ma100, color=color.red, linewidth=2, title="100 MA")