신호 평활화 기반 Els Cycle 전략
개요
이 전략은 평형 처리된 가격 신호를 계산하여, 엘러스 (Ehlers) 의 순환 지표 이론과 결합하여 거래 신호를 평형화하는 엘러스 순환 거래 전략을 설계한다. 이 전략은 시장 소음을 효과적으로 필터링하여 더 신뢰할 수있는 거래 신호를 생성한다.
전략 원칙
-
원시 가격 신호src에 대해 2단계 평소 처리를 하여 평소 신호smooth을 얻는다.
-
평형 신호에 따라 회전 지수 cycle.를 계산한다. 계산 방법은 다음과 같다.
cycle := (1 - .5 alpha) (1 - .5 alpha) (smooth - 2 smooth[1] + smooth[2]) + 2 (1 - alpha) cycle[1] - (1 - alpha) (1 - alpha) * cycle[2]여기서 α는 평평함수이다.
-
순환 지표에 대한 1단 지수 평준화를 하여 최종 거래 신호를 얻는다. 계산 방법은 다음과 같다:
signal := alpha2 cycle + (1 - alpha2) nz(signal[1])여기서 α2는 1단 평준화 변수이다.
-
신호가 신호를 통과할 때[1] 때 더 많은 일을; 때 신호 아래에서 통과signal[1] 공백시간.
전략적 강점 분석
-
가격 신호의 2단 평준화를 통해 고주파 노이즈를 효과적으로 필터링하여 거래 신호를 더욱 신뢰할 수 있게 한다.
-
에르스 순환 지표 이론을 적용하면 시장 추세의 전환점을 더 정확하게 판단할 수 있다.
-
1단 지수는 순환 지표의 일부 잡음을 부드럽게 필터링하여 더 신뢰할 수있는 거래 신호를 생성합니다.
-
전체 전략 프로세스는 합리적이고 과학적이며, 매개 변수 최적화 공간이 넓고, 실디 성능이 우수하다.
위험 분석
-
다른 기술 지표 전략과 마찬가지로, 이 전략은 시장의 체계적 위험에 민감하다. 중대한 블랙 스<unk> 사건이 발생하면 큰 손실이 발생할 수 있다.
-
계산 과정이 복잡하기 때문에, 파라미터를 잘못 설정하면 계산 지연이 발생할 수 있으며, 이로 인해 리스크 효과에 영향을 미칩니다. 파라미터를 설정하는 것이 과학적으로 합리적인지 확인하기 위해 신중한 테스트가 필요합니다.
-
부드러운 처리는 또한 거래 신호의 지연을 초래할 수 있으며, 시장의 전환점을 적시에 잡지 못하여 기회를 놓치게 될 수 있습니다. 부드러운 매개 변수의 설정을 조정해야합니다.
전략 최적화 방향
-
다양한 종류의 평준화 알고리즘을 테스트할 수 있다. 예를 들어, 1단 지수 평준화, 평균선 평준화 등이 있다. 최적의 평준화 솔루션을 찾아내기 위해서다.
-
시장 상황에 따라 역동적으로 변수를 조정하는 적응 변수 조정 메커니즘을 도입할 수 있으며, 전략의 융통성을 높일 수 있다.
-
단편적 손실의 위험을 줄이고 동시에 수익을 잠금하는 Stop Loss 및 Stop Stop 전략을 설계할 수 있습니다.
-
다른 기계 학습 모델과 결합하여 다른 모델을 사용하여 거래 신호를 필터링하는 모델 조합을 구현할 수 있습니다.
요약하다
이 전략은 가격 신호 평준화와 엘스 순환 지표 계산을 통해 거래 신호 평준화 된 엘스 순환 거래 전략을 설계했다. 이 전략은 잡음을 효과적으로 필터링하여 더 신뢰할 수있는 거래 신호를 생성할 수 있다. 동시에 변수 공간이 넓고 실디 효과가 좋다. 적응 장치, 손해 방지 전략 등의 최적화를 도입하여 전략의 안정성과 효과를 더욱 향상시킬 수 있다.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Ehlers Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
src = input(hl2, title = "Source")
alpha = input(.07, title = "Alpha")- 1

