Estratégia de ruptura do impulso

Autora:ChaoZhang, Data: 2023-10-23 15:17:45
Tags:

img

Resumo

Esta é uma estratégia de negociação de ruptura de momento baseada nas linhas K e D do indicador Smoothed Stochastic Oscillator.

Estratégia lógica

A estratégia consiste nas seguintes partes:

  1. Configurações do indicador

    Utilizando RSI de 14 períodos para gerar linhas K e D do indicador Smoothed Stochastic Oscillator, com SMA de 3 períodos aplicada nas linhas K e D.

  2. Geração de sinal

    Quando a linha K cruza o nível 20, um sinal de compra é gerado para entrada longa.

  3. Parar de Perder

    O preço de stop loss é usado com uma distância de stop de trail fixa.

  4. Dimensão da posição

    O número de pontos entre o preço de stop loss e o fechamento atual é calculado usando o mínimo mínimo dos últimos 20 períodos. Em seguida, o tamanho da posição é calculado com base no valor em dólares em risco por negociação e valor por ponto.

Assim, a estratégia identifica a ruptura do momento em caso de reversão da sobrevenda como sinal de entrada, e adota um dimensionamento preciso da posição e um stop loss para a reversão do momento da negociação, com um controlo de risco eficaz.

Vantagens

A estratégia apresenta as seguintes vantagens:

  1. Signo de entrada claro na saída da zona de sobrecompra com forte impulso.

  2. Movimentos flexíveis de trailing stop com oscilações do mercado.

  3. O dimensionamento preciso das posições controla o risco de negociação única.

  4. Stop loss preciso baseado em mínimos históricos.

  5. Lógica de dimensionamento de posição simples e clara.

  6. Uma lógica estratégica simples e clara, fácil de entender.

  7. Estrutura de código limpa, fácil de ler e modificar.

Riscos

A estratégia apresenta alguns riscos:

  1. Fluctuações de preços subjacentes, desencadeamento de stop loss frequentes durante o mercado volátil.

  2. O potencial é maior do que a negociação.

  3. Uma propriedade direcional, incapaz de lucrar com o movimento inverso dos preços.

  4. Filtragem ineficaz das condições de mercado.

As seguintes otimizações podem ajudar a gerir os riscos:

  1. Otimizar os parâmetros para evitar o excesso de negociação.

  2. Utilize entradas escalonadas para reduzir o risco de uma direção.

  3. Adicionar análise da tendência de um período de tempo mais longo para evitar a negociação em condições desfavoráveis de mercado.

  4. Otimizar a estratégia de stop loss para evitar sensibilidade excessiva.

Optimização

Os seguintes aspectos da estratégia podem ser otimizados:

  1. Otimizar o stop loss para usar stop de trail dinâmico, stop loss em etapas, média móvel, etc. para torná-lo mais suave.

  2. Adicionar análise da tendência de um período de tempo maior para evitar a negociação em mercados laterais.

  3. Considere duas posições direcionais para lucrar com retrações.

  4. Usar o aprendizado de máquina para otimização de parâmetros automáticos para encontrar parâmetros ideais para mudanças nas condições do mercado.

  5. Otimizar o dimensionamento das posições através da utilização de percentagem fixa, capital fixo, etc., para melhorar a utilização do capital.

  6. Adicione mais filtros com indicadores como volume, Bandas de Bollinger para melhorar a qualidade dos sinais comerciais.

Resumo

Em geral, esta é uma estratégia de ruptura de momento simples e clara. Adota uma abordagem de stop loss prudente para controlar efetivamente o risco de uma única negociação. Mas ainda são necessárias otimizações para adaptar melhor a estratégia às condições específicas do mercado, filtrar sinais ineficazes e alcançar um melhor equilíbrio entre retorno e risco. Aumentar a análise de tendências de prazos maiores e o dimensionamento da posição são direções de otimização importantes para essa estratégia. Em resumo, como uma estratégia básica de ruptura de momento, ainda é prática e vale a pena pesquisar mais para adaptá-la às condições de mercado de instrumentos comerciais específicos.


//@version=2
//descripcion: 
//entrada en saturacion oscilador estocastico
//salida por trailing
strategy("MomentumBreak#1", overlay=true,calc_on_every_tick=true,
     default_qty_type=strategy.fixed,currency="USD")
//entradas y variables de indicadores
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
overbought=input(80)
oversold=input(20)
//entradas de stop , trail, profit
stop=input(1500)
stop_dentro_de_los_ultimos_lows=input(20)
trail_points=input(500)
trail_offset=input(100)
profit=input(1000)
riesgo_en_dolares=input(15)

//condicion de compra: k>80
buycondition=crossover(k,oversold)
//entrada a la posicion
posicionabierta=0
if year>2015
    if buycondition 
        stoplow=lowest(stop_dentro_de_los_ultimos_lows)   
        riesgo_en_pips = (close - stoplow)   
        valor_del_pip = (riesgo_en_dolares / riesgo_en_pips)
        tamanio_de_la_posicion= ( valor_del_pip)              //la posicion la esta calculando bien
        strategy.entry("buy",strategy.long)
        strategy.exit("salida","buy",trail_points=trail_points,trail_offset=trail_offset,stop=stoplow,comment=tostring(stoplow))

//////////////////////////////////condicion de stop por drodown 10% equity
//strategy.risk.max_drawdown(15,strategy.cash)
// condicion de stop por perdida mayor a $15 en op abierta
//strategy.risk.max_intraday_loss(15,strategy.cash)
//formas de tomar stop:
// cuando llega a una media movil: strategy.close o strategyentry o strategy.exit o strategy.order
// determinado por un numero de pips strategy.exit
// determinado por el calculo de la posicion:
//tomar el minimo minimo de los ultimos 20 periodos, guardarlo como nivel de stop
//calcular la posicion en base a ese stop:
//prcio de entrada - precio de stop = pips_en-reisgo
//riesgo_e_dolares / pips_en_riesgo = pip_value
//position_size=10000 * pip_value


Mais.