
A estratégia é um sistema de negociação de acompanhamento de tendências baseado no cruzamento de médias móveis rápidas e lentas do índice ((EMA)). Ela gera um sinal de compra e venda mais confiável ao confirmar a relação de posição do preço com a linha de dupla média. A estratégia possui um recurso de configuração de período de retorno para avaliar o desempenho da estratégia em um determinado período de tempo.
A estratégia usa EMAs de 10 e 20 ciclos como indicadores centrais. Quando EMAs rápidas atravessam EMAs lentas para cima, e o preço de fechamento está acima dos dois equilíbrios, um sinal múltiplo é acionado; Quando EMAs rápidas atravessam EMAs lentas para baixo, e o preço de fechamento está abaixo dos dois equilíbrios, um sinal de fechamento é acionado.
Trata-se de uma estratégia de acompanhamento de tendências com uma estrutura clara e rigorosa. Usando um mecanismo de confirmação de preços em combinação com uma cruz de dupla linha uniforme, o equilíbrio entre a atualidade e a confiabilidade do sinal é efetivo. A estratégia possui uma boa escalabilidade e pode ser melhorada ainda mais com otimização.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-10-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BFXGold
//@version=5
strategy("BFX Buy and Sell", overlay=true)
// Inputs
ema_fast_length = input.int(10, title="Fast EMA Length")
ema_slow_length = input.int(20, title="Slow EMA Length")
// Calculate EMAs
ema_fast = ta.ema(close, ema_fast_length)
ema_slow = ta.ema(close, ema_slow_length)
// Confirmation candles
confirmation_above = close > ema_fast and close > ema_slow
confirmation_below = close < ema_fast and close < ema_slow
// Crossovers with confirmation
long_condition = ta.crossover(ema_fast, ema_slow) and confirmation_above
short_condition = ta.crossunder(ema_fast, ema_slow) and confirmation_below
// Plot signals
if (long_condition )
label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.new(color.green, 0), textcolor=color.white)
if (short_condition)
label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.new(color.red, 0), textcolor=color.white)
// Strategy execution for backtesting
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Plot EMAs
plot(ema_fast, title="Fast EMA (10)", color=color.blue, linewidth=1)
plot(ema_slow, title="Slow EMA (20)", color=color.orange, linewidth=1)