Estratégia quantitativa baseada no indicador Aroon


Data de criação: 2023-09-19 15:47:21 última modificação: 2023-09-19 15:47:21
cópia: 0 Cliques: 681
1
focar em
1617
Seguidores

Visão geral

A estratégia usa apenas o indicador de Alon para julgar a direção da tendência do mercado, para emitir sinais simples de compra e venda. Combina a capacidade de captura de tendências do indicador de Alon, com o objetivo de desenvolver um sistema de negociação mecânica que depende exclusivamente do julgamento do indicador.

Princípio da estratégia

  1. Calcule a coluna com o preço mais alto e a coluna com o preço mais baixo em 7 dias

  2. Calcular o valor do parâmetro entre o número de colunas de maior preço e o total de colunas de maior valor

  3. Calcular o rácio entre o número de colunas de preço mínimo e o número total de colunas como sub-carril

  4. Gera um sinal de compra quando o valor do orbital superior é maior que o valor do orbital inferior

  5. Produz um sinal de venda quando o valor da órbita atual é maior do que o valor da órbita anterior

  6. Controle de direção de entrada específica em parâmetros de estratégia

  7. Preenchimento de pedidos dentro de um determinado período de tempo

Análise de vantagens

  1. Dependendo totalmente da avaliação do Alon Index, realização de negociações baseadas apenas em indicadores

  2. Parâmetros simples, fáceis de entender e de otimizar

  3. Opções flexíveis de direção de vazio, adaptadas a diferentes variedades

  4. Período de tempo personalizável para retrospectiva ou negociação em disco

  5. Os sinais de operação são muito claros e fáceis de aprender e executar.

Análise de Riscos

  1. Como um único indicador, pode gerar sinais errados

  2. Não é possível determinar com precisão a intensidade das subidas e descidas nas tendências reais do mercado

  3. A falta de tempo para captar a mudança

  4. Incapacidade de ajustar-se dinamicamente às mudanças do mercado

  5. Há um certo risco de retirada.

Direção de otimização

  1. Testar diferentes variedades e parâmetros de ciclo

  2. Aumentar as condições de filtragem para melhorar a qualidade do sinal

  3. Combinando indicadores de tendência para determinar a direção das grandes tendências

  4. Desenvolvimento de mecanismos de saída dinâmicos, ajustados às tendências

  5. Parâmetros de otimização, testes de combinação de vários indicadores

  6. Aumento de posições e gestão de risco

Resumir

A estratégia fornece um sinal de compra e venda simples para determinar a tendência através do indicador de Alon. Há espaço para otimização na prevenção de sinais enganosos e controle de risco. Mas a sua concepção é simples e clara, podendo ser melhorada como uma estratégia básica de negociação quantitativa.

Código-fonte da estratégia
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018
//@version=2

strategy(title = "Noro's Aroon Strategy v1.0", shorttitle = "Aroon str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(7, defval = 7, minval = 1, maxval = 1000)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//Aroon
upper = 200 * (highestbars(high, length+1) + length)/length
lower = 200 * (lowestbars(low, length+1) + length)/length
plot(upper, color=#FF6A00)
plot(lower, color=#0094FF)

//Signals
up = upper > lower
dn = upper < lower

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    
if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
 
if true
    strategy.close_all()