Estratégia de cruzamento de destruição de média móvel dupla e rompimento do nível de pressão


Data de criação: 2024-01-31 14:34:16 última modificação: 2024-01-31 14:34:16
cópia: 1 Cliques: 613
1
focar em
1617
Seguidores

Estratégia de cruzamento de destruição de média móvel dupla e rompimento do nível de pressão

Visão geral

Esta estratégia utiliza uma combinação de tecnologia de cruzamento de duas médias móveis e tecnologia de ruptura de pressão, configurando sinais de compra e venda, para realizar negociações automáticas. Quando a média curta-prazo quebra a média intermédia de baixo para cima e o preço da ação quebra o ponto de pressão, gera um sinal de compra. Quando o preço da ação sobe 15%, configura um stop loss e, quando a queda é de 3%, configura um stop loss.

Princípio da estratégia

A estratégia é baseada nos seguintes indicadores técnicos e critérios para gerar sinais de negociação:

  1. Técnica de cruzamento de duas médias: calcula a média móvel simples de 20 e 44 dias, e quando a média de 20 dias cruza a média de 44 dias, o mercado é considerado em alta tendência, gerando um sinal de compra.

  2. Técnica de ruptura do nível de pressão: o gráfico mostra que o preço das ações chegou várias vezes, mas não conseguiu quebrar a posição, chamada de ponto de pressão. Quando o preço da ação conseguiu quebrar o nível de pressão, o preço entra em uma nova fase de alta.

  3. O indicador de sobrevenda e sobrecompra RSI: um indicador técnico de sobrevenda ou sobrevenda. Esta estratégia define um sinal de sobrevenda quando o indicador de RSI de 14 dias é maior que 50.

  4. Análise de volume de transações: O volume de transações ultrapassou a média de transações dos últimos 10 dias, o que indica um mercado mais forte de compra ou venda.

  5. Sinais de compra: um sinal de compra é gerado quando a linha média curta atravessa a linha média intermédia e o preço da ação quebra o nível de pressão, o mercado está em estado de supercompra e o volume de transação é maior do que o volume de transação médio dos últimos 10 dias.

  6. Sinais de venda: estabeleça um padrão de parada de parada, se o preço da ação aumentar 15% em relação ao preço de compra, pare; se cair 3%, pare.

A estratégia utiliza um conjunto de indicadores técnicos para avaliar a estrutura do mercado e gerar automaticamente um sinal de negociação quando uma tendência é indicada.

Vantagens estratégicas

  1. A utilização de técnicas de medição de linha para avaliar a estrutura do mercado e captar as tendências do mercado de forma estável;

  2. Combinação de análise de volume de transação para evitar a abertura de posições em brechas falsas que não correspondem ao volume de transação;

  3. A instalação de um mecanismo de suspensão e retirada de perdas permite um bom controle do risco-benefício de uma única transação, evitando a expansão dos prejuízos;

  4. Em geral, a estratégia é uma estratégia de quantificação que tem um bom desempenho, com um bom entendimento da estrutura do mercado, regras de negociação rigorosas e controle de risco.

Risco estratégico

  1. Os sistemas de negociação em linha dupla são mais sensíveis à configuração de parâmetros, e os parâmetros precisam ser ajustados em diferentes períodos de tempo;

  2. Uma estratégia de simples acompanhamento de tendências, incapaz de reagir a eventos inesperados, como o inevitável stop loss diante de notícias de grandes lucros ou perdas;

  3. Embora o stop loss tenha sido configurado, é inevitável que o stop loss seja maior quando há mais transações, existindo o risco de níveis de lucro desigual.

  4. A longo prazo, os indicadores tecnológicos tendem a emitir sinais antes do melhor momento para a reversão do mercado.

Direção de otimização da estratégia

  1. Pode-se usar o método de otimização de parâmetros para encontrar a melhor combinação de parâmetros de dupla linha média para otimizar o nível de stop loss;

  2. Adicionar outros indicadores de julgamento, como o comprimento de liquidação da faixa de Brin e o MACD, além de compras excessivas e vendas excessivas, para melhorar o momento em que os sinais são emitidos;

  3. Aumentar o julgamento baseado em fatos ou notícias, evitando o dano causado por notícias negativas significativas;

  4. Optimizar as estratégias de gestão de fundos, tais como a quantidade fixa de transações, a taxa fixa de transações de capital, etc., para controlar o risco individual.

Resumir

Esta estratégia de funcionamento global é suave, o julgamento é preciso e as regras de negociação são rigorosas, o risco é controlado, e é uma das estratégias de quantificação de melhor efeito. Mas a estratégia de negociação técnica sobre a estrutura do mercado de julgamento ainda tem limitações, o espaço de otimização está em adicionar outros critérios de avaliação de indicadores e uma análise integrada do aspecto fundamental da mensagem, além disso, otimizar ainda mais a configuração de stop loss e a estratégia de gestão de fundos também é o foco.

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

//@version=5
strategy("Advanced Strategy with Conditional Stop Loss", overlay=true)

// Parameters
ma_length_20 = 20
ma_length_44 = 44
ma_length_100 = 100
rsi_length = 14
volume_length = 10
profit_target = 1.15 // 15% above the buy price
stop_loss_target = 0.97 // 3% below the buy price
wait_candles = 10 // Number of candles to wait after selling, unless MA cross condition met

// Indicators
moving_average_20 = ta.sma(close, ma_length_20)
moving_average_44 = ta.sma(close, ma_length_44)
moving_average_100 = ta.sma(close, ma_length_100)
rsi = ta.rsi(close, rsi_length)
volumeAvg = ta.sma(volume, volume_length)

// Variables to manage the wait period after a sell
var int last_sell_candle = 0

// Update last sell candle
if (strategy.position_size[1] > 0 and strategy.position_size == 0)
    last_sell_candle := bar_index

// Trend identification
uptrend = close > moving_average_20
above_ma20_by_1_percent = close > moving_average_20 * 1.01
ma_cross = ta.crossover(moving_average_20, moving_average_44) or ta.crossunder(moving_average_20, moving_average_44)
close_near_high = (close >= high * 0.993) and (close <= high)

// Buy condition (only in uptrend, above 1% from 20-day MA, and respecting new filter)
can_buy_after_cross = ma_cross and close > high[1]
can_buy_after_wait = (bar_index - last_sell_candle) > wait_candles
buy_condition = (can_buy_after_cross or can_buy_after_wait) and uptrend and above_ma20_by_1_percent and close > moving_average_44 and close > moving_average_100 and close > high[1] and rsi > 50 and volume > volumeAvg and not close_near_high

// Entry
if (buy_condition and strategy.position_size == 0)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.position_size > 0)
    // Profit target
    profit_level = strategy.position_avg_price * profit_target
    strategy.exit("Take Profit", "Buy", limit=profit_level)

    // Dynamic Stop Loss - Check on every bar if the price has dropped 3% below the buy price
    stop_loss_level = strategy.position_avg_price * stop_loss_target
    if (low < stop_loss_level)
        strategy.close("Buy", comment="Stop Loss")

// Plotting
plot(moving_average_20, color=color.green, title="20-Day Moving Average")
plot(moving_average_44, color=color.blue, title="44-Day Moving Average")
plot(moving_average_100, color=color.red, title="100-Day Moving Average")