
La estrategia es un sistema de negociación basado en señales cruzadas de promedios móviles simples de 1/2/4 períodos (SMA). La estrategia capta los puntos de inflexión de las tendencias del mercado observando el cruce simultáneo de las medias de corto y medio período con las medias de largo período, lo que permite el seguimiento de la tendencia y el stop loss a tiempo. La estrategia está diseñada de manera simple y eficiente, fácil de entender e implementar.
El núcleo de la estrategia es la utilización de una simple media móvil de tres períodos diferentes (de 1/2/4) para determinar una señal de compra al determinar si la media de corto período (periodo 1) y media de período (periodo 2) cruza al mismo tiempo la media de largo período (periodo 4) hacia arriba; por el contrario, se produce una señal de venta cuando la media de corto período y media de período cruzan al mismo tiempo la media de largo período hacia abajo. Este mecanismo de confirmación múltiple puede reducir eficazmente las señales falsas y mejorar la precisión de la transacción.
La estrategia capta las tendencias del mercado a través de la intersección de múltiples medias móviles, está diseñada con claridad de concepto, y su implementación es simple y efectiva. Aunque existe cierto riesgo de retraso y falsas señales, se puede construir un sistema de negociación más completo mediante la optimización de los parámetros razonables y la adición de indicadores adicionales. La estrategia es escalable y es adecuada para una mayor optimización y perfeccionamiento del marco básico.
/*backtest
start: 2024-10-20 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("1/2/4 Moving Average STR 1.0.0", overlay=true)
o_length = input(1, title="1 Closed")
t_length = input(2, title="2 Closed")
f_length = input(4, title="4 Closed")
// Calculate the simple moving averages.
ma_o = ta.sma(close, o_length)
ma_t = ta.sma(close, t_length)
ma_f = ta.sma(close, f_length)
// Plot the moving averages on the chart.
plot(ma_o, color=color.green, title="1 MA")
plot(ma_t, color=color.red, title="2 MA")
plot(ma_f, color=color.blue, title="4 MA")
// Assign the crossover and crossunder results to global variables.
crossover_o = ta.crossover(ma_o, ma_f)
crossover_t = ta.crossover(ma_t, ma_f)
crossunder_o = ta.crossunder(ma_o, ma_f)
crossunder_t = ta.crossunder(ma_t, ma_f)
// Generate signals based on the global crossover variables.
// Buy signal: both 1 and 2 SMAs cross over the 4 SMA on the same bar.
buy_signal = crossover_o and crossover_t
// Sell signal: both 1 and 2 SMAs cross under the 4 SMA on the same bar.
sell_signal = crossunder_o and crossunder_t
// Enter trades based on the signals.
// For a long position, enter on a buy signal and exit when a sell signal occurs.
if buy_signal
strategy.entry("Long", strategy.long)
if sell_signal
strategy.close("Long")
// For a short position, enter on a sell signal and exit when a buy signal occurs.
if sell_signal
strategy.entry("Short", strategy.short)
if buy_signal
strategy.close("Short")