Estratégia de cruzamento de média móvel de preço-alvo duplo com stop loss dinâmico

SMA MA TP SL
Data de criação: 2024-07-29 14:40:23 última modificação: 2024-07-29 14:40:23
cópia: 0 Cliques: 561
1
focar em
1617
Seguidores

Estratégia de cruzamento de média móvel de preço-alvo duplo com stop loss dinâmico

Visão geral

Esta estratégia é um sistema de negociação baseado em cruzamentos de médias móveis, combinando uma abordagem de gerenciamento de risco com um stop loss móvel dinâmico e um ponto de ganho binário. A estratégia julga o momento de entrada com base no cruzamento do preço com a média móvel de 200 períodos, enquanto configura um stop loss e um ganho flexíveis para controlar o risco e maximizar os lucros.

Princípio da estratégia

  1. Sinal de entrada:

    • Entrada múltipla: quando o preço sobe acima da média móvel de 200
    • Entradas de cabeça vazia: quando o preço atravessa a linha média de movimentação de 200 para baixo
  2. Gestão de Riscos:

    • Stop-loss inicial: estabelecido fora dos 500 pontos do preço de entrada
    • Paragem de movimentação dinâmica: quando o preço se move em direção a uma vantagem de 200 pips, a parada se move para o preço de entrada
  3. Objetivos de lucro:

    • Objetivo 1: Eliminar 75% das posições quando o preço atingir os 3000 pips de entrada
    • Segundo alvo: 25% das posições restantes serão liquidadas quando o preço atingir os 4.000 pontos de entrada
    • Se o stop loss de movimentação dinâmica for acionado, o stop loss da posição restante será definido no preço de entrada
  4. Gestão de posições:

    • 100 unidades de um número fixo por transação

Vantagens estratégicas

  1. Seguimento de tendências: Use as médias móveis para capturar as tendências do mercado, ajudando a lucrar com as grandes tendências.

  2. Controle de risco: a combinação de stop-loss inicial e stop-loss móvel dinâmico limita o máximo de perdas e protege os lucros obtidos.

  3. Maximizar o lucro: Ao definir dois preços-alvo, é possível continuar a seguir a tendência geral, garantindo ao mesmo tempo uma parte do lucro.

  4. Automatização: a estratégia é totalmente automatizada, reduzindo a interferência emocional humana.

  5. Flexibilidade: Os parâmetros como o ciclo da média móvel, o ponto de parada e o ganho podem ser ajustados de acordo com as condições do mercado.

Risco estratégico

  1. Risco de mercado de choque: Em mercados de choque horizontal, pode ser frequentemente desencadeado um falso sinal de ruptura, resultando em perdas contínuas.

  2. Risco de deslizamento: em um cenário rápido, o preço de transação real pode ser muito diferente do preço ideal.

  3. Transações excessivas: sinais de cruzamento frequentes podem levar a transações excessivas, aumentando os custos de transação.

  4. Dependência de um único indicador: confiar apenas na média móvel pode ignorar outras informações importantes do mercado.

  5. Risco de posição fixa: o número fixo por transação pode não ser adequado para todos os cenários de mercado.

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

  1. Combinação de vários indicadores: Considere a introdução de outros indicadores técnicos, como RSI, MACD, etc., em combinação com a média móvel, para melhorar a confiabilidade do sinal de entrada.

  2. Gerenciamento de posições dinâmicas: Ajuste o número de transações de forma dinâmica de acordo com a volatilidade do mercado e o saldo da conta para melhor controlar o risco.

  3. Filtragem de cenários de mercado: adicionar indicadores de intensidade de tendência ou indicadores de volatilidade, evitando a entrada em cenários de mercado não adequados para a negociação.

  4. Optimização de parâmetros: use dados históricos para analisar diferentes combinações de parâmetros para encontrar o melhor ciclo de média móvel, ponto de parada e configuração de ganho.

  5. Filtragem de tempo: Considere adicionar um filtro de tempo para evitar negociar em períodos de tempo com maior volatilidade ou menos liquidez.

  6. Adicionar fatores fundamentais: o momento de ajustar a estratégia de entrada e saída, em combinação com a publicação de dados econômicos importantes ou outros eventos fundamentais.

Resumir

A estratégia de cruzamento de linha de equilíbrio de preços de parâmetros móveis dinâmicos é um sistema de negociação quantitativa que combina análise técnica e gerenciamento de risco. Captura as tendências do mercado através de médias móveis e, ao mesmo tempo, usa paradas dinâmicas e objetivos de ganhos múltiplos para equilibrar riscos e ganhos. A principal vantagem da estratégia é o seu alto grau de automação, o controle de risco é flexível e tem potencial para obter ganhos visíveis em mercados de forte tendência.

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

//@version=5
strategy("SOL/USDT Trading Strategy", overlay=true)

// Параметры стратегии
input_quantity = input(2, title="Trade Size (SOL)")
stop_loss_points = input(500, title="Stop Loss Points")
take_profit_points_1 = input(3000, title="First Take Profit Points")
take_profit_points_2 = input(4000, title="Second Take Profit Points")
move_stop_to_entry_points = input(200, title="Move Stop to Entry Points")
ma_period = input(180, title="MA Period")

// Расчет скользящей средней
ma = ta.sma(close, ma_period)

// Условия входа в сделку
long_condition = ta.crossover(close, ma)
short_condition = ta.crossunder(close, ma)

// Текущая цена
var float entry_price = na

// Логика открытия и закрытия сделок
if (long_condition)
    entry_price := close
    strategy.entry("Long", strategy.long, qty=input_quantity)
if (short_condition)
    entry_price := close
    strategy.entry("Short", strategy.short, qty=input_quantity)

// Логика выхода из сделок
if (strategy.position_size > 0)
    if (close >= entry_price + take_profit_points_1 * syminfo.mintick)
        strategy.exit("Partial Take Profit", "Long", qty=0.75 * input_quantity, limit=close)
        strategy.exit("Remaining Take Profit", "Long", qty=0.25 * input_quantity, limit=entry_price + take_profit_points_2 * syminfo.mintick, stop=entry_price)

    if (close >= entry_price + move_stop_to_entry_points * syminfo.mintick)
        strategy.exit("Stop Loss at Entry", "Long", qty=strategy.position_size, stop=entry_price)
    else
        strategy.exit("Take Profit/Stop Loss", "Long", stop=entry_price - stop_loss_points * syminfo.mintick, limit=entry_price + take_profit_points_1 * syminfo.mintick)

if (strategy.position_size < 0)
    if (close <= entry_price - take_profit_points_1 * syminfo.mintick)
        strategy.exit("Partial Take Profit", "Short", qty=0.75 * input_quantity, limit=close)
        strategy.exit("Remaining Take Profit", "Short", qty=0.25 * input_quantity, limit=entry_price - take_profit_points_2 * syminfo.mintick, stop=entry_price)

    if (close <= entry_price - move_stop_to_entry_points * syminfo.mintick)
        strategy.exit("Stop Loss at Entry", "Short", qty=strategy.position_size, stop=entry_price)
    else
        strategy.exit("Take Profit/Stop Loss", "Short", stop=entry_price + stop_loss_points * syminfo.mintick, limit=entry_price - take_profit_points_1 * syminfo.mintick)

// Отображение скользящей средней
plot(ma, title="200 MA", color=color.blue)