Estratégia de negociação quantitativa baseada no avanço do Yiyun e no indicador ADX


Data de criação: 2024-02-02 17:50:30 última modificação: 2024-02-02 17:50:30
cópia: 0 Cliques: 685
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa baseada no avanço do Yiyun e no indicador ADX

Visão geral

O nome da estratégia é o de Binance, uma estratégia de negociação quantitativa baseada em uma brecha de nuvem e um indicador de ADX. Combina uma análise técnica de gráficos de nuvem e um indicador de tendências médias (ADX) para decidir quando estabelecer uma posição a mais ou a menos. Concretamente, ele estabelece uma posição quando o preço quebra o gráfico da nuvem e o indicador de ADX mostra uma forte tendência.

Princípio da estratégia

A estratégia usa o padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão de um padrão.

A partir de agora, o que é que vai acontecer?

  • Linha de antena virada para cima através da linha de referência
  • Linha de atraso para cima através do eixo 0
  • Preços mais altos do que os da nuvem
  • ADX abaixo de 45 (indicando que a tendência não se expandiu excessivamente)
  • + DI superior a - DI (indicando uma tendência ascendente)

O avião está a voar.

  • Linha de antena desviada para baixo através da linha de referência
  • Linha de atraso deslocada para baixo através do eixo 0
  • Preços abaixo do gráfico das nuvens
  • ADX acima de 45 (indicando uma possível reversão da tendência)
  • + DI abaixo de - DI (indicando uma tendência de queda)

Análise de vantagens

A estratégia, combinada com a análise gráfica e os indicadores de análise de tendências, permite determinar com eficácia a tendência do mercado e as áreas de força. Os pontos fortes são:

  1. Utilizando um gráfico de nuvem para determinar as áreas de resistência de suporte-chave, pode-se capturar uma tendência forte
  2. Combinando o índice ADX com o índice ADX para avaliar a intensidade real da tendência, evitar erros de negociação
  3. Regras claras, fáceis de usar, fáceis de executar

Riscos e soluções

A estratégia também apresenta alguns riscos, principalmente a instabilidade na determinação do índice ADX. Os riscos específicos e soluções são os seguintes:

  1. O cálculo do ADX é retardado e pode perder a reversão rápida. Os parâmetros do ADX podem ser adequadamente reduzidos para torná-lo mais sensível
  2. O ADX não funciona bem em situações de choque. Filtros de outros indicadores podem ser adicionados, como o canal BOLL.
  3. Um gráfico em nuvem também pode falhar. Você pode ajustar os parâmetros adequadamente ou adicionar outros indicadores auxiliares.

Sugestões para otimizar estratégias

A estratégia também pode ser melhorada nos seguintes aspectos:

  1. Adaptação dos parâmetros gráficos de uma nuvem para mais variedades
  2. Aumentar as estratégias de stop loss para controlar as perdas individuais
  3. Combinação de mais indicadores para formar um conjunto de indicadores de filtragem
  4. Adição de módulos de previsão de modelos, usando aprendizado de máquina para determinar mais sobre o efeito do sinal de tendência

Resumir

Esta estratégia combina a análise técnica de gráficos em nuvem e os indicadores de julgamento de tendências do ADX para formar um conjunto de estratégias de negociação quantitativas claras e completas. Ela determina as áreas de resistência de suporte crítico e, ao mesmo tempo, contempla o julgamento de tendências para aproveitar efetivamente as oportunidades de mercado.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy('Ichimoku Cloud with ADX (By Coinrule)',
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)


// Stop Loss and Take Profit for Shorting
Stop_loss = input(1) / 100
Take_profit = input(5) / 100
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


// Inputs
ts_bars = input.int(9, minval=1, title='Tenkan-Sen Bars')
ks_bars = input.int(26, minval=1, title='Kijun-Sen Bars')
ssb_bars = input.int(52, minval=1, title='Senkou-Span B Bars')
cs_offset = input.int(26, minval=1, title='Chikou-Span Offset')
ss_offset = input.int(26, minval=1, title='Senkou-Span Offset')
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')

middle(len) => math.avg(ta.lowest(len), ta.highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_bars)

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=color.new(#0496ff, 0), title='Tenkan-Sen')
plot(kijun, color=color.new(#991515, 0), title='Kijun-Sen')
plot(close, offset=-cs_offset + 1, color=color.new(#459915, 0), title='Chikou-Span')
sa = plot(senkouA, offset=ss_offset - 1, color=color.new(color.green, 0), title='Senkou-Span A')
sb = plot(senkouB, offset=ss_offset - 1, color=color.new(color.red, 0), title='Senkou-Span B')
fill(sa, sb, color=senkouA > senkouB ? color.green : color.red, title='Cloud color', transp=90)

ss_high = math.max(senkouA[ss_offset - 1], senkouB[ss_offset - 1])
ss_low = math.min(senkouA[ss_offset - 1], senkouB[ss_offset - 1])


// ADX
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)


// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset - 1) > 0
cs_cross_bear = ta.mom(close, cs_offset - 1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and avg_dm < 45 and pos_dm > neg_dm
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and avg_dm > 45 and pos_dm < neg_dm

strategy.entry('Long', strategy.long, when=bullish and long_entry and timePeriod)
strategy.close('Long', when=bearish and not short_entry)

strategy.entry('Short', strategy.short, when=bearish and short_entry and timePeriod)
strategy.close('Short', when=bullish and not long_entry)