이중 모멘텀 지표 돌파 전략
개요
이 전략은 이중 모멘텀 지표 돌파 전략입니다. 서로 다른 매개변수 설정을 가진 두 개의 모멘텀 지표를 사용하며, 두 모멘텀 지표가 모두 제로선을 돌파할 때 매매 신호를 생성합니다. 이 전략은 롱 포지션 진입만 수행하며, 숏 포지션은 청산에만 사용됩니다.
전략 원리
코드는 먼저 주문 모드, 수수료 모드 등의 전략 속성을 설정합니다. 그런 다음 두 개의 모멘텀 지표를 계산합니다.
pine
// Momentum settings
i_len = input(defval = 12, title = "Length", minval = 1)
i_src = input(defval = close, title = "Source")
i_percent = input(defval = true, title = "Percent?")
i_mom = input(defval = "MOM2", title = "MOM Choice", options = ["MOM1", "MOM2"])
// Momentum code
mom0 = momentum(i_src, i_len, i_percent)
mom1 = momentum(mom0, 1, i_percent)
mom2 = momentum(i_src, 1, i_percent)
momX = mom1
if i_mom == "MOM2"
momX := mom2
mom0은 기본 모멘텀 지표로, 길이는 i_len, 데이터 소스는 i_src, 백분율 계산 여부는 i_percent에 의해 결정됩니다.
mom1은 mom0을 데이터 소스로 하고 길이가 1인 모멘텀 지표입니다.
mom2는 원본 데이터 i_src를 소스로 하고 길이가 1인 모멘텀 지표입니다.
최종적으로 사용되는 모멘텀 지표 momX는 기본적으로 mom1이며, mom2를 선택할 수도 있습니다.
mom0과 momX가 동시에 0선을 돌파하면 롱 포지션을 진입하고, mom0과 momX가 동시에 0선 아래로 내려가면 포지션을 청산합니다.
전략 장점
-
서로 다른 매개변수 설정을 결합한 이중 모멘텀 지표를 사용하여 매매 신호의 신뢰성을 높일 수 있으며, 이중 확인을 통해 가짜 신호를 줄일 수 있습니다.
-
롱 포지션 진입만 수행하고 숏 포지션은 청산에만 사용하므로 매매 빈도를 낮추고 거래 비용을 절감할 수 있습니다.
-
모멘텀 지표의 매개변수를 조정할 수 있어 다양한 시장 환경에 대응할 수 있습니다.
-
코드 구조가 명확하여 이해 및 수정이 쉽습니다.
-
매매 메시지 설정이 추가되어 자동매매 시스템과 함께 사용할 수 있습니다.
전략 리스크
-
이중 모멘텀 지표는 가짜 신호를 줄일 수 있지만, 약한 추세 신호를 놓칠 수도 있습니다.
-
롱 포지션 매매만 수행하므로 숏 포지션 기회를 놓칠 수 있습니다.
-
모멘텀 지표의 매개변수 설정이 부적절하면 너무 빈번하거나 너무 느린 매매가 발생할 수 있습니다.
-
백테스트 데이터가 충분하지 않으면 매개변수 과적합이 발생할 수 있습니다.
-
이중 확인으로 가짜 신호가 줄어들지만 완전히 방지할 수는 없으며, 실제 거래 시에도 돌파 유효성에 주의해야 합니다.
전략 최적화 방향
-
다양한 길이 및 백분율 계산 여부의 매개변수 조합을 테스트하여 최적의 매개변수를 찾을 수 있습니다.
-
추세 확인 후 숏 포지션 신호를 추가하여 더 많은 거래 기회를 포착하는 것을 고려할 수 있습니다.
-
ROC, RSI 등 다양한 모멘텀 지표 계산 방식을 테스트하여 더 나은 효과를 찾을 수 있습니다.
-
추세 필터를 결합하여 횡보장에서의 거래를 피할 수 있습니다.
-
손절 전략을 최적화하여 수익을 극대화하면서 리스크를 관리할 수 있습니다.
요약
본 전략은 전형적인 이중 모멘텀 지표 돌파 전략입니다. 이중 확인을 통해 가짜 신호를 줄이고 롱 포지션 진입만 수행하여 매매 빈도를 낮춥니다. 이 전략의 장점은 간단명료하고 구현이 쉬우며, 매개변수 최적화 및 리스크 관리 시 개선 여지가 크다는 점입니다. 전반적으로 본 전략은 모멘텀 돌파 전략의 기본 프레임워크로서 유효하지만, 실제 거래에서 안정적인 수익을 내기 위해서는 특정 시장에 맞춰 최적화 및 조정이 필요합니다.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Momentum Long Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true)
// There will be no short entries, only exits from long.- 1

