
A estratégia é um sistema de negociação baseado em sinais cruzados de uma média móvel simples de 1/2/4 de ciclo (SMA). Capta os pontos de inflexão da tendência do mercado observando o cruzamento simultâneo da média de curto e médio período com a média de longo período, permitindo o acompanhamento da tendência e o stop loss em tempo hábil. A estratégia é projetada de forma simples e eficiente, fácil de entender e implementar.
O núcleo da estratégia é o uso de uma média móvel simples de três períodos diferentes ((1/2/4), para determinar um sinal de compra, julgando se a linha média de curto período ((1 período) e médio período ((2 período) atravessam simultaneamente a linha média de longo período ((4 período)); pelo contrário, quando a linha média de curto período e médio período atravessam simultaneamente a linha média de longo período, um sinal de venda é produzido. Este mecanismo de confirmação múltipla pode efetivamente reduzir os sinais falsos e aumentar a precisão da negociação.
A estratégia capta as tendências do mercado através da crossing de múltiplas médias móveis, a concepção é clara, a implementação é simples e eficaz. Embora haja um certo risco de atraso e falso sinal, é possível construir um sistema de negociação mais completo com a otimização de parâmetros razoáveis e a suplementação de indicadores adicionais. A estratégia é escalável e é adequada para uma maior otimização e aperfeiçoamento do quadro 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")