CoinRF 장기 이동평균선 실시간 알림 시스템
CoinRF 상장 심볼을 Binance Futures 데이터와 연동해 장기 이동평균선 터치와 30분봉 정배열 전환을 감지하고, Telegram과 로컬 대시보드로 실시간 알림을 제공하는 PC 기반 모니터링 도구입니다.
클라이언트 상황
수백 개 코인의 차트를 직접 확인하며 장기 이동평균선 근접 구간을 찾는 데 많은 시간이 들고 있었습니다.
특히 30분봉과 12시간봉 기준의 주요 MA 터치, 정배열 전환 시점을 놓치지 않고 확인할 수 있는 자동화된 보조 도구가 필요했습니다.
요청 내용
CoinRF에 등록된 전체 심볼을 대상으로 MA112, MA224, MA448, MA672, MA896, MA1792 터치 여부를 감지하고 Telegram으로 알림을 보내는 시스템을 요청했습니다.
사용자가 대시보드에서 심볼, 타임프레임, MA, 임계값, Telegram 설정을 직접 변경할 수 있어야 했습니다.
나의 접근 방식
Binance Futures USDT-M REST API를 데이터 소스로 사용해 전체 심볼 가격과 kline 데이터를 수집하도록 설계했습니다.
초기 백필 이후에는 가격 폴링과 캔들 갱신을 분리하고, API 제한을 고려해 동시성 제어와 요청 간격을 조정했습니다.
이동평균 계산은 SMA 기준으로 구현하되, 향후 EMA 확장이 가능하도록 지표 계산 로직을 서비스 계층으로 분리했습니다.
알림 엔진은 이동평균선 터치와 30분봉 정배열 전환을 별도 조건으로 평가하고, (symbol, timeframe, MA, candle_open_time) 기준 중복 방지를 적용했습니다.
운영 화면은 별도 빌드 없이 실행 가능한 단일 HTML 대시보드로 구성해 로컬 PC에서 설정, 상태 확인, 알림 로그 조회가 가능하게 만들었습니다.
결과
사용자는 수백 개 심볼을 직접 순회하지 않고도 주요 장기 이동평균선 근접 구간과 정배열 전환을 실시간으로 확인할 수 있게 되었습니다.
Telegram 알림과 로컬 대시보드를 함께 제공해 즉시성은 유지하면서도 과거 알림 기록과 설정 관리를 한 곳에서 처리할 수 있는 구조를 만들었습니다.