이 전략은 주로 두 개의 다른 시간대의 헐 이동 평균의 교차를 사용하여 시장의 추세를 판단하고, 장기 단기 하위 거래를 수행한다.
이 전략은 두 개의 헐 이동 평균을 사용한다. 각각 60주기 및 175주기이다. 그 중:
hullma는 60주기에 걸친 Hull 이동 평균이며, wma 함수를 통해 계산된다.
ahullma는 175주기의 Hull 이동 평균으로, wma 함수를 통해 계산된다.
하울마가 아울마를 상향으로 돌파할 때, 골든 크로스 (Golden Cross) 을 생성하여 멀티 신호를 낸다.
헐마가 아헐마를 위아래로 내려갈 때, 사다리가 생기고, 공백 신호를 다.
longCondition와 shortCondition은 각각 과잉과 공백 조건을 판단한다.
strategy.entry 함수를 통해 다중 공백 작업을 수행한다.
이 전략은 교차 원칙을 적용하여 단기 평균선과 장기 평균선의 교차점을 판단하여 단기 및 장기 동향의 변화를 포착하여 수익을 얻습니다.
Hull 이동 평균을 사용하면 가격 변화를 더 빨리 잡을 수 있습니다.
쌍평선 교차는 간단하고 이해하기 쉽고 조작이 쉽다.
60주기 및 175주기 조합으로 중·단기 경향을 파악할 수 있다.
다양한 시장과 품종에 맞게 사용자 정의 가능한 주기 파라미터
일일 거래와 포지션 거래에서 유연하게 사용할 수 있습니다.
양평선 교차로에는 약간의 지연성이 있으며, 진입 시기는 허용되지 않는다.
짧은 주기 평균 선머리 가짜 신호가 더 많을 수 있다.
지진이 발생했을 때 자주 교차하여 손실이 발생할 수 있습니다.
이 기기는 트렌드 변화를 포착할 수 없는 잘못된 사이클 설정입니다.
적절한 최적화 주기 파라미터가 필요하며, 다른 품종은 조정할 필요가 있다.
다른 지표의 필터 신호와 결합하여 주기 파라미터를 최적화하고 스톱로스를 적절히 풀어줌으로써 위험을 완화할 수 있다.
다양한 평선 조합을 테스트하여 최적의 주기를 찾습니다.
트렌드 지수와 같은 지표를 필터링하십시오.
손해배상 전략을 최적화하고 빈번한 손해배상율을 낮추는 것.
다른 품종은 주기 파라미터를 조정할 수 있다.
기계 학습과 같은 알고리즘, 동적 최적화 파라미터를 추가할 수 있다.
이 전략은 골든 크로스와 데드 포크 원리를 이용하며, 쌍 Hull 이동 평균을 교차하여 시장의 추세를 판단하는 전형적인 단기 쌍평평선 거래 전략에 속한다. 이 전략은 아이디어가 간단하고, 작동하기 쉽고, 빠른 단기 추세를 잡을 수 있다. 그러나 또한 높은 가짜 신호 위험과 지연 문제가 있다. 파라미터 최적화, 지표 필터링 등의 방법을 통해 개선할 수 있으며, 연구할 가치가 있는 짧은 라인 거래 전략이다. 이 전략은 일간과 포지션 거래에 유연하게 작동하며, 디지털 통화와 전통적인 품종에서도 널리 사용된다.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Hull MA", shorttitle="Junior2", overlay = true)
//HULL MA 1
length = input(60, minval=1,title="HULL MA 1 LENGTH")
src = input(close, title="Source")
hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(hullma, color=color.green)
//HULLMA 2
alength = input(175, minval=1,title="HULL MA 2 LENGTH")
asrc = input(close, title="Source")
ahullma = wma(2*wma(asrc, alength/2)-wma(asrc, alength), round(sqrt(alength)))
plot(ahullma, color=color.green)
c1up= crossover(hullma,ahullma)
c1down= crossunder(hullma,ahullma)
longCondition = c1up
if longCondition
strategy.entry("L", strategy.long)
shortCondition = c1down
if shortCondition
strategy.entry("S", strategy.short)
plot(close)