Strategi ini menghasilkan sinyal perdagangan dengan menghitung moving average dari periode yang berbeda dan menggunakan crossover mereka sebagai sinyal beli dan jual untuk mengikuti tren.
Logika di balik sinyal perdagangan adalah bahwa MA periode yang lebih pendek dapat merespons perubahan harga lebih cepat dan mencerminkan tren terbaru, sementara MA periode yang lebih lama dapat lebih baik mewakili tren keseluruhan dan menyaring kebisingan.
Strategi ini menangkap perubahan tren dengan crossover MA sederhana. Ini termasuk dalam strategi trend berikut yang khas. Keuntungannya sederhana, mudah digunakan dan dapat disesuaikan dengan penyesuaian parameter. Kelemahannya adalah reaksi lambat dan sinyal palsu. Secara keseluruhan memiliki logika yang jelas dan merupakan titik awal yang baik untuk perdagangan algo. Manajemen risiko dan optimasi yang tepat diperlukan untuk perdagangan langsung.
/*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")