헐 이동 평균 오실레이터 거래 전략
개요
이 전략은 헐 이동 평균 지표에 기반한 짧은 라인 거래 전략이다. 전략은 헐 이동 평균의 금叉死叉을 이용하여 구매 신호를 형성하는 트렌드 추적 전략이다.
전략 원칙
이 전략은 주로 헐 이동 평균 지표에 기반을 두고 있다. 헐 이동 평균은 두 개의 이동 평균으로 구성된다. 우선 가격을 계산하는 중기 이동 평균 nma, 주기는 헐 기간이다.
일부 가짜 신호를 필터링하기 위해, 전략은 또한 Hull 라인을 도입했다. Hull 라인은 nma와 n2ma 사이의 미분값을 계산하는 선형 회귀의 결과이다. 가격이 Hull 라인과 이탈하면, 전략은 매매 신호를 건너 낸다.
이 전략은 다음과 같습니다.
-
계산 nma, 주기 hullperiod
-
n2ma를 계산하고, 주기는 nma 주기의 반이다.
-
n2ma와 nma의 차이를 계산한다.
-
diff를 sqrt ((hullperiod) 로 계산한 이동 평균은 Hull 라인을 얻는다.
-
Hull 라인을 넘어서서 구매 신호를 발산합니다.
-
가격이 Hull 라인을 넘으면 판매 신호를 냅니다.
-
만약 가격이 헐라인에서 벗어나면 신호를 건너뛰세요.
-
일정한 비율의 포지션으로 입점, 퇴장 손실 방식을 채택하여 손실을 중지
우위 분석
이 전략은 다음과 같은 장점을 가지고 있습니다.
-
헐의 이동 평균을 기반으로 트렌드를 빠르게 파악할 수 있습니다.
-
허울 라인을 사용하여 가짜 신호를 필터링하여 신호 품질을 향상시킵니다.
-
회수와 적자 비율이 좋고, 단선 운영에 적합하다.
-
다양한 시장 환경에 적응할 수 있는 변수 조정 유연성
-
리버스 스톱을 적용하여 적시에 스톱을 하고 위험을 통제합니다.
-
계절성, 특정 기간의 회피 가능한 체계적인 위험
위험 분석
이 전략에는 몇 가지 위험도 있습니다.
-
트렌드 트래킹 전략으로 온종일 거래가 불가능하다
-
트렌드가 바뀌면 더 큰 손실이 발생할 수 있습니다
-
이동 평균 시스템은 뒤떨어져서 전환점을 잡을 수 없습니다.
-
<unk>은 거래가 많고, 거래비용이 높습니다.
-
변수 설정이 잘못되면 흔들리는 시장의 수익이 떨어질 수 있습니다.
위와 같은 위험은 다음과 같은 방법으로 통제할 수 있습니다.
-
마틴겔의 단편적 손실을 통제하기 위한 전략
-
최적화 매개 변수, 다양한 시장 환경의 매개 변수 강도를 테스트
-
동향을 판단하는 지표와 결합하여 반전 중 추격 하락을 피하십시오.
-
지분 보유 시간을 늘리고 거래 빈도를 낮추는 것
최적화 방향
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
-
동력 지표와 결합하여 트렌드의 시작 지점을 확인하고 더 나은 입구를 배치합니다.
-
트렌드 방향과 강도를 판단하는 데 도움이 되는 기계 학습 모델을 추가합니다.
-
실시간 시장에 따라 변수를 조정하는 적응 변수 설정을 사용합니다.
-
다중 시간 주기 Hull 시스템을 구성하고, 다른 기간에 다른 포지션을 구성
-
거래량 에너지 지표와 결합하여 불충분한 가짜 돌파구를 피하십시오.
-
변동율에 따라 역동적으로 위치를 조정하는 변동율 기반의 위치 관리 모듈을 추가합니다.
요약하다
헐 이동 평균 진동 거래 전략은 전체적으로 매우 실용적인 단선 추적 전략이다. 그것은 Hull 이동 평균 시스템을 사용하여 트렌드 방향을 판단하여 진행을 달성하는 목적을 가지고 있다. 단일 이동 평균 시스템에 비해 더 높은 신호 품질과 파라미터의 유연성을 가지고 있다. 이 전략의 장점은 빠른 트렌드 전환을 포착하여 낮은 회수 수익을 얻는 데 있습니다.
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Hull Moving Average Swing Trader by SEASIDE420
strategy("Hull Moving Average Swing Trader", shorttitle="HMA_Swing_Trader", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
hullperiod = input(title="HullMA Period", type=input.integer, defval=210, minval=1)- 1
