이중 껍질 이동 평균 크로스오버 거래 전략

저자:차오장, 날짜: 2023-10-11 14:49:54
태그:

이 전략은 주로 다른 시간 프레임의 두 개의 Hull 이동 평균의 크로스오버를 사용하여 시장 트렌드를 결정하고 긴 거래와 짧은 거래를합니다.

전략 논리

이 전략은 두 개의 Hull 이동 평균을 사용합니다. 하나는 60 기간이고 다른 하나는 175 기간입니다.

  1. hullma는 wma 함수로 계산된 60주기 Hull Moving Average입니다.

  2. ahullma는 WMA 함수로 계산된 175기 Hull 이동 평균입니다.

  3. 헐마가 헐마를 위쪽으로 넘어가면 금색 십자가가 나타납니다. 긴 신호를 줍니다.

  4. 돌마가 돌마를 아래로 넘어가면 죽음의 십자가가 발생하고 짧은 신호를 줍니다.

  5. longCondition 및 shortCondition는 각각 긴 및 짧은 입시 조건을 결정합니다.

  6. strategy.entry 함수는 긴 거래와 짧은 거래를 실행하는 데 사용됩니다.

이 전략은 크로스오버 원리를 활용하여 단기 및 장기 이동 평균의 크로스오버를 사용하여 트렌드 변화를 포착하여 수익을 창출합니다.

이점 분석

  1. 헐 이동 평균은 가격 변화에 더 빠르게 반응합니다.

  2. 크로스오버 원칙은 간단하고 쉽게 구현됩니다.

  3. 60주기와 175주기 조합은 중장기 동향을 포착합니다.

  4. 다른 시장에 대한 사용자 정의 가능한 기간 매개 변수.

  5. 내일 거래 및 포지션 거래에 적용됩니다.

위험 분석

  1. 크로스오버는 신호가 조금 늦어졌어요.

  2. 더 많은 잘못된 신호가 단기 MA로 나타났습니다.

  3. 빈번한 크로스오버는 범주 시장에서 손실을 초래할 수 있습니다.

  4. 잘못된 기간 설정은 트렌드 변화를 포착할 수 없습니다.

  5. 다른 기호에 대한 매개 변수 최적화가 필요합니다.

위험은 필터를 추가하고 매개 변수를 최적화하여 더 넓은 정지를 허용함으로써 완화 될 수 있습니다.

최적화 방향

  1. 최적의 기간을 찾기 위해 다른 MA 조합을 테스트합니다.

  2. 신호 필터링을 위한 트렌드 지표를 추가합니다.

  3. 빈번한 스톱을 줄이기 위해 스톱 손실 전략을 최적화하십시오.

  4. 각기 다른 기호에 대한 기간을 조정합니다.

  5. 매개 변수를 동적으로 최적화하기 위해 기계 학습을 추가합니다.

요약

이 전략은 이중 헐 이동 평균 크로스오버를 사용하여 트렌드를 결정하기 위해 황금 십자 및 죽음의 십자 원리를 활용합니다. 이것은 전형적인 단기 이중 이동 평균 시스템입니다. 장점은 간단한 논리와 빠른 단기 트렌드를 잡는 쉬운 구현입니다. 단점은 높은 잘못된 신호 및 지연 문제입니다. 매개 변수 최적화, 신호 필터링 등을 통해 개선이 가능합니다. 연구 할 가치가있는 단기 거래 전략입니다. 전략은 다양한 시장에서 내일 및 위치 거래에 유연하게 적용 될 수 있습니다. 전반적으로 단기 거래에 적합하며 올바르게 사용하면 좋은 수익을 창출 할 수 있습니다.


/*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)

더 많은