Estratégia de alta fuga contínua


Data de criação: 2023-12-08 10:50:54 última modificação: 2023-12-08 10:50:54
cópia: 2 Cliques: 582
1
focar em
1621
Seguidores

Estratégia de alta fuga contínua

Visão geral

A lógica central desta estratégia é detectar se o preço de fechamento de uma linha K de raiz N contínua está aumentando continuamente, e, se for, fazer mais; se não estiver satisfeito, feche a posição. Assim, é possível capturar a tendência de aumento do preço da ação e obter lucro.

Princípio da estratégia

O indicador central da estratégia é o nCounter, que determina se o preço subiu ou não comparando o preço de fechamento e o preço de abertura da linha K atual.

Afinal, se o “close”[1]>=open[1], então nCounter mais 1, para cima; se close[1]

O nCounter é então comparado com o parâmetro nLength, e quando nCounter> = nLength, o sinal de saída é C1 = 1; caso contrário, C1 = 0 ≠ nLength, onde nLength é o número de linhas K de ascensão contínua que precisamos definir para produzir o sinal ≠

Após receber o sinal de C1 = 1, se não houver nenhuma posição atual, execute mais; se já houver mais de um titular, continue a manter a posição.

Além disso, a estratégia também estabelece condições de stop loss e stop-loss. Se o preço estiver abaixo de uma certa proporção do preço de entrada, a parada é parada; se for acima de uma certa proporção do preço de entrada, a parada é feita.

Análise de vantagens

Esta é uma estratégia típica de acompanhamento de tendências e tem as seguintes vantagens:

  1. A oportunidade de aproveitar a tendência ascendente dos preços das ações é adequada para uma estratégia multifacetada.
  2. N raízes de subida contínua como sinal de entrada, pode filtrar efetivamente brechas falsas, reduzindo transações desnecessárias
  3. Estabelecer condições de stop loss e stop-loss para limitar o risco de queda e bloquear o lucro
  4. A lógica da estratégia é simples, clara, fácil de entender e modificar.
  5. A frequência de transação pode ser controlada ajustando o parâmetro nLength

Análise de Riscos

A estratégia também apresenta alguns riscos, que se concentram nos seguintes aspectos:

  1. Se a tendência ascendente se inverter e não conseguir parar a perda a tempo, poderá haver grandes perdas
  2. O parâmetro nLength é muito grande e pode perder uma boa oportunidade de entrada
  3. Posições de mais de uma posição são vulneráveis a quedas em grandes mercados sem considerar o ambiente de mercado
  4. Não há parâmetros ajustados de acordo com as características de diferentes ações, o uso de parâmetros uniformes pode não ser aplicável a algumas ações

Para reduzir esses riscos, podemos definir condições de stop loss mais rigorosas, otimizar o parâmetro nLength, adicionar regras de julgamento de grande porte ou testar parâmetros separadamente para diferentes ações. Claro, qualquer estratégia é difícil de evitar perdas completamente e precisa ser correspondida às preferências de risco do comerciante.

Direção de otimização

Considerando os riscos acima, podemos continuar a otimizar a estratégia em alguns aspectos:

  1. Adição de stop-loss móvel ou tracking stop-loss. Isso pode ajustar a posição de stop-loss em tempo real de acordo com as mudanças de preço, reduzindo o risco de perda
  2. Optimizar o parâmetro nLength. Pode ser testado em diferentes tipos de ações para encontrar o valor mais adequado para cada tipo de ação
  3. Aumentar o julgamento do cenário do mercado, por exemplo, suspender a negociação quando o mercado cair, evitando perdas adicionais causadas por operações de contra-mercado
  4. Aumentar o volume de transações como condição auxiliar. Exigir maior volume de transações durante o processo de adição, para garantir a eficácia da ruptura
  5. Configuração de controle de retração. Como o máximo permitido de perda de proporção, o máximo de perdas consecutivas, etc, pode parar automaticamente o controle de perda total

Resumir

A estratégia capta a tendência de ascensão através da detecção de N raízes de ascensão contínua e K linhas de ascensão, permitindo um acompanhamento eficaz da tendência. A vantagem é a simplicidade lógica, a flexibilidade de ajuste de parâmetros e a possibilidade de filtrar falsas rupturas. Mas também há certos riscos, e é necessário adicionar módulos como stop loss, otimização de parâmetros e julgamento ambiental para melhorar a estratégia de forma mais abrangente e estável.

Código-fonte da estratégia
/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="N Bars Up", shorttitle="NBU Backtest", overlay = false) 
nLength = input(4, minval=1)
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
nCounter = 0
nCounter := iff(close[1] >= open[1], nz(nCounter[1],0)+1,
             iff(close[1] < open[1], 0, nCounter))
C1 = iff(nCounter >= nLength, 1, 0)
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, 1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == 1)
    strategy.entry("Long", strategy.long)
posprice := iff(low <= posprice - input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
plot(C1, title='NBU', color=color.green)