다중 지표 조합 적응형 추세 전략
개요
본 전략은 이중 Hull 이동 평균선 지표, 거래량 가중 이동 평균선 지표, MACD 지표 및 실제 강도 지표(True Strength Index, TSI)를 조합하여 추세를 정확하게 판단합니다. 시장 환경의 변화에 자동으로 적응할 수 있어 적응성이 뛰어납니다.
전략 원리
이 전략의 핵심 지표는 이중 Hull 이동 평균선으로, keh와 teh 두 매개변수에 의해 계산이 제어됩니다. 이 두 매개변수는 각각 빠른선과 느린선의 주기를 결정합니다. 빠른선과 느린선이 골든크로스(상향 교차) 및 데드크로스(하향 교차)를 형성하여 현재 추세를 판단합니다.
보조 판단 지표로는 거래량 가중 이동 평균선 meh1이 있습니다. 가격이 meh1보다 높으면 강세( bullish ) 상황, 가격이 meh1보다 낮으면 약세( bearish ) 상황으로 간주합니다.
또 다른 보조 판단 지표는 MACD입니다. 이는 빠른 이동 평균선에서 느린 이동 평균선을 뺀 값인 MACD 라인을 구하고, MACD 라인의 이동 평균선을 구하여 시그널 라인을 얻습니다. MACD가 시그널 라인보다 높으면 강세 상황으로 봅니다.
마지막 보조 판단 지표는 TSI로, 가격 변화율의 이중 평활화(double smoothing)를 통해 계산됩니다. 그 절대값은 가격 변화의 모멘텀을 나타냅니다. 매수 및 매도 조건에서 TSI의 시그널 라인을 판단하여 진입(Entries) 및 청산(Exits) 시점을 제어합니다.
이러한 여러 지표의 신호를 종합하면 추세를 정확하게 판단할 수 있으며, 매개변수를 자동으로 조정하여 시장과 동기화됩니다.
전략의 장점
- 이중 Hull 이동 평균선을 주요 판단 지표로 사용하고 다른 여러 지표를 조합하여 사용함으로써 판단 정확도를 높이고 잘못된 신호를 줄일 수 있습니다.
- TSI 지표를 적용하여 시장 진입 및 청산 시점을 판단함으로써 위험을 통제할 수 있습니다.
- 다양한 매개변수를 직접 조정할 수 있어 적응성이 뛰어나며 시장 변화에 자동으로 적응할 수 있습니다.
- 지표 조합 및 매개변수 자기 적응 방식을 채택하여 전략의 안정성이 좋고 지속적인 수익 창출 능력이 뛰어납니다.
위험 분석
- TSI 지표로 시점을 판단하기는 하지만, 사용되는 지표는 여전히 추세 유형이므로 횡보장(레인지 장세)을 만나면 손익 변동성이 커질 수 있습니다.
- 매개변수를 잘못 설정하면 전략이 무력화될 수 있으므로 자신의 경험에 따라 합리적으로 매개변수를 설정해야 합니다.
- 여러 지표를 조합하면 계산량이 증가하여 데이터 양이 많거나 특정 기간에 오류가 발생할 가능성이 높아지므로 데이터 범위를 제어해야 합니다.
- 지표 계산 결과를 모니터링하여 이상 데이터의 간섭을 방지해야 합니다.
전략 최적화 방향
- 다른 보조 지표(예: 볼린저 밴드(BOLL) 등)를 추가하여 신호의 정확성과 신뢰성을 높이는 테스트를 해볼 수 있습니다.
- 진입 및 청산 로직을 최적화하고 손절매 및 이익 실현 조건을 설정하여 개별 거래의 손익을 통제합니다.
- 거래 대상별로 매개변수를 학습 및 최적화하여 다양한 종목에 더 잘 적응하도록 합니다.
- 매개변수 자기 적응 모듈을 추가하여 최근 거래 결과에 따라 전략 매개변수가 자동으로 조정되도록 합니다.
요약
본 전략은 여러 지표의 장점을 통합하고 지표 조합을 통해 추세 방향을 판단하여 위험을 통제하는 동시에 판단 정확도를 높였습니다. 매개변수 최적화 및 로직 최적화를 통해 전략이 시장 변화에 더 잘 적응하고 연속 손실을 줄이면서 더 큰 수익을 얻을 수 있습니다. 전략의 안정성이 좋아 주식, 암호화폐 등 다양한 종목에 장기적으로 적용할 수 있습니다.
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Quad-HullMA-cross & VWMA & MacD & TSI combination <<<<< by SeaSide420 >>>>>>
strategy("MultiCross420", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)
keh=input(title="Double HullMA 1",defval=7, minval=1)- 1

