Estratégia de N dias consecutivos para cima/para baixo
Este artigo apresentará em detalhe a lógica de negociação, os prós, os riscos potenciais e o resumo da estratégia de N dias consecutivos para cima/para baixo.
Esta é uma estratégia de longo prazo que determina entradas e saídas com base em dias ascendentes e dias descendentes consecutivos definidos pelo usuário.
Estratégia lógica
Em primeiro lugar, precisamos de definir dois parâmetros:
BarsUp consecutivo: dias de alta consecutivos consecutivoBarsDown: dias consecutivos de inactividade
Depois registamos duas variáveis:
Ativos líquidos: ativos líquidos líquidos líquidos dns: dias de inatividade consecutivos em curso
Todos os dias comparamos o preço de fechamento com o fechamento anterior para determinar se é um dia de alta ou baixa.
Quando os ups atingem consecutiveBarsUp, vamos longos, quando o DNS atinge consecutiveBarsDown, saímos das posições.
É a lógica simples para uma estratégia ascendente/descendente consecutiva. Nós só vamos muito tempo depois de dias ascendentes consecutivos do fundo. E sair depois de dias descendentes consecutivos. Isso evita a negociação frequente em mercados limitados ao intervalo.
Vantagens
Lógica simples, fácil de compreender e implementar
Filtragem das flutuações de curto prazo pela definição dos dias consecutivos
Apenas longo, menos negociações, menores custos de transação e impacto de deslizamento
Fácil de definir stop loss, controlar eficazmente a perda de uma única negociação
Riscos potenciais
Incapacidade de fazer curto-circuito, perdendo oportunidades de fazer curto-circuito
Precisa de dias consecutivos para entrar, possivelmente faltando o melhor ponto de entrada
Tempo de atraso, não captura de voltas em tempo real
Perda significativa de uma única operação sem stop loss
Resumo
A estratégia de dias ascendentes/descendentes consecutivos é amplamente popular por sua simplicidade e baixa freqüência de negociação. Com ajuste adequado dos parâmetros, ela pode filtrar os whipsaws de forma eficaz. Mas também tem limitações como atraso de tempo e incapacidade de curto. Os investidores precisam considerar cuidadosamente antes de adotar.
/*backtest start: 2023-08-12 00:00:00 end: 2023-09-11 00:00:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Strategy // strategy("Up/Down Long Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) // There will be no short entries, only exits from long. // strategy.risk.allow_entry_in(strategy.direction.long) consecutiveBarsUp = input(1) consecutiveBarsDown = input(1) price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 // 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") // Strategy Execution if (ups >= consecutiveBarsUp) and time_cond strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy) if (dns >= consecutiveBarsDown) and time_cond strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)