HullMA 백분율 밴드를 기반으로 한 양적 거래 전략


생성 날짜: 2024-03-01 12:16:45 마지막으로 수정됨: 2024-03-01 12:16:45
복사: 1 클릭수: 680
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

HullMA 백분율 밴드를 기반으로 한 양적 거래 전략

개요

이 전략은 헐 이동 평균과 그 상하의 퍼센티지 대역을 계산하여, 파격적 인 구매 및 중지 손실 판매를 달성합니다. 전략의 장점은 파라미터가 조정 가능하고, 간단한 구현, 스톱러 엄격합니다. 그러나, 높은 살해 하락, 빈번한 거래 등의 위험이 있습니다. 손실을 막는 전략을 최적화하고, 단선 작업을 추가하면 더 나은 효과를 얻을 수 있습니다.

전략 원칙

  1. 길이가 length로 계산되는 Hull 이동 평균 hullma。

  2. 헐마의 비율에 따라 상반도 xL1, xL3와 하반도 xL2, xL4를 도출한다.

  3. 종결 가격에서 궤도를 통과할 때, 더 많이; 종결 가격에서 궤도를 통과할 때, 평점.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. HullMA 지표는 가격 변화에 민감하여 트렌드를 효과적으로 추적할 수 있다.

  2. 비율은 설정 자유도가 높으며, 다양한 품종에 적응할 수 있다.

  3. 이중 경로 전략으로 오류 신호를 효과적으로 필터링할 수 있다.

  4. Stop Loss 전략은 위험을 효과적으로 통제할 수 있습니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 이 사건으로 인해 많은 사람들이 사망할 가능성이 높습니다.

  2. 이 경우, 매매가 빈번하게 이루어지면서 지점 손실이 발생한다.

  3. 잘못된 매개 변수 설정으로 인해 거래가 빈번하게 이루어질 수 있습니다.

  4. 정지 위치 설정은 반복 테스트와 최적화를 필요로 한다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 다양한 품종에 적응하기 위해 hullMA 길이 파라미터를 최적화한다.

  2. % band 매개 변수를 최적화하여 잘못된 거래를 줄여줍니다.

  3. 짤막한 연산 전략을 추가하여 회귀를 사용하여 더 많은 수익을 얻습니다.

  4. 제약이 유효하도록 제약 전략을 최적화하십시오.

  5. 다양한 품종의 파라미터를 테스트한다.

요약하다

이 전략은 HullMA 지표와 그 비율을 통해 비교적 간단한 직관적인 돌파구 거래 전략을 구축한다. 전략의 장단점이 명확하고, 매개 변수 조정과 기능 최적화를 통해 확장될 수 있어 매우 실용적인 수치화 전략이 될 수 있다.

전략 소스 코드
/*backtest
start: 2023-03-01 00:00:00
end: 2024-02-29 00:00:00
period: 5d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("hullma percentage lines", overlay=true)



length = input(9, minval=1)
src = input(close, title="Source")
hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(hullma)



Uband1 = input(3, minval=1, step = .5)
Lband1 = input(3, minval=1, step = .5)
Uband2 = input(6, minval=1, step = .5)
Lband2 = input(6, minval=1, step = .5)


v1 = Uband1+100
v2 = 100 - Lband1
v3 = Uband2+100
v4 = 100 - Lband2


xL1 = (hullma / 100) * v1
xL2 = (hullma / 100) * v2 
xL3 = (hullma / 100) * v3
xL4 = (hullma / 100) * v4 


plot(xL1, color=yellow, title="H1")
plot(xL2, color=yellow, title="L1")
plot(xL3, color=yellow, title="H2")
plot(xL4, color=yellow, title="L2")




longCondition1 =  crossover(close, xL4) 
if (longCondition1)  
    strategy.entry("l1", strategy.long)

longCondition2 =  crossover(close, xL2) 
if (longCondition2)  
    strategy.entry("l1", strategy.long)


shortCondition1 = crossover(close, xL1)
if (shortCondition1) 
    strategy.close("l1", strategy.long)
    
shortCondition2 = crossover(close, xL2)
if (shortCondition2) 
    strategy.close("l1", strategy.long)
    
shortCondition3 = crossover(close, xL3)
if (shortCondition3) 
    strategy.close("l1", strategy.long)