Skip to content

YesTrader 고도화 2: 눌림 카운팅과 실시간 알림 구조 만들기

YesTrader 고도화 2단계에서는 매매 아이디어를 더 구체적인 실시간 신호 구조로 바꾸는 작업을 진행했습니다. 1편에서는 매매 아이디어를 코드 구조로 나누는 방향을 정리했다면, 이번에는 실제 차트에서 눌림 카운팅, 진입 후보, 소리 알림, 팝업 알림까지 연결하는 단계로 들어갔습니다.

이번 작업의 핵심은 진입 신호를 많이 만드는 것이 아니라, 사람이 차트에서 보고 있던 판단 순서를 코드가 그대로 따라오게 만드는 것이었습니다.

상승추세와 눌림을 분리해서 보기

가장 먼저 정리한 기준은 상승추세와 눌림을 섞지 않는 것이었습니다. 상승추세에서는 전고점을 계속 돌파하는 흐름이 중요합니다. 전고점을 돌파하지 못하면 그때부터 눌림 후보로 보고, 이후 저점 이탈과 양봉 전환을 기준으로 눌림 카운트를 세도록 구조를 잡았습니다.

  • 전고점 돌파 실패는 양봉/음봉 색이 아니라 고가가 전고점을 넘었는지로 판단합니다.
  • 전고점을 돌파하지 못한 뒤, 음봉이 기준 저점을 깨면 눌림 하방 진행으로 봅니다.
  • 그 다음 음봉에서 양봉으로 전환되면 L-P1, L-P3, L-P5, L-P7 순서로 카운팅합니다.
  • L-P1은 확인 자리이고, 실제 진입 후보는 L-P3부터 봅니다.
  • L-P3, L-P5, L-P7을 롱 진입 후보로 표시합니다.

하락추세에서는 같은 구조를 반대로 적용합니다. 전저점을 돌파하지 못하고 반등이 나온 뒤, 양봉이 기준 고점을 넘고 다시 음봉으로 전환되면 S-P1, S-P3, S-P5, S-P7로 카운팅합니다.

P7 이후 추세 전환 기준

눌림이 L-P7까지 진행된 뒤에도 전고점을 돌파하지 못하고, 다시 L-P7의 저점을 깨면 더 이상 정상 눌림으로 보기 어렵습니다. 이 경우에는 상승추세 실패로 보고 하락추세 전환 후보로 판단하도록 기준을 잡았습니다.

전고점 돌파 전까지는 L-P3, L-P5, L-P7을 진입 후보로 보고, L-P7 저점이 다시 깨지면 TREND SHORT 전환 후보로 본다.

이 기준을 세운 이유는 눌림과 추세 전환이 차트에서는 비슷해 보이기 때문입니다. 단순히 가격이 내려갔다고 바로 하락추세로 바꾸면 상승추세 안의 정상 눌림을 놓칠 수 있습니다. 반대로 P7 이후에도 저점이 계속 깨지면 더 이상 눌림으로만 보기 어렵습니다.

확정 신호와 실시간 예고 신호

차트에 찍힌 L-P3, L-P5, L-P7은 봉이 완성된 뒤 확인되는 확정 신호입니다. 하지만 실제 매매에서는 봉이 완성된 뒤에 보는 것만으로는 늦을 수 있습니다. 그래서 확정 신호와 실시간 예고 신호를 분리했습니다.

  • 확정 표시: 과거 봉에는 ENTRY ▲ L-P3, ENTRY ▲ L-P5, ENTRY ▲ L-P7로 표시합니다.
  • 실시간 예고: 현재 봉이 마감 30초 전이고 조건이 맞으면 LIVE ▲ L-P3, LIVE ▲ L-P5, LIVE ▲ L-P7로 표시합니다.
  • 하락추세에서는 ENTRY ▼ S-P3, LIVE ▼ S-P3처럼 반대로 표시합니다.

이렇게 나누면 과거 차트에서는 진입 타점이 맞는지 복기할 수 있고, 실시간 차트에서는 실제 대응 타이밍을 놓치지 않도록 준비할 수 있습니다.

소리 알림과 Windows 팝업

차트를 계속 보고 있을 수 없는 상황을 고려해 알림 구조도 추가했습니다. 실시간 진입 후보가 발생하면 YesLanguage의 PlaySound 함수로 Windows 기본 알림음을 재생하도록 했습니다.

팝업 알림은 별도의 Windows 감시 스크립트로 분리했습니다. 지표가 신호를 JZONE_ALERT.csv에 기록하면, PowerShell 감시 프로그램이 그 파일을 읽고 Windows 팝업을 띄우는 구조입니다.

  • 소리 알림: C:\Windows\Media\Alarm01.wav 사용
  • 팝업 로그 파일: JZONE_ALERT.csv
  • 팝업 실행 파일: start_jzone_popup_watcher_modal.cmd
  • 중지 파일: stop_jzone_popup_watcher.cmd

같은 봉에서 틱이 여러 번 들어와도 소리와 팝업이 반복해서 폭주하지 않도록, 같은 방향과 같은 파동 번호에서는 한 번만 알림이 발생하도록 제한했습니다.

현재 구현된 핵심 입력값

UseNearCloseFilter(1)
LeadBeforeCloseSec(30)
EntryStartWave(3)
EntryEndWave(7)
UseSoundAlert(1)
UsePopupLog(1)

이 설정은 실시간 진입 후보를 마감 30초 전에만 보여주고, L-P3부터 L-P7까지를 진입 후보로 보며, 소리와 팝업 알림을 함께 사용한다는 의미입니다.

다음 확인할 점

  • 실제 장중 데이터에서 LIVE 신호가 마감 30초 전에 안정적으로 표시되는지 확인합니다.
  • L-P3 이후 전고점 돌파 실패 구간에서 L-P5, L-P7이 의도한 위치에 찍히는지 확인합니다.
  • L-P7 저점 이탈 후 TREND SHORT 전환이 너무 빠르거나 늦지 않은지 검증합니다.
  • 팝업 감시 프로그램이 장시간 실행되어도 중복 알림 없이 안정적으로 동작하는지 확인합니다.

이번 고도화에서 가장 크게 달라진 점은 신호가 차트 안에만 머물지 않게 된 것입니다. 이제 진입 후보는 차트 표시, 소리, Windows 팝업으로 이어질 수 있습니다. 수동매매를 하더라도 차트를 계속 응시하지 않고, 중요한 순간에만 다시 화면으로 돌아올 수 있는 구조에 가까워졌습니다.