Sistema quantitativo de estratégia de negociação de rompimento de faixa de preço dinâmico com base em níveis de suporte e resistência


Data de criação: 2024-12-11 15:03:50 última modificação: 2024-12-11 15:03:50
cópia: 3 Cliques: 378
1
focar em
1617
Seguidores

Sistema quantitativo de estratégia de negociação de rompimento de faixa de preço dinâmico com base em níveis de suporte e resistência

Visão geral

A estratégia é um sistema de negociação quantitativa baseado em breakouts de intervalos de preços. Estabelece de forma dinâmica os limites superiores e inferiores dos intervalos de preços e opera as transações quando os preços ultrapassam esses níveis críticos. A ideia central da estratégia é capturar oportunidades de tendência quando o mercado ultrapassa os intervalos de preços estabelecidos e, ao mesmo tempo, ajustar dinamicamente os intervalos de preços para se adaptar às mudanças no mercado.

Princípio da estratégia

O funcionamento da estratégia baseia-se no seguinte mecanismo central: em primeiro lugar, é definido o correspondente passo (step_size) de acordo com as características das diferentes variedades de negociação, que é baseado em cerca de 1,5% do preço da variedade. O sistema configura um intervalo de preços acima e abaixo do preço atual, e quando o preço ultrapassa o limite superior, o sinal de multiplicação é acionado; quando o limite inferior é ultrapassado, o sinal de cancelamento é acionado.

Vantagens estratégicas

  1. Adaptabilidade dinâmica: os intervalos de preços ajustam-se automaticamente às mudanças do mercado, permitindo que as estratégias se adaptem a diferentes condições de mercado.
  2. A capacidade de acompanhamento de tendências destaca-se: a estratégia permite a captação de tendências fortes, permitindo a aquisição de posições simultâneas.
  3. Controle de risco perfeito: configuração de condições de stop loss claras e eliminação automática de posições quando o preço cai abaixo da faixa.
  4. Ampla aplicabilidade: a estratégia pode ser aplicada a vários mercados, definindo parâmetros de passo correspondentes para diferentes variedades de negociação.
  5. Eficiência de computação: a persistência de variáveis e a eficiência da computação são usadas para garantir que a estratégia funcione sem problemas.

Risco estratégico

  1. Risco de mercado de choque: pode desencadear falsas rupturas frequentes em mercados de choque intermédio, resultando em perdas contínuas.
  2. Risco de gestão de fundos: a acumulação de posições simultâneas pode levar a uma concentração excessiva de posições, o que requer um controle razoável da abertura de risco em uma única direção.
  3. Risco de deslizamento: em situações de forte volatilidade, pode haver um deslizamento maior que afeta o desempenho da estratégia
  4. Sensibilidade de parâmetros: a racionalidade da configuração do comprimento de passo afeta diretamente a eficácia da estratégia e precisa ser testada.

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

  1. Introdução de indicadores de volatilidade: pode ser ajustada de acordo com a dinâmica de volatilidade do mercado, aumentando a adaptabilidade da estratégia.
  2. Aumentar o mecanismo de filtragem: adicionar indicadores de confirmação de tendências e reduzir os prejuízos causados por brechas falsas.
  3. Melhorar o gerenciamento de posições: conceber mecanismos de controle de posições mais detalhados, equilibrando o lucro e o risco.
  4. Otimização da execução de pedidos: pode ser adicionado um roteamento de pedidos inteligente para reduzir o efeito de deslizamento.
  5. Aumentar a dimensão temporal: levar em conta as características do tempo do mercado e ajustar os parâmetros da estratégia em diferentes períodos de tempo.

Resumir

Esta é uma estratégia de seguimento de tendências concebida de forma racional e lógica clara. Através da configuração e ajuste de intervalos de preços dinâmicos, combinados com a gestão de posições flexíveis, a estratégia é capaz de capturar efetivamente oportunidades de tendências de mercado. Embora haja algum espaço para otimização, em geral, a estratégia oferece uma estrutura de negociação quantitativa robusta.

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

// @version=5
// 每个图表上画对应间隔的横线,自己手画吧
// 同方向追加20单,订单成交后重新计算,每个tick重新计算,变量保存1000个周期,k线结束后再处理一次订单,按照代码顺序来绘制plot
strategy("Price Level Breakout Strategy", overlay=true, pyramiding=200, calc_on_order_fills=true, calc_on_every_tick=true, max_bars_back=1000, process_orders_on_close=true, explicit_plot_zorder=true)
// var创建持久性变量,:=是更新变量,不重新声明
// 这个是全局变量
// a = array.new<string>(200)
// array.push(a, "a")
// plot(close, color = array.get(a, close > open ? 1 : 0))
string ticker = syminfo.ticker
var float step_size = 1000
// label.new(x=bar_index, y=close, text="当前品种代码: " + ticker)
// 根据定值画1.5的平行线
if ticker == "000300"
    step_size := 4000 * 0.015
if ticker == "XAUUSD"
    step_size := 3000 * 0.016
if ticker == "BTCUSD"
    step_size := 60000 * 0.015
if ticker == "SILVER"
    step_size := 50 * 0.015
if ticker == "UKOIL"
    step_size := 150 * 0.015
if ticker == "GBPUSD"
    step_size := 1.6 * 0.015
if ticker == "EURUSD"
    step_size := 1.1 * 0.015
    // 从0开始画200条间隔线
if ticker == "USDJPY"
    step_size := 100 * 0.015
var float start_value = close
var float up_number = close + step_size
var float low_number = close - step_size
// hline(3.14, title='Pi', color=color.blue, linestyle=hline.style_dotted, linewidth=2)
// plot(1)
// 当价格突破上限,产生买入信号
if close > up_number
    // 生成买入信号
    strategy.entry(id = "Buy", direction = strategy.long)
    // 更新新的价格区间
    start_value := start_value + step_size
    up_number := start_value + step_size
    low_number := start_value - step_size
    strategy.close(id = "Sell")
// 当价格跌破下限,产生卖出信号
if close < low_number
    // 生成卖出信号
    strategy.entry("Sell", strategy.short)
    // 更新新的价格区间
    start_value := start_value - step_size
    up_number := start_value + step_size
    low_number := start_value - step_size
    strategy.close(id = "Buy")