Esta estrategia genera señales de negociación mediante el cálculo de promedios móviles de diferentes períodos y el uso de su cruce como señales de compra y venta para seguir la tendencia.
La lógica detrás de las señales de negociación es que el MA de período más corto puede responder a los cambios de precios más rápido y reflejar la última tendencia, mientras que el MA de período más largo puede representar mejor la tendencia general y filtrar el ruido.
Esta estrategia captura los cambios de tendencia mediante cruces simples de MA. Pertenece a las estrategias típicas de seguimiento de tendencia. Los pros son simples, fáciles de usar y adaptables por ajuste de parámetros. Los contras son la reacción lenta y las señales falsas. En general, tiene una lógica clara y es un buen punto de partida para el comercio de algo. Se necesita una gestión adecuada del riesgo y la optimización para el comercio en vivo.
/*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")