Estratégia de negociação longa com base em intervalo de rompimento


Data de criação: 2023-09-19 17:19:55 última modificação: 2023-09-19 17:19:55
cópia: 2 Cliques: 623
1
focar em
1617
Seguidores

Visão geral

Esta estratégia é uma estratégia para gerar sinais de negociação com base em que o preço quebra o intervalo de retorno fixo. Quando o preço quebra o preço mais alto durante o período de retorno, execute uma operação mais; Quando o preço cai abaixo do preço mais alto, execute uma operação mais baixa.

Princípio da estratégia

  1. Configure um parâmetro de retrospectiva, por exemplo, 4 dias.

  2. Os preços mais altos dos últimos 4 dias foram calculados.

  3. Quando o preço mais alto de hoje ultrapassa o preço mais alto dos últimos 4 dias, faça mais.

  4. Quando o preço não consegue ultrapassar o máximo dos últimos 4 dias, a posição é fechada.

  5. A mudança de direção pode ser feita através do reverso.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A brecha é fácil, o sinal é claro.

  2. Fixação de parâmetros de alcance de ruptura, evitando otimização de parâmetros complexos e otimização excessiva.

  3. Pode ser facilmente alternado em várias direções, adaptando-se a vários ambientes de mercado.

  4. A revisão da faixa fixa filtrou parte do ruído, permitindo um acompanhamento contínuo da tendência.

  5. A estratégia é simples e eficiente, sem necessidade de calcular indicadores complexos.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. A ruptura é fixa e não se adapta às mudanças do mercado.

  2. Não foi levado em consideração o stop loss, existindo grandes perdas acima do risco.

  3. Os parâmetros fixos são vulneráveis à probabilidade de falhas de mercado.

  4. O ruído pode ser muito frequente e aumentar os custos de transação.

  5. Não há otimização de parâmetros, e é difícil obter o melhor resultado usando os parâmetros padrão.

Direção de otimização

Otimizar o seu conteúdo pode ser feito de várias maneiras:

  1. Otimizar os parâmetros-chave para encontrar a melhor combinação de parâmetros.

  2. Adicionar o cálculo do alcance de ruptura dinâmica baseado em ATR e outros.

  3. Considere a inclusão de stop loss móvel ou stop loss em proporção fixa.

  4. Combinando com indicadores de tendência, evitar o excesso de negociação em mercados turbulentos.

  5. Teste a robustez dos parâmetros em mais variedades de transação.

  6. Adicionar algoritmos de aprendizagem de máquina para otimização automática de parâmetros.

Resumir

A estratégia como um todo é uma estratégia de negociação muito simples baseada em breakouts de preços. A melhoria pode ser uma estratégia de quantificação fácil de implementar e prática, por meio da otimização do intervalo de parâmetros, da adição de mecanismos de stop loss e do discernimento de tendências.

Código-fonte da estratégia
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/11/2016
// Breakout Range Long Strategy
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Breakout Range Long Strategy Backtest", overlay = true)
look_bak = input(4, minval=1, title="Look Bak")
reverse = input(false, title="Trade reverse")
xHighest = highest(high, look_bak)
pos =	iff(high > xHighest[1], 1, 0)
if (pos == 1 and strategy.position_size == 0 and reverse == false) 
    strategy.entry("Long", strategy.long)
if (pos == 1 and strategy.position_size == 0 and reverse == true) 
    strategy.entry("Short", strategy.short)
if (pos == 0 and strategy.position_size > 0)
    strategy.close("Long")
if (pos == 0 and strategy.position_size < 0)
    strategy.close("Short")
barcolor(strategy.position_size > 0 ? green: strategy.position_size < 0 ? red: blue)   
plotshape(pos, style=shape.triangleup, location = location.belowbar, color = green)