Estratégia de N linhas K consecutivas fechando negativo


Data de criação: 2023-12-26 10:29:12 última modificação: 2023-12-26 10:29:12
cópia: 1 Cliques: 562
1
focar em
1623
Seguidores

Estratégia de N linhas K consecutivas fechando negativo

Visão geral

Esta estratégia baseia-se em indicadores técnicos para avaliar a tendência do mercado, e é uma estratégia de negociação de linha curta quando ocorre um fechamento negativo de uma linha K de raiz N consecutiva.

Princípio da estratégia

Esta estratégia usa a variável nCounter para calcular o número de tomadas consecutivas. Quando o preço de fechamento é menor que o preço de abertura, o valor de nCounter é aumentado; quando o preço de fechamento é maior que o preço de abertura, o nCounter é redefinido para 0.

Quando o sinal é exibido, se não houver uma posição atual, a posição é fechada; se já houver uma posição fechada, a posição continua. Após a abertura da posição, use o posprice para registrar o preço de abertura. Usando o preço de abertura como base, configure as condições de parada e parada: se o preço atingir o ponto de parada ((preço de abertura da posição + parâmetro de entrada takeprofit), a posição é neutralizada e reposta; se o preço atingir o ponto de parada ((preço de abertura da posição - parâmetro de entrada stop), a posição é neutralizada e reposta.

Análise de vantagens

As principais vantagens desta estratégia são:

  1. As regras são simples, claras e fáceis de entender.
  2. Parâmetros personalizáveis e flexibilidade para diferentes condições de mercado.
  3. O mecanismo de suspensão e parada de danos permite controlar o risco de forma eficaz.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. A conclusão de uma linha K de raiz N contínua não pode determinar completamente a reversão de tendência, podendo ocorrer falhas. O valor de N pode ser ajustado adequadamente ou combinado com a verificação de outros indicadores.
  2. A configuração inadequada de stop-loss pode causar saída prematura ou expansão de perdas. Deverá ser definido um parâmetro razoável de acordo com a volatilidade do mercado.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Aumentar a filtragem de tendências, evitando que os ajustes de curto prazo que ocorrem em mercados imprecisos sejam mal interpretados. Por exemplo, indicadores como a linha média combinada julgam a tendência geral.

  2. O aumento da quantidade de comprovação, por exemplo, aumenta a quantidade de transações para melhor confirmar a reversão da tendência.

  3. Otimizar as estratégias de stop loss, tais como o uso de stop loss de derivação, stop loss proporcional, etc., para tornar o stop loss mais inteligente.

  4. Otimizando os parâmetros usando métodos de aprendizagem de máquina, os valores de nLength podem ser ajustados de acordo com as mudanças de mercado em tempo real.

Resumir

Esta estratégia baseia-se na relação de tamanho entre o preço de fechamento e o preço de abertura para julgar a tendência de curto prazo, gerando um sinal de negociação quando detecta um fechamento contínuo da linha N-root K. A estratégia é simples e intuitiva, os parâmetros são ajustáveis, com um mecanismo de stop-loss, que pode filtrar parte do ruído das negociações. Mas também existe um certo risco de falso sinal, e recomenda-se a otimização em combinação com outros indicadores de onda de queda.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive lower 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 Down", shorttitle="NBD 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))
C2 = 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(C2== 1, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
plot(C2, title='NBD', color=color.red)