[TOC]

기술 분석에서 Aroon은 매우 독특한 기술 지표입니다. “Aroon”이라는 단어는 “새벽”을 의미하는 산스크리트어에서 유래되었습니다. MA, MACD, KDJ만큼 잘 알려져 있지는 않습니다. 나중에 도입되었고 1995년 Tushar Chande가 발명했습니다. 저자는 또한 Chande Momentum Oscillator(CMO)와 Intraday Momentum Index(IMI)를 발명했습니다. 기술 지표를 아는 사람이 많고 사용하는 사람이 많을수록 수익을 낼 수 있는 능력이 낮아집니다. 비교적 새로운 Aroon 지표는 그 반대입니다. 이런 관점에서 보면 좋은 선택입니다.
Aroon 지표는 현재 캔들스틱과 이전 최고가 및 최저가 사이에 있는 캔들스틱의 개수를 계산하여 트레이더가 가격 움직임과 추세 영역의 상대적 위치 변화를 예측하는 데 도움이 됩니다. AroonUp과 AroonDown이라는 두 부분으로 구성되어 있습니다. 이 두 선은 0과 100 사이에서 위아래로 움직입니다. 위 선과 아래 선으로 명명되었지만 위 선과 아래 선과 같지는 않습니다. . BOLL 지표와 달리 실제 상단 및 하단 선이 없습니다. 다음 그림은 Aroon 지표입니다.

Aroon 지표는 이동 평균 기간 매개변수를 설정하는 것처럼 먼저 기간 매개변수를 설정해야 합니다. 기존 시장 소프트웨어에서 이 기간 번호는 14입니다. 물론 이 기간 매개변수는 고정되지 않습니다. 10으로 설정할 수도 있습니다. 또는 50 등, 기다려 주세요. 이해하기 쉽게 하기 위해 이 기간 매개변수를 N으로 정의하겠습니다. N을 결정한 후, AroonUp과 AroonDown을 계산할 수 있습니다. 구체적인 계산 공식은 다음과 같습니다.
이 공식을 통해 우리는 Aroon 지표의 개념을 대략적으로 알 수 있습니다. 즉, 최근 최고가/최저가보다 가격이 몇 주기 동안 낮았는지를 나타내는 것으로, 현재 추세가 계속될지 예측하고 현재 추세의 강도를 측정하는 데 도움이 됩니다. 이 지표를 분류하면, 분명히 추세 추종 유형입니다. 하지만 다른 추세 추종 지표와는 달리 가격보다는 시간에 더 큰 중점을 둡니다.
AroonUp과 AroonDown은 현재 시간과 이전 최고 또는 최저가 사이의 거리를 반영합니다. 시간이 가까울수록 값이 커지고, 시간이 멀수록 값이 작아집니다. 그리고 두 선이 교차할 때, 가격 방향이 바뀔 수 있음을 나타냅니다. AroonUp이 AroonDown 위에 있으면 가격이 상승 추세에 있으며 앞으로 가격이 더 오를 수 있음을 의미하고, AroonDown이 AroonUp 위에 있으면 가격이 하락 추세에 있으며 앞으로 가격이 더 오를 수도 있습니다. 더 떨어질 수도 있습니다.
동시에, 우리는 진입 시점을 정확하게 결정하기 위해 여러 가지 고정된 값을 설정할 수도 있습니다. 우리는 Aroon 지표가 항상 0과 100 사이에서 실행된다는 것을 알고 있습니다. 따라서 시장이 상승 추세에 있을 때, 즉 AroonUp이 AroonDown 위에 있을 때, AroonUp이 50보다 클 때 시장의 상승 추세가 형성되었음을 의미합니다. 그리고 가격은 앞으로도 계속 상승할 수 있습니다. AroonUp이 50 아래로 교차하면 가격 상승의 모멘텀이 약해지고 있으며 앞으로 가격이 변동하고 하락할 수 있음을 의미합니다.
반면, 시장이 하락 추세일 경우, 즉 AroonDown이 AroonUp보다 위에 있을 때, AroonDown이 50보다 클 때는 시장이 하락 추세를 형성했으며 앞으로도 가격이 계속 하락할 가능성이 있음을 의미합니다. AroonDown이 50 이하로 교차하면 가격 하락 모멘텀이 약해지고 있음을 의미합니다. 가격은 미래에 변동하고 상승할 수 있습니다. 그러면 위의 두 가지 이론에 따르면 매수 및 매도 조건을 다음과 같이 나열할 수 있습니다.
거래 논리를 명확히 한 후 코드로 구현할 수 있습니다. 이 글에서는 JavaScript 언어를 계속 사용하고 상품은 여전히 상품 선물입니다. 실무 기술이 뛰어난 친구는 코드를 Python 언어나 디지털 화폐로 번역할 수도 있습니다. 좋습니다. 더 이상 미루지 말고 fmz.com > 로그인 > 제어 센터 > 정책 라이브러리 > 새 정책을 열고 정책 작성을 시작하세요. 그리고 아래 코드의 주석에 주의하세요.
1단계: CTA 프레임워크 사용
알아채다! 다음을 꼭 클릭해주세요.商品期货交易类库. 디지털 화폐로 변경하는 경우 클릭하세요:数字货币现货交易类库。
function main() {
// ZC000/ZC888 指用指数做为行情源但交易映射到主力连续合约上
$.CTA("ZC000/ZC888", function(st) {
})
}
2단계: 데이터 가져오기
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
})
}
3단계: 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根数据
})
}
4단계: 거래 조건 계산 및 주문하기
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;
실제 거래 환경에 더 가까워지기 위해, 우리는 포지션을 열고 닫을 때 2번의 점프를 사용하고 백테스팅 중 스트레스 테스트에 2배의 처리 수수료를 사용합니다. 테스트 환경은 다음과 같습니다.
테스트 환경
수익 세부 정보
자금 조달 곡선
위의 백테스트 결과에서, 우리는 시장 추세가 순조로울 때 전략이 잘 수행된다는 것을 알 수 있습니다. 상승하든 하락하든, Aroon 지표는 시장을 완전히 추적할 수 있습니다. 자본 곡선도 전반적으로 상승하는 경향이 있으며, 상당한 하락세는 없었습니다. 그러나 변동성이 큰 시장, 특히 지속적으로 변동성이 큰 시장에서는 국지적인 하락이 발생했습니다.
전략에서 우리는 aroonUp 또는 aroonDown이 50보다 크거나 작음과 같은 일부 매개변수를 고정했습니다. 이는 전략의 지연을 유발합니다. 많은 경우 시장은 개장하기 전에 일정 기간 동안 상승하거나 하락합니다. 포지션 마감. 이렇게 하면 승률은 높아지고 최대 인출률은 낮아지지만, 많은 수익을 놓치게 되는데, 이는 수익과 손실은 동일한 원천에서 나온다는 원칙을 확인해 줍니다. 관심이 있는 친구들은 심도 있게 연구하고 개선할 수 있습니다.