SHARKRULE / 학습 가이드

코인 자동매매 시세 지연: 이벤트·수신·판단 시각 확인법

방금 받은 가격도 과거의 시장 이벤트를 나타낼 수 있습니다. 자동매매 신호를 해석하기 전에 값의 의미, 이벤트가 발생한 시각, 도구가 데이터를 받은 시각, 규칙이 판단에 사용한 시각을 확인하세요. 오래된 관측값으로 당시 조건은 확인할 수 있어도 현재 시장 상태까지 알 수는 없습니다. 필요한 데이터가 없다면 확인 불가입니다. 가격이 0이거나 조건을 충족하지 않았다는 뜻이 아닙니다.

SharkRule · 문서 확인일

시장 이벤트, 데이터 수신, 규칙 판단의 시각을 구분하세요

이벤트 시각은 데이터 출처에서 사건이 발생한 때입니다. 수신 시각은 사용하는 도구가 데이터 도착을 기록한 때이고, 판단 시각은 규칙이 그 값을 사용한 때입니다. 서로 비교할 수 있도록 시계가 동기화되어 있다면 수신 시각에서 이벤트 시각을 빼서 도착까지의 겉보기 지연을 구할 수 있습니다. 판단 시각에서 수신 시각을 빼면 도구 안에서 기다린 시간, 판단 시각에서 이벤트 시각을 빼면 판단 당시 데이터의 경과 시간입니다. 도착 지연에는 출처의 처리 시간, 전달 시간과 시계 오차가 섞일 수 있으므로 네트워크 지연만 측정한 값은 아닙니다.

시각을 빼기 전에 필드의 정의부터 확인하세요. Binance 현물 체결 스트림은 이벤트 시각 E와 체결 시각 T를 구분합니다. 캔들 스트림의 k.T는 캔들 종료 시각으로 의미가 다릅니다. 수신 시각은 데이터를 사용하는 도구가 직접 기록해야 합니다. 출처가 필요한 시각을 제공하지 않으면 그 부분은 확인 불가로 남기세요. 수신 기록이 새롭다는 이유만으로 원래 관측 시각을 알 수는 없습니다.

최근 체결가, 현재 매수·매도 호가, 완성된 캔들의 종가는 서로 다른 정보를 나타냅니다. 방금 완성된 캔들의 종가도 한 구간을 요약하는 값이지, 지금 그 가격에 거래할 수 있다는 약속은 아닙니다. 두 화면의 가격이 다르다고 판단하기 전에 거래소, 현물 거래쌍과 가격 항목이 같은지 비교하세요.

시간표 예시: 방금 받은 값이 방금 관측된 값은 아닙니다

아래의 가격과 시간은 모두 가상 값입니다. 이름을 정하지 않은 현물 시장에서 관측 가격이 100 이하인지 확인하는 규칙을 가정합니다. 이 학습 예시는 시계가 동기화되어 있고, 판단 시점에 이벤트 발생 후 5초 이내인 관측값만 사용합니다. 5초는 설명을 위해 정한 기준이며 권장 설정, 거래소 요구사항 또는 SharkRule의 설정 항목이 아닙니다. 이 연습에서는 주문을 전송하지 않습니다.

첫 행에서는 도착까지의 겉보기 지연이 4초이고 도구 안에서 기다린 시간이 5초입니다. 따라서 판단 시점의 경과 시간은 4 + 5 = 9초입니다. 가격 99는 100보다 낮지만 이 관측값은 예시의 최신성 기준을 충족하지 않습니다. 지금도 조건을 충족한다고 볼 근거가 되지 못합니다.

가상 관측 기록: 모든 시간은 UTC, 가격은 결제 통화 단위
이벤트 시각수신 시각판단 시각가격이벤트 후 경과 시간해석
12:00:0012:00:0412:00:09999초예시 기준보다 오래됨. 현재 조건은 확인 불가
12:00:1012:00:1112:00:121012초예시 기준 충족. 101 ≤ 100은 거짓
12:00:0312:00:1312:00:139810초늦게 도착한 과거 이벤트. 더 최신의 가격 관측이 아님

데이터가 복구되면 다시 판단해야 합니다

두 번째 행은 도착 지연 1초에 도구 안에서 기다린 1초를 더해 이벤트 후 2초가 지났습니다. 이 예시에서는 조건을 다시 판단할 수 있으며 결과는 조건 불충족입니다. 사용할 수 있는 데이터가 돌아왔다고 이전 값 99를 근거로 실행하는 것은 아닙니다. 세 번째 행의 메시지는 가장 늦게 도착했지만 이벤트 자체는 두 번째 행보다 7초 앞섭니다. 과거 기록으로 보관하고 더 최신인 관측값을 조용히 덮어쓰지 않아야 합니다.

입력값을 사용할 수 있는지와 가격 조건을 충족하는지는 따로 확인하세요. 이 예시의 결과는 근거 부족, 사용할 수 있는 근거로 확인한 조건 불충족, 사용할 수 있는 근거로 확인한 조건 충족으로 나뉩니다. 마지막 경우에도 규칙의 권한, 한도와 나머지 요구사항을 확인해야 합니다. 시간표는 관측값을 해석하는 방법을 보여 주며 SharkRule 내부의 조회 주기나 복구 알고리즘을 설명하지 않습니다.

누락된 캔들과 아직 끝나지 않은 캔들은 따로 확인하세요

방금 갱신된 캔들도 아직 완성되지 않았을 수 있습니다. 반대로 완성된 캔들이 늦게 도착할 수도 있습니다. Binance의 캔들 스트림은 k.x로 완성 여부를 따로 표시하고, REST 캔들 기록은 시작 시각으로 식별합니다. 기록 개수를 세기 전에 필요한 간격과 구간 경계를 맞추세요. 계산에 연속된 1분 봉 3개가 필요한데 시작 시각이 12:00, 12:01, 12:03인 기록만 있다면, 행이 3개여도 연속 3분은 아닙니다. 12:02가 빠져 있습니다.

빈 구간은 수집 실패, 불완전한 응답 또는 거래가 없는 구간을 다루는 거래소 규칙 때문일 수 있습니다. 예를 들어 업비트는 해당 구간에 체결이 없으면 분 캔들을 생성하지 않는다고 명시합니다. 이는 업비트의 규칙이며 Binance의 동작이나 SharkRule의 업비트 연결 지원을 뜻하지 않습니다. 빈 구간을 장애로 분류하기 전에 출처의 규칙을 확인하세요.

이유를 모르는 누락 구간은 드러나게 남기세요. 0을 넣으면 없었던 가격을 만들고, 이전 종가를 복사하면 없었던 관측값을 만듭니다. 어느 쪽이든 규칙의 계산을 바꿀 수 있습니다. 가능하면 같은 시장과 간격에서 필요한 기록을 복구하고, 실제 관측인지 재구성한 값인지 구분해 기록하세요. 차트가 끊김 없이 보인다고 입력 데이터에 누락이 없다는 뜻은 아닙니다.

시장 데이터를 기다리는 규칙의 점검표

아래 항목으로 짧은 진단 기록을 만들어 보세요. 모든 도구가 모든 시각이나 설정을 보여 주는 것은 아닙니다. 근거가 없으면 확인 불가라고 적으세요. 대기 중인 규칙을 억지로 실행하려고 예산을 늘리거나 가격 조건을 완화하지 마세요.

  1. 거래소, 현물 거래쌍, 규칙 버전과 필요한 입력값을 확인합니다. 최근 체결가, 매수·매도 호가, 캔들 종가, 지표 중 무엇인지 적고 데이터 출처를 일관되게 유지합니다.
  2. 출처가 제공하는 시각의 의미, 단위와 시간대를 적고, 확인할 수 있다면 수신 시각과 판단 시각도 남깁니다. 밀리초와 초를 혼동하면 안 됩니다. 경과 시간이 음수이거나 예상보다 크다면 해석하기 전에 시계가 맞는지 확인합니다.
  3. 연결 상태와 사용할 수 있는 최신 시장 데이터를 별도로 확인합니다. 연결 메시지나 요청 성공만으로 최근 가격을 관측했다고 볼 수는 없습니다. 연결이 정상이어도 거래가 뜸한 시장에서는 새 체결이 없을 수 있습니다.
  4. 캔들은 규칙 계산에 필요한 전체 구간에서 경계, 완성 여부, 중복과 누락을 확인합니다. 마지막 행이 최신이어도 앞선 필수 입력값의 누락이 해결되지는 않습니다.
  5. 실제 대기 사유와 마지막으로 유효했던 관측값을 기록합니다. 저장된 규칙과 기존 한도를 유지한 채 최신의 완전한 데이터로 다시 판단합니다. 중단 중에 있었던 것으로 보이는 기회를 전부 뒤늦게 실행하지 않습니다.
  6. 이미 실제 주문을 보냈다면 원래 주문과 체결 내역을 별도로 확인합니다. 데이터가 복구되어도 전송 결과가 불명확한 주문이 해결되거나, 미체결 주문이 취소되거나, 대체 주문이 허용되는 것은 아닙니다.

흔한 혼동: 정상 연결을 최신 가격의 증거로 보는 것

Binance는 API가 비동기로 작동하며 데이터 출처에 따라 갱신 지연이 다를 수 있다고 설명합니다. 따라서 응답 성공이 최신 데이터라는 보증은 아닙니다. 최근 체결 시각이 오래되었다고 데이터 전송 장애라고 단정할 수도 없습니다. 먼저 출처 문서의 동작을 바탕으로 거래가 드문 시장과 업데이트 누락을 구분하세요. 모든 입력값과 규칙에 공통으로 맞는 유효 시간은 없습니다.

요청을 계속 재시도하면 진단이 더 어려워질 수 있습니다. 거래소의 요청 한도와 재시도 지침을 따르세요. 데이터를 다시 요청하는 일이 중복 주문 전송으로 이어지면 안 됩니다. Binance는 주문 요청이 시간 초과되면 체결 상태가 불명확할 수 있다고 안내합니다. 가격 데이터가 정상으로 돌아온 것을 주문 실패의 증거로 보지 말고 원래 주문을 대조하세요. SharkRule에서는 해결되지 않은 Binance 주문 전송 결과가 있으면 추가 Binance 주문 전송이 계속 차단되어야 합니다.

사용할 수 있는 데이터가 있어도 체결 가격을 확보할 수는 없습니다. 수수료, 슬리피지, 일부 체결, 미체결과 거래소 장애는 여전히 중요하며 규칙이 기다리는 동안 보유 자산의 가치가 하락할 수 있습니다. 시뮬레이션으로 미래의 실제 체결을 입증할 수는 없습니다. 이 글은 작동 원리를 설명하며 자산, 자금 배분, 주문 규모나 전략을 추천하지 않습니다. SharkRule은 독립적인 소프트웨어이며 금융·투자 자문사가 아닙니다. 언급한 거래소와 제휴하거나 이들의 보증을 받은 서비스도 아닙니다.

다음 단계: 대기 사유와 데이터 시각을 함께 확인하세요

출처에 연결된 SharkRule 한국어 모의투자 안내를 열어 보세요. 현재 안내는 데이터 시각을 검토하고, 필요한 입력값이 없으면 최신 데이터가 올 때까지 기다린다고 설명합니다. 이 설명을 참고해 지원되는 Shark 하나의 조건, 활동 기록과 확인 가능한 데이터 시각을 가상 예산과 함께 검토한 뒤 시뮬레이션 시작 여부를 결정하세요. 안내가 사용자가 정하는 5초 유효 시간 설정이나 특정 복구 속도를 보장하는 것은 아닙니다.

시뮬레이션은 가상 자금을 사용하며 실제 거래소 주문을 승인하지 않습니다. 나중에 실제 자금을 사용하려면 별도로 검토하고 명시적으로 시작해야 합니다. 이용 가능 여부는 현재 대시보드, 계정과 거주 지역에 따라 결정됩니다.

자주 묻는 질문

방금 페이지를 새로고침했다면 가격도 최신인가요?

반드시 그렇지는 않습니다. 페이지 새로고침, 메시지 수신과 실제 시장 이벤트는 각각 시각이 다릅니다. 출처의 시각과 그 의미를 확인하세요. 새로고침한 페이지에도 저장되어 있던 이전 값이 전달될 수 있습니다.

데이터가 없다는 것은 조건 불충족과 같은 뜻인가요?

아닙니다. 조건 불충족이라고 판단하려면 비교에 사용할 수 있는 근거가 필요합니다. 필수 입력값이 없거나 규칙에 명시된 기준보다 오래되었다면 그 값으로 현재 조건의 참·거짓을 확인할 수 없습니다. 대기 이유를 따로 기록하세요.

분 캔들이 빠졌다면 항상 연결이 끊긴 건가요?

아닙니다. 시장, 요청 구간과 출처의 처리 규칙을 확인하세요. 체결이 없는 구간을 생략하는 거래소도 있고 다른 방식으로 표시하는 곳도 있을 수 있습니다. 한 거래소의 규칙을 다른 곳에 적용하거나 누락된 캔들을 몰래 만들어 채우면 안 됩니다.

데이터가 최신이면 주문도 반드시 체결되나요?

아닙니다. 입력값의 유효성, 실행 권한과 거래소 체결은 별개입니다. 최신 정보를 확인한 뒤에도 가격 변동, 수수료, 일부 체결이나 미체결이 생길 수 있습니다. 이전에 전송한 주문의 결과가 데이터 갱신으로 확인되는 것도 아닙니다.

공식 자료와 출처

링크된 공식 문서를 바탕으로 AI의 도움을 받아 작성했습니다. 예시는 가상 상황이며 실제 계정 테스트나 수익률 비교를 수행하지 않았습니다.