Estratégia quantitativa de negociação bidirecional baseada no padrão de absorção de velas K-line

OHLC VOL ATR
Data de criação: 2024-12-12 11:27:27 última modificação: 2024-12-12 11:27:27
cópia: 0 Cliques: 364
1
focar em
1617
Seguidores

Estratégia quantitativa de negociação bidirecional baseada no padrão de absorção de velas K-line

Visão geral

Esta estratégia é um sistema de negociação bidirecional baseado em K-line graph absorção de formas. A estratégia identifica formas de absorção no mercado através da análise da direção, amplitude e volume de transação das linhas K adjacentes, e, se for o caso, executa a correspondente direção de negociação.

Princípio da estratégia

A lógica central da estratégia baseia-se em três condições-chave:

  1. Direção oposta das linhas K adjacentes: julgar a direção da linha K comparando o preço de abertura e o preço de fechamento, exigindo que duas linhas K adjacentes apresentem um movimento oposto.
  2. Análise de relações de amplitude: Calcule e compare a amplitude de preços de duas linhas K (o valor absoluto da diferença entre o preço de fechamento e o preço de abertura), exigindo que a última linha K tenha maior amplitude do que a anterior.
  3. Características de volume de transação: requer que o volume de transação da primeira linha K seja maior do que o volume de transação da segunda linha K, enquanto o volume de transação da segunda linha K seja menor do que o volume de transação anterior.

Quando essas três condições são simultaneamente satisfeitas, a estratégia determina a direção da negociação de acordo com a direção da linha K mais recente: se for a linha positiva, faça mais, se a linha negativa estiver vazia. A estratégia usa a posição total para negociar e rastreia a posição por meio de variáveis de estado.

Vantagens estratégicas

  1. Análise multidimensional: Análise em três dimensões, combinando a forma do preço, amplitude e volume de transação, para melhorar a confiabilidade do sinal.
  2. Negociação bidirecional: Captura de oportunidades bidirecionais no mercado, aproveitando as suas flutuações.
  3. Gerenciamento de risco perfeito: Gerenciamento de fundos em percentagem e configuração flexível de paradas de perda.
  4. Suporte de visualização: apresentação gráfica de sinais de negociação para facilitar a análise e otimização.
  5. Gerenciamento de estado claro: controle preciso da posse por meio de variáveis de estado, evitando a abertura de posições repetidas.

Risco estratégico

  1. Risco de Falso Breakout: Falso absorção pode ocorrer em mercados com turbulência, levando a sinais errados.
  2. Efeito de deslizamento: pode haver um deslizamento maior em situações de forte volatilidade do mercado, afetando a eficácia real das negociações.
  3. Risco de gestão de fundos: o método de negociação de posição total pode trazer uma maior abertura de risco.
  4. Atraso de sinal: baseado no fechamento da linha K para confirmar o sinal, pode perder o melhor momento de entrada.

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

  1. Introdução de filtros de tendência: Recomenda-se a adição de linha média ou indicadores de tendência como filtros de direção para melhorar a qualidade do sinal.
  2. Optimizar a gestão de fundos: pode ajustar o tamanho da posição de acordo com a dinâmica da volatilidade do mercado.
  3. Melhorar o mecanismo de suspensão de prejuízos: recomenda-se a configuração de suspensão de prejuízos dinâmicos em combinação com os indicadores ATR para melhorar a capacidade de controle de risco.
  4. Aumentar o filtro de tempo: pode ser adicionado um filtro de tempo de transação, evitando períodos de baixa eficiência.
  5. Confirmação de sinais de otimização: Indicadores de volume de negócios ou outros indicadores técnicos podem ser adicionados como confirmação auxiliar.

Resumir

A estratégia é construída através de uma análise multidimensional da forma da linha K, amplitude e volume de transação, para construir um sistema de negociação completo. Apesar de existir um certo risco, a estratégia pode ser ainda melhorada através da direção de otimização recomendada para aumentar a estabilidade e a confiabilidade da estratégia. O principal benefício da estratégia é a sua abordagem de análise multidimensional e um mecanismo de gestão de estado perfeito, adequado para aplicações em ambientes de mercado com grande volatilidade.

Código-fonte da estratégia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candle Absorption Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Условия индикатора
// 1. Две соседних свечи должны быть разнонаправленными
condition1 = (close[1] > open[1] and close < open) or (close[1] < open[1] and close > open)

// 2. Дельта по цене открытия/закрытия у первой свечи меньше, чем у следующей
delta1 = math.abs(close[1] - open[1])
delta2 = math.abs(close - open)
condition2 = delta1 < delta2

// 3. Объем первой свечи должен быть больше, а последней меньше
condition3 = volume[1] > volume and volume < volume[2]

// Проверяем выполнение всех условий
all_conditions = condition1 and condition2 and condition3

// Определяем направление для входа
is_bullish = close > open  // Зеленая свеча больше (бычье поглощение)
is_bearish = close < open  // Красная свеча больше (медвежье поглощение)

// Переменные для отслеживания состояния позиции
var float entryPrice = na
var bool isLong = false
var bool isShort = false

// Логика генерации сигналов
buySignal = all_conditions and is_bullish and not isLong
sellSignal = all_conditions and is_bearish and not isShort

// Обработка лонгового входа
if (buySignal)
    isLong := true
    isShort := false
    entryPrice := close
    strategy.entry("Long", strategy.long)

// Обработка шортового входа
if (sellSignal)
    isLong := false
    isShort := true
    entryPrice := close
    strategy.entry("Short", strategy.short)

// Визуализация точек поглощения
// if all_conditions
//     label.new(bar_index, high, "✔", color=is_bullish ? color.green : color.red, textcolor=color.white, style=label.style_circle, size=size.small)

// Логика сброса состояния при закрытии позиции
if (strategy.position_size == 0)
    isLong := false
    isShort := false
    entryPrice := na

// Дополнительно: можно добавить стоп-лосс и тейк-профит (пример ниже)
// strategy.exit("Exit Long", from_entry="Long", stop=low - atr(14), limit=high + atr(14))
// strategy.exit("Exit Short", from_entry="Short", stop=high + atr(14), limit=low - atr(14))