
지지/저항선을 매번 손으로 그리는 게 번거로워서, 아예 자동화 알고리즘을 짜봤습니다. 기본 구조는 이렇습니다:
1. 고점/저점처럼 기준이 되는 피벗 포인트를 찾습니다. (해당 봉이 주변 N개보다 높거나 낮은 경우)
2. 비슷한 가격대(P±1.5%)에 있는 피벗들을 하나의 클러스터로 묶습니다. (정확한 선보단 '구간'에 가깝게 인식)
3. 해당 구간의 중요도를 점수화합니다: 터치 횟수 40%, 최근 터치 30%, 가격 밀집도 30% 반영
4. 변동성 고려해서 구간의 넓이는 ATR×0.5로 설정했습니다.
예시 계산식은 다음과 같습니다:
touchScore = Math.min(touches / 5, 1) * 40
recencyScore = (lastTouchIndex / totalCandles) * 0.8 * 30
tightnessScore = Math.max(0, 30 - priceRange * 1000)
추가로, 고점/저점 구조(HH, HL, LH, LL)를 표시해서 트렌드 전환도 파악하도록 했습니다.
아직은 몇 가지 튜닝 중입니다:
- 일봉 기준으론 피벗 파라미터 5 정도면 괜찮은데, 짧은 시간봉에는 너무 클 수도 있음
- 1.5% 기준이 종목마다 달라야 할지 고민
- 중요도를 정할 때 '터치 횟수 vs 최근성'의 비중도 계속 실험 중입니다
혹시 자동으로 지지/저항 잡는 방식 사용하시는 분 계신가요?
몇 번 터치되면 '의미 있는 구간'이라고 판단하는지, 또 자동으로 잡은 선이 수작업보다 백테스트 성능이 좋은지도 궁금합니다.
🧐 배경 설명 및 요약
이 게시물은 단기 매매에서 중요한 기술적 요소인 '지지선/저항선'을 자동화하려는 한 개인의 시도에서 나왔습니다. 작성자는 일일이 선을 그리는 수고로움을 줄이고, 더 일관된 기준을 갖춘 의사결정을 위해 알고리즘을 직접 구성했습니다.
핵심은 '피벗 포인트(고점/저점)'를 찾고, 가까운 가격대를 군집화해 지지/저항 구간을 자동으로 설정하는 구조입니다. 단순히 선 하나가 아니라 구간(zone) 개념으로 접근하며, 해당 구간이 얼마나 중요한지는 터치 횟수, 최근성(얼마나 최근에 반응했는가), 가격대의 밀집도 등을 종합해 점수화합니다.
또한 ATR(평균 진폭)을 활용해, 변동성이 큰 종목일수록 지지/저항 구간도 넓어지도록 조절하는 점이 눈에 띕니다. 작성자 본인은 아직 몇 가지 파라미터(예: 터치 기준 몇 번부터 중요?, 1.5% 기준은 종목마다 바꿔야 하나?)에 대해 실험 중이며, 다른 트레이더들은 어떻게 이런 기준선을 다루는지 궁금해하고 있습니다.
댓글 (0)
로그인하고 댓글을 작성하세요.
아직 댓글이 없습니다.