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