[TOC]

Na análise técnica, Aroon é um indicador técnico muito único. A palavra “Aroon” vem do sânscrito, que significa “amanhecer”. Não é tão conhecido quanto MA, MACD, KDJ. Foi introduzido mais tarde e não foi inventado até 1995 por Tushar Chande. O autor também inventou o Chande Momentum Oscillator (CMO) e o Intraday Momentum Index (IMI). Se mais pessoas conhecem um indicador técnico e mais pessoas o usam, menor é sua capacidade de ganhar dinheiro. O indicador Aroon relativamente novo é exatamente o oposto. Dessa perspectiva, é uma boa escolha.
O indicador Aroon ajuda os traders a prever mudanças na posição relativa dos movimentos de preços e áreas de tendência, calculando o número de velas entre a vela atual e os preços mais altos e mais baixos anteriores. Consiste em duas partes, a saber, AroonUp e AroonDown. Essas duas linhas se movem para cima e para baixo entre 0 e 100. Embora sejam nomeadas como linha superior e linha inferior, elas não são as mesmas que a linha superior e a linha inferior . Ao contrário do indicador BOLL, ele não tem uma linha superior e inferior verdadeiras. A figura a seguir é o indicador Aroon:

O indicador Aroon exige que você defina um parâmetro de período de tempo primeiro, assim como a configuração do parâmetro de período de média móvel. No software de mercado tradicional, esse número de período é 14. Claro, esse parâmetro de período não é fixo. Você também pode defini-lo como 10 ou 50, etc. espere. Para facilitar a compreensão, vamos definir este parâmetro de período de tempo como: N. Após determinar N, podemos calcular AroonUp e AroonDown. A fórmula de cálculo específica é a seguinte:
A partir desta fórmula, podemos ver aproximadamente a ideia do indicador Aroon. Ou seja: quantos ciclos o preço ficou abaixo da máxima/mínima recente, o que ajuda a prever se a tendência atual continuará e mede a força da tendência atual. Se categorizarmos esse indicador, ele é obviamente um tipo de seguidor de tendências. Mas, diferentemente de outros indicadores de acompanhamento de tendências, ele dá mais ênfase ao tempo do que ao preço.
AroonUp e AroonDown refletem a distância entre o tempo atual e o preço mais alto ou mais baixo anterior. Se o tempo for mais próximo, o valor será maior, e se o tempo for mais distante, o valor será menor. E quando as duas linhas se cruzam, isso indica que a direção do preço pode mudar. Se AroonUp estiver acima de AroonDown, significa que o preço está em uma tendência ascendente e o preço pode subir ainda mais no futuro; se AroonDown estiver acima de AroonUp, significa que o preço está em tendência de queda e o preço pode subir ainda mais no futuro. Pode cair ainda mais.
Ao mesmo tempo, também podemos definir vários valores fixos para determinar com precisão o momento da entrada. Sabemos que o indicador Aroon está sempre rodando entre 0 e 100. Então quando o mercado está em tendência de alta, ou seja, quando AroonUp está acima de AroonDown, quando AroonUp é maior que 50, significa que a tendência de alta do mercado foi formada e o preço pode continuar a subir no futuro. Quando AroonUp cruza abaixo de 50, significa que o momentum de aumento de preço está enfraquecendo e o preço pode flutuar e cair no futuro.
Pelo contrário, quando o mercado está em tendência de queda, ou seja, quando o AroonDown está acima do AroonUp, quando o AroonDown é maior que 50, significa que a tendência de queda do mercado foi formada e o preço pode continuar caindo no futuro; quando AroonDown cruza abaixo de 50, significa que o momentum de queda de preço está enfraquecendo. Os preços podem flutuar e subir no futuro. Então, de acordo com as duas teorias acima, podemos listar as condições de compra e venda da seguinte forma:
Após esclarecer a lógica de negociação, podemos implementá-la com código. Neste artigo, continuaremos a usar a linguagem JavaScript, e o produto ainda é commodities futures. Amigos com boas habilidades práticas também podem traduzir o código para a linguagem Python ou moeda digital. OK, sem mais delongas, abra: fmz.com > Login > Centro de Controle > Biblioteca de Políticas > Nova Política, comece a escrever a política e preste atenção aos comentários no código abaixo.
Etapa 1: use uma estrutura de CTA
Perceber! Não deixe de clicar no seguinte:商品期货交易类库. Se você mudar para moeda digital, clique em:数字货币现货交易类库。
function main() {
// ZC000/ZC888 指用指数做为行情源但交易映射到主力连续合约上
$.CTA("ZC000/ZC888", function(st) {
})
}
Etapa 2: Obtenha os dados
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
})
}
Etapa 3: Calcular o indicador de Aroon
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
if (r.length < 21) { // 判断K线数据是否足够
return;
}
var aroon = talib.AROON(r, 20); // 阿隆指标
var aroonUp = aroon[1][aroon[1].length - 2]; // 阿隆指标上线倒数第2根数据
var aroonDown = aroon[0][aroon[0].length - 2]; // 阿隆指标下线倒数第2根数据
})
}
Etapa 4: Calcule as condições de negociação e faça uma ordem
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
if (r.length < 21) { // 判断K线数据是否足够
return;
}
var aroon = talib.AROON(r, 20); // 阿隆指标
var aroonUp = aroon[1][aroon[1].length - 2]; // 阿隆指标上线倒数第2根数据
var aroonDown = aroon[0][aroon[0].length - 2]; // 阿隆指标下线倒数第2根数据
if (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
return 1; // 多头开仓
}
if (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
return -1; // 空头开仓
}
if (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
return -1; // 多头平台
}
if (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
return 1; // 空头平台
}
})
}
// 以上代码就是基于JavaScript语言完整的策略。
// --------------------分割线--------------------
// 为了照顾伸手党,顺便也把这个策略翻译成My语言。同时该也可以用于数字货币,以下是完整的策略代码:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100; // 阿隆指标上线
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100; // 阿隆指标下线
AROONUP > AROONDOWN && AROONUP > BKV, BK; // 多头开仓
AROONDOWN > AROONUP && AROONDOWN > SKV, SK; // 空头开仓
AROONUP < AROONDOWN || AROONUP < SPV, SP; // 多头平台
AROONDOWN < AROONUP || AROONDOWN < BPV, BP; // 空头平台
AUTOFILTER;
Para estar mais próximo do ambiente de negociação real, usamos 2 saltos para abertura e fechamento de posições e 2 vezes a taxa de manuseio para teste de estresse durante o backtesting. O ambiente de teste é o seguinte:
Ambiente de teste
Detalhes da receita
Curva de financiamento
A partir dos resultados do backtest acima, podemos ver que a estratégia tem um bom desempenho quando a tendência do mercado é suave. Seja subindo ou descendo, o indicador Aroon pode rastrear totalmente o mercado. A curva de capital também tende a ser ascendente no geral, e não houve retração significativa. Entretanto, no mercado volátil, especialmente no mercado volátil contínuo, ocorreram recuos locais.
Na estratégia, fixamos alguns parâmetros, como: aroonUp ou aroonDown é maior ou menor que 50, o que causa o atraso da estratégia. Em muitos casos, o mercado sobe ou desce por um período de tempo antes de abrir e posições de fechamento. Embora isso aumente a taxa de ganhos e reduza a taxa máxima de saque, também perde muitos lucros, o que também confirma o princípio de que lucros e perdas têm a mesma fonte. Amigos interessados podem estudá-lo em profundidade e fazer melhorias.