O recurso está a ser carregado... Carregamento...

Estratégia de negociação dinâmica de take profit e stop loss baseada em três velas de baixa consecutivas e médias móveis

Autora:ChaoZhang, Data: 2024-05-09 16: 42:35
Tags:SMAEMA

img

Resumo

Esta estratégia de negociação é baseada no padrão de três velas de baixa consecutivas e um sistema de média móvel para determinar os sinais de negociação. Quando o preço está acima da média móvel de 200 dias e há três velas de baixa consecutivas, ele abre uma posição longa. A estratégia gerencia o risco de negociação através de níveis dinâmicos de lucro e stop loss, que são determinados pela posição da média móvel de curto prazo e a mudança percentual no preço. A estratégia só negocia dentro de um intervalo de tempo especificado.

Princípio da estratégia

  1. Calcular o número de velas de baixa consecutivas Quando um número especificado (default é 3) de velas de baixa consecutivas aparece, é considerado um sinal longo.
  2. Use duas médias móveis para ajudar a determinar a tendência e o momento dos negócios, com configurações padrão de médias móveis de 10 dias e 200 dias.
  3. Configure níveis dinâmicos de take profit e stop loss. O nível de take profit é uma certa percentagem (default 1.5%) acima do preço de entrada, e o nível de stop loss é uma certa percentagem (default 1%) abaixo do preço de entrada.
  4. Outra condição para o fechamento de uma posição é quando a posição de preço em relação à média móvel de 10 dias muda.
  5. A estratégia só é executada dentro de um intervalo de tempo especificado, determinado pelas datas de início e fim.

Vantagens da estratégia

  1. Ao combinar padrões de preços e um sistema de média móvel, pode capturar oportunidades de tendência relativamente bem.
  2. Através de níveis dinâmicos de take profit e stop loss, o risco e a recompensa podem ser controlados de forma flexível.
  3. A utilização de alterações na posição da média móvel de curto prazo como sinal para fechar posições pode responder rapidamente a reversões repentinas de preços.
  4. A especificação de um intervalo de tempo de negociação pode evitar a negociação durante períodos especiais, como encerramentos de mercado ou feriados, reduzindo o risco.

Riscos estratégicos

  1. O padrão de velas de baixa consecutivas não pode determinar completamente uma reversão da tendência, e pode haver situações em que o preço continua a subir após velas de baixa consecutivas, fazendo com que a estratégia falhe.
  2. Quando a tendência é muito forte, o nível de take profit pode ser definido muito baixo, levando a uma saída prematura; quando a volatilidade aumenta, o nível de stop loss pode ser muito próximo, levando a paradas frequentes.
  3. A avaliação da posição da média móvel de curto prazo pode atrasar-se, especialmente quando os preços mudam rapidamente, e a melhor oportunidade de fechamento pode ter sido perdida.
  4. A estratégia carece de medidas de gestão de posições e de controlo de riscos. O ponto de entrada e a dimensão das posições são fixos, o que pode conduzir a um risco excessivo numa única transacção.

Orientações para a otimização da estratégia

  1. Os indicadores técnicos podem ser introduzidos para ajudar no julgamento, como o MACD e o RSI, para melhorar a fiabilidade dos sinais.
  2. Otimizar o método de cálculo dos níveis de take profit e stop loss, como usar o ATR ou a volatilidade para ajustar dinamicamente, ou combinar níveis de suporte e resistência para definir.
  3. Para os sinais de encerramento, considere utilizar mais condições de confirmação, tais como alterações no volume de negociação, rácios de posições longas/curta, etc., para evitar sinais falsos.
  4. Introduzir medidas de gestão de posições e controlo de riscos, tais como o ajustamento do tamanho das posições de cada transacção em função do saldo da conta e do nível de risco, e fixar limites gerais de risco.
  5. Para as definições de parâmetros, tais como o número de velas de baixa consecutivas e os períodos de média móvel, podem ser realizados testes de otimização para encontrar a melhor combinação de parâmetros.

Resumo

Esta estratégia de negociação determina as oportunidades de negociação de tendência através do padrão de velas de baixa consecutivas e um sistema de média móvel, enquanto controla o risco através de níveis dinâmicos de lucro e stop loss e mudanças na posição da média móvel de curto prazo. A estratégia tem uma lógica clara e é adequada para os traders que visam capturar tendências de médio a longo prazo. No entanto, a estratégia também tem algumas limitações, como a confiabilidade dos sinais, a definição de níveis de lucro e stop loss e a gestão de posição, que ainda têm espaço para otimização. Na aplicação prática, é necessário fazer ajustes e melhorias apropriados à estratégia de acordo com as características do mercado e as preferências pessoais de risco e controlar estritamente os riscos.


/*backtest
start: 2023-05-09 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading", overlay=true)

// Definir el número de cierres de velas decrecientes consecutivas
var int cierres_decrecientes_consecutivos = 0
num_cierres_decrecientes = input.int(3, title="Número de cierres decrecientes", minval=1)

// Definir el porcentaje de cambio para cerrar la operación
porcentaje_cierre_arriba = input.float(1.5, title="Porcentaje de cierre arriba (%)", step=0.1)
porcentaje_cierre_abajo = input.float(1.0, title="Porcentaje de cierre abajo (%)", step=0.1)

// Definir las medias móviles para el cierre de la operación
periodos_media_movil_cierre = input.int(10, title="Períodos de la media móvil para cierre")
periodos_media_movil_200 = input.int(200, title="Períodos de la media móvil de 200")

// Definir el rango de fechas para la simulación
start_date = timestamp(2024, 1, 1, 0, 0)
end_date = timestamp(2024, 12, 31, 23, 59)

// Calcular la media móvil para el cierre de la operación
sma_cierre = ta.sma(close, periodos_media_movil_cierre)
sma_200 = ta.sma(close, periodos_media_movil_200)

// Calcular si el precio está por encima o por debajo de la media móvil para el cierre de la operación
precio_por_encima_sma_cierre = close > sma_cierre
precio_por_debajo_sma_cierre = close < sma_cierre

// Calcular si se han producido num_cierres_decrecientes consecutivos
if (ta.change(close) < 0)
    cierres_decrecientes_consecutivos := cierres_decrecientes_consecutivos + 1
else
    cierres_decrecientes_consecutivos := 0

es_cierres_consecutivos = cierres_decrecientes_consecutivos >= num_cierres_decrecientes

// Definir condiciones de entrada y salida de la estrategia dentro del rango de fechas y con el precio por encima de la SMA de 200
condicion_entrada = es_cierres_consecutivos and close > sma_200
condicion_cierre_sma = (precio_por_encima_sma_cierre[1] and not precio_por_encima_sma_cierre) or (not precio_por_encima_sma_cierre[1] and precio_por_encima_sma_cierre)

// Calcular precios de salida basados en porcentajes
precio_salida_arriba = strategy.position_avg_price * (1 + porcentaje_cierre_arriba / 100)
precio_salida_abajo = strategy.position_avg_price * (1 - porcentaje_cierre_abajo / 100)

// Ejecutar operación en largo dentro del rango de fechas y con el precio por encima de la SMA de 200
if (condicion_entrada and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long)

// Cerrar operación en largo si se cumple la condición de salida por cambio en el cruce de la media móvil dentro del rango de fechas
if (strategy.position_size > 0 and condicion_cierre_sma)
    strategy.close("Long")

// Cerrar operación en largo si el precio alcanza el porcentaje de cierre arriba o abajo dentro del rango de fechas
strategy.exit("Stop Loss", "Long", limit=precio_salida_arriba, stop=precio_salida_abajo)

// Plot para visualizar la media móvil para el cierre de la operación
plot(sma_cierre, color=color.red)

// Plot para visualizar la SMA de 200
plot(sma_200, color=color.blue)


Relacionados

Mais.