Na análise técnica, o Aroon é um indicador técnico muito único. A palavra
O indicador Aroon ajuda os traders a prever a relação posicional relativa entre os movimentos de preços e as áreas de tendência, calculando o número de linhas K entre os preços mais altos e mais baixos antes da distância atual da linha K. Ele consiste em duas partes: AroonUp e AroonDown. As duas linhas movem-se para cima e para baixo entre 0 e 100. Embora sejam nomeadas para cima e para baixo, ao contrário do indicador BOLL, não é
O indicador Aroon requer que você primeiro defina um parâmetro de período de tempo, assim como defina o parâmetro de período médio. No software de negociação tradicional, o número de ciclos é 14. Além disso, esse parâmetro de período não é fixo. Você também pode definí-lo em 10 ou 50 e assim por diante.
A fórmula específica é a seguinte:
A partir desta fórmula, podemos ver grosso modo a idéia do indicador Aroon. Ou seja: quantos ciclos há, e o preço está abaixo do recente alto / baixo, ajudando a prever se a tendência atual continuará e medir a força da tendência atual. Se classificarmos este indicador, é óbvio que ele pertence ao tipo de rastreamento de tendências. Mas ao contrário de outras métricas de rastreamento de tendências, ele presta mais atenção ao tempo do que ao preço.
A AroonUp e AroonDown refletem o tempo atual e o preço mais alto ou mais baixo anterior. Se o tempo estiver perto, o valor será maior. Se o tempo estiver longe, o valor será menor. E quando as duas linhas se cruzam, isso indica que a direção do preço pode mudar. Se o AroonUp estiver acima do AroonDown, o preço está subindo, o preço pode subir; se o AroonDown estiver acima do AroonUp, o preço está em uma tendência de queda, o preço pode cair.
Ao mesmo tempo, também podemos definir alguns valores fixos para encontrar com precisão a oportunidade de negociação. Sabemos que o indicador Aroon tem corrido para cima e para baixo entre 0 e 100. Então, quando o mercado está em ascensão, ou seja, quando AroonUp está acima de AroonDown, quando AroonUp é maior que 50, a tendência ascendente do mercado já se formou, e o preço pode continuar no futuro. quando AroonUp abaixo de 50, o impulso para aumentos de preços está diminuindo, e os preços podem flutuar e cair no futuro.
Ao contrário, quando o mercado está em uma tendência de queda, ou seja, quando o AroonDown está acima do AroonUp, quando o AroonDown é maior que 50, a tendência de queda do mercado já se formou e o preço pode continuar a cair no futuro; quando o AroonDown desgasta 50, a força motriz para o declínio do preço está enfraquecendo. Os preços futuros podem flutuar e subir. Então, de acordo com os dois parágrafos acima, podemos listar os termos de compra e venda como:
Depois de esclarecer a lógica de negociação, podemos implementá-la com código. Neste artigo, continuaremos a usar a linguagem JavaScript, e a variedade de negociação ainda é de futuros de commodities. o leitor com fortes habilidades de programação também pode traduzi-lo para Python, ou criptomoeda.
Seguindo estes passos:fmz.com> Login > Dashboard > Strategy Library > New Strategy, comece a escrever a estratégia, preste atenção aos comentários no código abaixo.
Passo 1: Utilização do quadro CTA
Observe que clique no seguinte: Commodity Futures Trading Library.
Function main() {
// ZC000/ZC888 refers to using the index as the source of the market but the transaction is mapped to the main contract
$.CTA("ZC000/ZC888", function(st) {
})
}
Passo 2: Obter os dados
Function main() {
$.CTA("ZC000/ZC888", function(st) {
Var r = st.records; // get the K line array
Var mp = st.position.amount; // Get the number of positions
})
}
Passo 3: Calcular o indicador Aroon
Function main() {
$.CTA("ZC000/ZC888", function(st) {
Var r = st.records; // get the K line array
Var mp = st.position.amount; // Get the number of positions
If (r.length < 21) { // Determine if the K line data is sufficient
Return;
}
Var aroon = talib.AROON(r, 20); // Aroon indicator
Var aroonUp = aroon[1][aroon[1].length - 2]; // Aroon indicator goes online with the second root data
Var aroonDown = aroon[0][aroon[0].length - 2]; // Aroon's indicator goes down the second root of the data
})
}
Etapa 4: Calcular as condições de negociação e colocar ordens
Function main() {
$.CTA("ZC000/ZC888", function(st) {
Var r = st.records; // get the K line array
Var mp = st.position.amount; // Get the number of positions
If (r.length < 21) { // Determine if the K line data is sufficient
Return;
}
Var aroon = talib.AROON(r, 20); // Aroon indicator
Var aroonUp = aroon[1][aroon[1].length - 2]; // Aroon indicator goes online with the second root data
Var aroonDown = aroon[0][aroon[0].length - 2]; // AAroon's indicator goes down the second root of the data
If (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
Return 1; // long position open
}
If (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
Return -1; // short position open
}
If (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
Return -1; // multi-head platform
}
If (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
Return 1; // short platform
}
})
}
// The above code is a complete strategy based on the JavaScript language.
// --------------------Dividing line--------------------
// In order to take care of the reach of the party, this strategy is also translated into My language. At the same time, this can also be used for digital currency. Here is the complete policy code:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100; // Aroon indicator goes online
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100; // Aroon indicator goes offline
AROONUP > AROONDOWN && AROONUP > BKV, BK; // Long position open
AROONDOWN > AROONUP && AROONDOWN > SKV, SK; // short position
AROONUP < AROONDOWN || AROONUP < SPV, SP; // Multi-head platform
AROONDOWN < AROONUP || AROONDOWN < BPV, BP; // Short platform
AUTOFILTER;
Para nos aproximarmos do ambiente de negociação real, usamos os 2 pips de deslizamento e 2 vezes a taxa de transação para testar a pressão durante o backtest.
Ambiente de ensaio
Relatório de resultados
Curva dos fundos
A partir dos resultados do backtest acima, a estratégia é muito boa quando a tendência do mercado é suave, seja em alta ou queda, o indicador Aroon pode acompanhar completamente o mercado. A curva de capital também mostrou uma tendência geral de alta e não houve retração significativa. No entanto, no mercado volátil, especialmente no mercado de choque contínuo, houve uma retração parcial.
Vantagens: O indicador Aroon pode julgar o estado do mercado de tendência, levar em conta a tendência do mercado e a capacidade de julgar a mudança de preço e ajudar os comerciantes a aumentar o uso de fundos.
Desvantagens: O indicador Aroon é apenas um dos indicadores de rastreamento de tendências, ele tem as mesmas deficiências do indicador de rastreamento de tendências. ele só pode julgar o número de períodos do preço mais alto ou mais baixo em um determinado momento, mas às vezes o preço mais alto ou mais baixo será contingente em toda a tendência do mercado, essa contingência interferirá com o próprio indicador Aroon, causando sinais falsos.
Para o código fonte,
com versão JavaScript, clique em:https://www.fmz.com/strategy/154547com a versão Mylanguage, clique em:https://www.fmz.com/strategy/155582
Nesta estratégia, fixamos alguns parâmetros, tais como: aroonUp ou aroonDown é maior que e menor que 50, causando a questão de atraso da estratégia. Em muitos casos, o mercado vai subir ou cair por um período de tempo antes de fechar a posição. Embora isso tenha melhorado a taxa de ganho e reduzido a taxa máxima de retração, também perdeu muitos lucros, o que também confirmou a verdade do homônimo de lucro e perda.