O recurso está a ser carregado... Carregamento...

Estratégia de flutuação adaptativa baseada no avanço quantitativo do intervalo

Autora:ChaoZhang, Data: 22 de Fevereiro de 2024 16:50:46
Tags:

img

Resumo

Esta estratégia calcula o volume de transações mais alto e mais baixo em um determinado período recente para formar uma faixa de flutuação adaptativa. Quando o volume de transações do ciclo atual quebra essa faixa, sinais de negociação são gerados. A direção do sinal é determinada pelo candelabro Yin Yang, que é uma estratégia simples e eficaz para rastrear grandes transações individuais repentinas no mercado.

Estratégia lógica

A lógica central é calcular os valores mais altos e mais baixos dos volumes de transações positivos e negativos nos mais recentes ciclos N para formar uma faixa de flutuação adaptativa. Determine se ocorre um avanço no período atual com base neste intervalo, levando em conta o sinal da linha Yin Yang para completar o julgamento.

O processo específico de cálculo é o seguinte:

  1. Calcular o volume de transacções mais elevado o volume de transacções mais elevado e o volume de transacções mais baixo o volume mais baixo nos N ciclos mais recentes
  2. Determinar se o volume da transação Volume do ciclo atual é superior ao Maior
  3. Combine se o candelabro atual é Yin ou Yang para completar o julgamento sinal de ruptura
  4. Gerar sinais longos e curtos

Análise das vantagens

As principais vantagens desta estratégia são:

  1. A definição do intervalo adaptável é sensível às alterações do mercado
  2. Captar tendências de aumento da volatilidade elevada, reduzir a taxa de transacções perdidas
  3. Combine julgamentos de forma de vela para evitar falsos avanços
  4. Simples de implementar e modificar
  5. Os parâmetros são ajustáveis para se adequarem a diferentes produtos

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. Tendente a perseguir altos e matar baixos, precisa ajustar parâmetros para controlar
  2. Pode gerar frequentemente sinais falsos em mercados oscilantes de grandes ciclos
  3. Não consegue distinguir entre avanços normais e anormais, precisa incorporar outros indicadores ou padrões para julgamento
  4. Apenas uma oportunidade de entrada para cada avanço, não pode rastrear tendências

Otimizar os parâmetros do ciclo e incorporar outros indicadores de filtragem pode ser possível.

Orientações de otimização

A estratégia pode ser otimizada de várias maneiras:

  1. Aumentar os intervalos para ajustar a extensão do intervalo de acordo com os diferentes ciclos de mercado
  2. Incorporar MA, Bandas de Bollinger, etc. para filtrar sinais
  3. Otimizar combinações com padrões de candelabro para evitar sinais falsos
  4. Adicionar módulos de reentrada e stop loss para que a estratégia possa rastrear tendências

Resumo

A estratégia é simples e prática em geral. Ao combinar a análise de preços de faixa adaptativa e de volume, pode efetivamente capturar mercados explosivos unilaterais. No entanto, também há certo risco de sinais falsos, exigindo ajustes apropriados de parâmetros e ferramentas complementares antes que possa alcançar o máximo impacto.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © EvoCrypto

//@version=4
strategy("Ranged Volume Strategy - evo", shorttitle="Ranged Volume", format=format.volume)

// INPUTS {
Range_Length    =   input(5,        title="Range Length",                       minval=1)

Heikin_Ashi     =   input(true,     title="Heikin Ashi Colors")
Display_Bars    =   input(true,     title="Show Bar Colors")
Display_Break   =   input(true,     title="Show Break-Out")
Display_Range   =   input(true,     title="Show Range")
// }

// SETTINGS {
Close           =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, close)    : close
Open            =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, open)     : open

Positive        =    volume
Negative        =   -volume

Highest         =   highest(volume, Range_Length)
Lowest          =   lowest(-volume, Range_Length)

Up              =   Highest > Highest[1] and Close > Open
Dn              =   Highest > Highest[1] and Close < Open

Volume_Color    =   
 Display_Break and Up   ? color.new(#ffeb3b, 0)     : 
 Display_Break and Dn   ? color.new(#f44336, 0)     : 
 Close > Open           ? color.new(#00c0ff, 60)    : 
 Close < Open           ? color.new(#000000, 60)    : na 
// }

//PLOTS {
plot(Positive,                      title="Positive Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)
plot(Negative,                      title="Negative Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)

plot(Display_Range ? Highest : na,  title="Highest",            color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)
plot(Display_Range ? Lowest  : na,  title="Lowest",             color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)

barcolor(Display_Bars ? Volume_Color : na)
// }

if (Up)
    strategy.entry("Long Entry", strategy.long)
if (Dn)
    strategy.entry("Short Entry", strategy.short)

Mais.