O recurso está a ser carregado... Carregamento...

Estratégia de negociação de ruptura de barra consecutiva

Autora:ChaoZhang, Data: 2023-09-13 10:53:06
Tags:

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:

  1. Verificar se a barra atual está para cima/abaixo em relação às barras de retrospecção fixa, por exemplo, há 5 barras.

  2. Entre muito tempo depois de várias barras fecharem mais alto do que abrirem.

  3. Entre em curto depois de várias barras fecharem mais baixo do que aberto.

  4. Usar paradas para limitar perdas.

  5. Período de backtest personalizável para a otimização de parâmetros.

Vantagens:

  1. As barras ascendentes/descendentes consecutivas determinam as tendências a curto prazo.

  2. Alertas em tempo real possíveis para monitorização.

  3. Uma simples otimização de backtest permite a negociação ao vivo.

Riscos:

  1. Não há preconceito geral a médio e longo prazo.

  2. As paradas apertadas podem sair prematuramente.

  3. 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)

Mais.