Esta estratégia opera com rupturas de barra ascendentes ou descendentes consecutivas, julgando se a ação recente dos preços apresenta persistência numa direção.
Estratégia lógica:
Verificar se a barra atual está para cima/abaixo em relação às barras de retrospecção fixa, por exemplo, há 5 barras.
Entre muito tempo depois de várias barras fecharem mais alto do que abrirem.
Entre em curto depois de várias barras fecharem mais baixo do que aberto.
Usar paradas para limitar perdas.
Período de backtest personalizável para a otimização de parâmetros.
Vantagens:
As barras ascendentes/descendentes consecutivas determinam as tendências a curto prazo.
Alertas em tempo real possíveis para monitorização.
Uma simples otimização de backtest permite a negociação ao vivo.
Riscos:
Não há preconceito geral a médio e longo prazo.
As paradas apertadas podem sair prematuramente.
Cuidado com reversões, prudente para tomar lucros ativamente.
Em resumo, esta estratégia tática de curto prazo tem potencial baseado em backtests, mas requer cautela em reversões e corte de perdas disciplinado quando negociando ao vivo.
/*backtest start: 2023-08-13 00:00:00 end: 2023-09-12 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy("BarUpDn Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) BarsUp = input(1) BarsDown = input(1) // Strategy Backesting startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time) finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time) time_cond = true // Messages for buy and sell message_buy = input("{{strategy.order.alert_message}}", title="Buy message") message_sell = input("{{strategy.order.alert_message}}", title="Sell message") if (close > open and open > close[BarsUp]) and time_cond strategy.entry("BarUp", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy) if (close < open and open < close[BarsDown]) and time_cond strategy.entry("BarDn", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)