
A estratégia de negociação de auto-adaptação de breakout bidirecional é uma estratégia quantitativa de julgamento e operação de negociação com base na relação entre o preço de abertura e o preço de fechamento de uma ação. A estratégia faz uma operação de mais ou menos em condições de parâmetros definidos.
A lógica central da estratégia é baseada na relação entre o preço de abertura e o preço de fechamento. Concretamente, se o preço de fechamento for maior do que o preço de abertura e o valor do limiar definido, um sinal de multi-fazer é gerado; se o preço de abertura for maior do que o preço de fechamento e o valor do limiar definido, um sinal de fechamento é gerado.
De acordo com a implementação do código, a estratégia define primeiro a expressão condicional de posições longas e curtas, e depois entra em jogo se estiver de acordo com a lógica de construção da posição. Em seguida, ela detecta continuamente se a condição de saída foi acionada, ou seja, executa a operação de posição plana quando a condição de saída é atendida. Portanto, a estratégia monitora as mudanças do mercado em tempo real, é adaptável e flexível.
A estratégia de negociação adaptativa de ruptura bidirecional tem as seguintes vantagens:
Embora tenha algumas vantagens, a estratégia também apresenta riscos:
Esses riscos precisam ser cuidadosamente monitorados durante o processo de disco rígido, ajustando os parâmetros ou otimizando os algoritmos.
A estratégia pode ser melhorada principalmente nas seguintes direções:
Otimizando algoritmos e modelos, pode-se aumentar a estabilidade e a lucratividade da estratégia como um todo.
A estratégia de negociação de auto-adaptação de ruptura bidirecional combina os dois mecanismos de discernimento de tendências e de saída de auto-adaptação para controlar eficazmente o risco. Seu princípio simples e parâmetros flexíveis tornam a estratégia fácil de entender e expandir. É uma estratégia quantitativa recomendada e digna de estudo.
/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true, calc_on_order_fills=true) // Repaint?
// strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true) // Correct
val1 = input(123)
val2 = input(234)
from_year=input(2018, minval=2000, maxval=2020)
from_month=input(6, minval=1, maxval=12)
from_day=input(1, minval=1, maxval=31)
to_year=input(2019, minval=2007, maxval=2020)
to_month=input(12, minval=1, maxval=12)
to_day=input(31, minval=1, maxval=31)
long = (close-open) > val1
short = (open-close) > val1
exitLong = (open-close) > val2
exitShort = (close-open) > val2
term = true
strategy.entry("LONG", strategy.long, when=long and term)
strategy.close("LONG", when = exitLong and not short and term)
strategy.entry("SHORT", strategy.short, when=short and term)
strategy.close("SHORT", when = exitShort and not long and term)