
A estratégia de reconhecimento de pontos de reversão de múltiplos ciclos e negociação automática é um sistema de negociação quantitativa baseado no padrão Magic-9⁄13 e na identificação de pontos de reversão de direção (DRP). A estratégia capta os sinais de reversão do mercado identificando padrões de preços contínuos e pontos de mudança de momentum e executa automaticamente as negociações. O núcleo da estratégia é a combinação de conceitos tradicionais de análise técnica com métodos modernos de quantificação para identificar potenciais pontos de reversão do mercado, através da análise do comportamento contínuo dos preços, para entrar no mercado no início de uma reversão de preços.
Os princípios centrais da estratégia são baseados em dois principais indicadores técnicos: o padrão Magic-9⁄13 e o ponto de reversão de direção (DRP).
Reconhecimento do Modo Magic-9⁄13:
Calculo do ponto de inversão de direção (DRP):
Geração de sinais de transação:
Mecanismo de gestão de riscos:
Funções auxiliares:
Identificação precoce de reversão de mercadoA combinação do Módulo Magic-9⁄13 com o Ponto de Reversão de Direção permite capturar os sinais nos estágios iniciais de uma reversão de mercado, proporcionando uma melhor oportunidade de entrada.
Mecanismo de confirmação múltiplaA estratégia exige que dois requisitos independentes sejam atendidos simultaneamente (modos mágicos e travessia do ponto de reversão de direção), reduzindo a probabilidade de falsos sinais e aumentando a qualidade das transações.
Controle automático de riscosA plataforma de negociação de criptomoedas, que permite que os traders controlem o risco de uma única transação sem a necessidade de intervenção manual, previne a tomada de decisões de negociação emocional.
Sinais de negociação visuaisApresentação visual de sinais de negociação através da mudança de cores de etiquetas e gráficos de barras, facilitando a rápida identificação de potenciais oportunidades de negociação.
Ajustabilidade dos parâmetrosA estratégia oferece opções de ajuste de dois parâmetros-chave, comprimento e comprimento de retrocesso, permitindo que os comerciantes otimizem de acordo com diferentes cenários de mercado e variedades de negociação.
Robustez de processamento de dados: Inclui mecanismos para lidar com valores de NA, aumentando a estabilidade da estratégia em várias condições de dados.
Adaptabilidade do cicloA estratégia pode ser aplicada a gráficos de diferentes períodos de tempo, desde gráficos de minutos até gráficos de dias, oferecendo uma escolha de quadros de tempo de negociação flexíveis.
Sensibilidade do parâmetroO desempenho da estratégia é altamente dependente da configuração dos parâmetros de comprimento e de retrocesso. Diferentes ambientes de mercado podem exigir diferentes combinações de parâmetros. A configuração errada de parâmetros pode levar a excesso de negociação ou a oportunidades de negociação perdidas.
Risco de flutuação do mercadoSolução: Configurar o ponto de parada como um valor dinâmico baseado na taxa de flutuação do mercado (como o ATR), em vez de um número fixo de pontos.
Performance do mercado de tendênciasA estratégia visa principalmente o design de pontos de reversão, que podem gerar sinais errados frequentes em mercados de forte tendência. Solução: Adicionar filtros de tendência, que acionam sinais de negociação apenas quando se confirma que o mercado não está em um estado de forte tendência.
Ponto de deslizamento e risco de liquidez: Em mercados com pouca liquidez, o preço de execução pode ter diferenças significativas com o preço de sinal. Solução: aumentar as condições de filtragem de liquidez ou considerar o fator de deslizamento ao executar ordens.
Risco de sobreajusteA estratégia usa várias condições e parâmetros, podendo haver riscos de superalimentar os dados históricos. Solução: Verifique a solidez da estratégia usando testes fora da amostra e testes para a frente.
Acumulação de sinais contínuos: Em certas condições de mercado, pode ocorrer a produção de vários sinais consecutivos na mesma direção, resultando em posições excessivas. Solução: Implementar um mecanismo de filtragem de sinal, limitando a execução de sinais na mesma direção em um curto período de tempo.
Limitação de stop loss fixaA solução: Implementar um mecanismo de stop loss dinâmico baseado na volatilidade do mercado, ou adotar uma estratégia de stop loss de rastreamento.
Ajuste de parâmetros dinâmicos:
Adicionar filtro de tendência:
Otimizar o mecanismo de stop loss e take profit:
Aumentar a filtragem de volume:
Filtragem de tempo de realização:
Adição de funções de gerenciamento de posição:
Realização da pontuação de intensidade do sinal:
Aumentar a identificação de mercados relevantes:
A estratégia de reconhecimento de retorno de múltiplos ciclos e negociação automática é um sistema de negociação quantitativa baseado em uma combinação de indicadores tecnológicos, combinado com a análise de retorno de direção através da identificação do padrão Magic-9⁄13, para capturar oportunidades de retorno de mercado em potencial. A principal vantagem da estratégia reside em seu mecanismo de confirmação múltipla e função de gerenciamento de risco integrada, capaz de fornecer sinais de negociação relativamente confiáveis no início de uma reviravolta de mercado, ao mesmo tempo em que controla o risco com o controle automático de stop loss.
No entanto, a estratégia também enfrenta limitações, como sensibilidade de parâmetros, adaptabilidade ao ambiente de mercado e parada de perdas fixa. A adaptabilidade e a estabilidade de desempenho da estratégia podem ser significativamente aumentadas pela implementação de medidas de otimização, como ajuste de parâmetros dinâmicos, aumento de filtros de tendência, otimização do mecanismo de parada de perdas e aumento da confirmação de volume de transação.
Para os comerciantes, a estratégia fornece uma estrutura para capturar sistematicamente os pontos de retorno do mercado, mas ainda requer ajustes e otimização razoáveis de parâmetros, combinados com as preferências de risco pessoais e a compreensão do mercado. No processo de aplicação prática, é recomendável testar o suficiente em ambientes simulados para entender as características de desempenho da estratégia em diferentes ambientes de mercado, e depois aplicar gradualmente para negociações de mercado real.
/*backtest
start: 2025-06-05 00:00:00
end: 2025-06-05 15:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy('L3 Magic-9/13 Strategy', overlay=true, max_bars_back=4000, max_labels_count=500)
// 输入参数
length_input = input.int(title='Length', defval=9, minval=1)
lookback_length = input.int(title='Lookback Length', defval=4, minval=1)
// 获取第一个非 NA 值的函数
get_first_non_na_value(values, length) =>
result = float(na)
if length >= 1
for i = 0 to length - 1
if na(result) or not na(values[i])
result := values[i]
result
// 计算连续条件出现次数的函数
count_consecutive_occurrences(condition, length) =>
count = 0
for i = 1 to length
if condition[i - 1]
count += 1
count
// 检查条件是否在给定周期内出现的函数
check_condition_occurrence(condition, length) =>
occurrence = count_consecutive_occurrences(condition, length) != 0 ? 1 : 0
occurrence
// 基于回溯周期过滤出现次数的函数
filter_occurrences(condition, lookback_period) =>
output = 0.0
temp = 0
for i = lookback_period to 0
if temp > 0
output := 0.0
temp := temp[1] - 1
else
if not condition[i]
output := 0.0
else
output := 1.0
temp := lookback_period + 1
output_bool = output == 1 ? true : false
output_bool
// Magic-9/13 逻辑
high_9 = count_consecutive_occurrences(close > get_first_non_na_value(close, 4), 9) == 9 and count_consecutive_occurrences(close > get_first_non_na_value(close, 4), 10) == 9
low_9 = count_consecutive_occurrences(close < get_first_non_na_value(close, 4), 9) == 9 and count_consecutive_occurrences(close < get_first_non_na_value(close, 4), 10) == 9
// 计算方向反转点
up_count = 0
down_count = 0
for i = 0 to length_input - 1
up_count += (nz(close[i]) > nz(close[i + lookback_length]) ? 1 : 0)
down_count += (nz(close[i]) < nz(close[i + lookback_length]) ? 1 : 0)
directional_reversal_point = down_count == length_input ? 1 : up_count == length_input ? -1 : 0
// 定义交易信号
buy_signal = check_condition_occurrence(low_9, 2) and ta.crossover(directional_reversal_point, 0)
sell_signal = check_condition_occurrence(high_9, 2) and ta.crossunder(directional_reversal_point, 0)
// 执行交易
if (buy_signal)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit", "Buy", limit=close + 10 * syminfo.pointvalue, stop=close - 10 * syminfo.pointvalue)
if (sell_signal)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit", "Sell", limit=close - 10 * syminfo.pointvalue, stop=close + 10 * syminfo.pointvalue)
// 绘制标签
labels = buy_signal ? label.new(bar_index, low, 'B', color=color.new(color.red, 40), textcolor=color.white, style=label.style_label_up, yloc=yloc.price, size=size.small) : sell_signal ? label.new(bar_index, high, 'S', color=color.new(color.lime, 40), textcolor=color.white, style=label.style_label_down, yloc=yloc.price, size=size.small) : na
// 绘制蜡烛图颜色
signal = directional_reversal_point > 0 or up_count > down_count ? 1 : directional_reversal_point < 0 or down_count > up_count ? -1 : 0
drp_color = signal > 0 ? color.green : signal < 0 ? color.red : color.black
barcolor(drp_color)