동적 지지 저항 백테스트 전략
개요
본 전략은 전일 고가, 저가, 종가로 계산된 지지/저항 레벨을 기반으로 당일 롱 포지션 또는 숏 포지션을 진입합니다. 가격이 상단 저항선 R1을 돌파하면 매수하고, 하단 지지선 S1을 하향 돌파하면 매도합니다. 이 전략은 동적 지지/저항 전략에 해당합니다.
전략 원리
-
전일 고가(xHigh), 저가(xLow), 종가(xClose)를 이용하여 당일의 지지선 S1, 저항선 R1 및 피벗 포인트 vPP를 계산합니다.
vPP = (xHigh + xLow + xClose) / 3
vR1 = vPP + (vPP - xLow)
vS1 = vPP - (xHigh - vPP)
-
가격이 vR1을 돌파하거나 vS1을 하향 돌파하는지 판단합니다. vR1을 돌파하면 롱, vS1을 하향 돌파하면 숏으로 진입합니다. POS는 롱/숏 방향을 기록합니다.
pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0))) -
possig는 실제 거래 방향을 기록합니다. 역방향 거래(reverse = true)가 활성화되면 거래 신호를 반전합니다.
-
possig 신호에 따라 vR1 돌파 시 매수, vS1 돌파 시 매도합니다.
전략 장점
- 동적 지지/저항 지표를 활용하여 돌파 추세를 포착할 수 있습니다.
- 지지/저항 레벨이 매일 갱신되어 동적 특성을 가집니다.
- 정방향 또는 역방향 거래를 선택할 수 있어 다양한 시장 환경에 적용 가능합니다.
- 전략 개념이 간단 명료하여 이해 및 구현이 쉽습니다.
- 지지/저항 레벨을 시각화하여 추세 전환을 직관적으로 판단할 수 있습니다.
리스크 분석
- 횡보장에서는 불필요한 매매 신호가 여러 번 발생할 수 있습니다.
- 비정상적인 추세장에서 지지/저항이 돌파된 후에도 추세가 계속되어 손실이 발생할 수 있습니다.
- 피벗 포인트 및 지지/저항 계산 방법이 단순하여 추가 최적화가 필요합니다.
리스크 해결 방법:
- 포지션 크기를 적절히 조정하여 단일 손실을 제한합니다.
- 손절매(Stop Loss)를 설정하여 감당 가능한 손실을 초과하지 않도록 합니다.
- 다른 지표를 결합하여 신호를 필터링함으로써 횡보장에서의 잦은 거래를 피합니다.
최적화 방향
- 지지/저항 레벨의 계산 방법을 개선하여 예측력을 높입니다.
- 추세, 모멘텀 등의 지표를 추가로 결합하여 불필요한 거래를 줄입니다.
- 손절매 전략을 추가하여 단일 손실 및 최대 손실을 제어합니다.
- 머신러닝 방법을 도입하여 지지/저항 레벨 계산을 동적으로 최적화합니다.
요약
본 전략은 동적 지지/저항 지표를 기반으로 가격 돌파 방향에 따라 포지션을 보유합니다. 전략 개념이 단순하여 이해 및 구현이 용이하며, 추세 전환점을 효과적으로 포착할 수 있습니다. 그러나 일정한 리스크가 존재하므로 다른 지표와 함께 추가 최적화하여 거래 신호의 정확성과 신뢰성을 높여야 합니다. 전반적으로 본 전략은 보조 판단 지표로 사용하거나 퀀트 트레이딩의 기본 전략 중 하나로 적합합니다.
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and
// divided by 3 to find the pivot. From this pivot, traders would then base their
// calculations for three support, and three resistance levels. The calculation for the most
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:- 1

