시장가 주문과 지정가 주문, 자동매매에서는 어떤 방식을 사용해야 할까? 슬리피지 줄이는 방법 > 매매 기술 노트
본문 바로가기
코인랩 코인랩 업비트·빗썸 자동매매 리서치 & 기술노트
사이트 내 전체검색

매매 기술 노트

실전지식 시장가 주문과 지정가 주문, 자동매매에서는 어떤 방식을 사용해야 할까? 슬리피지 줄이는 방법

게시물 옵션

본문

코인랩 매매 기술 노트 · 실전지식

시장가 주문과 지정가 주문, 자동매매에서는 어떤 방식을 사용해야 할까? 슬리피지 줄이는 방법

자동매매나 암호화폐 거래를 하다 보면 단순히 "시장가가 좋을까, 지정가가 좋을까?"라는 고민을 하게 됩니다.
하지만 실제 거래에서는 어느 한쪽이 무조건 좋은 것은 아닙니다.
중요한 것은 현재 시장 상황과 전략의 목적, 거래량, 호가창의 유동성, 그리고 주문이 체결되어야 하는 긴급성입니다.
특히 자동매매에서는 주문 가격을 잘못 설정하면 백테스트에서는 수익이 발생했는데 실제 거래에서는 수익률이 떨어지는 상황도 발생할 수 있습니다.
그 대표적인 원인이 바로 슬리피지(Slippage)입니다.

시장가 주문과 지정가 주문의 차이

시장가 주문

시장가 주문은 말 그대로 현재 시장에서 체결 가능한 가격으로 즉시 주문을 실행하는 방식입니다.
가장 큰 장점은 체결 가능성이 높다는 것입니다.
가격이 빠르게 움직이는 상황에서 손절해야 하는데 지정가 주문을 걸어놓고 체결을 기다리면 가격이 더 불리하게 움직일 수 있습니다.
따라서 다음과 같은 상황에서는 시장가 주문이 유리할 수 있습니다.

  • 급격한 하락이 발생한 손절 상황
  • 빠른 익절이 필요한 상황
  • 포지션을 반드시 정리해야 하는 상황
  • 호가가 빠르게 움직이는 변동성 확대 구간

시장가 주문의 단점은 원하는 정확한 가격을 보장할 수 없다는 것입니다.
특히 거래량이 적거나 호가가 얇은 코인에서는 주문 수량이 여러 가격대에서 나누어 체결되면서 예상보다 불리한 가격에 체결될 수 있습니다.

지정가 주문

지정가 주문은 내가 원하는 가격을 직접 지정해서 주문하는 방식입니다.
예를 들어 현재 매도 1호가가 100,000원이라면 99,900원 또는 그보다 낮은 가격에 매수 주문을 제출하는 식입니다.
지정가 주문의 가장 큰 장점은 불필요한 슬리피지를 줄일 수 있다는 것입니다.
하지만 단점도 있습니다.
가격이 내가 지정한 가격까지 내려오지 않으면 주문이 체결되지 않습니다.
자동매매에서는 이것이 상당히 중요한 문제입니다.
신호가 발생했다고 해서 무조건 매수한 것이 아니기 때문에 지정가 주문이 미체결된 상태에서 시장이 다시 상승하면 좋은 진입 기회를 놓칠 수 있기 때문입니다.
따라서 자동매매에서는 단순히 지정가 주문을 넣는 것으로 끝내는 것이 아니라 미체결 주문을 관리하는 로직이 필요합니다.

자동매매에서는 어떤 주문 방식을 사용하는가?

자동매매에서는 일반적으로 진입과 청산의 목적을 구분해서 주문 방식을 선택하는 것이 효율적입니다.

1. 일반적인 매수 진입 → 지정가 주문

시장 상황이 안정적이고 급하게 진입할 필요가 없다면 지정가 주문을 활용할 수 있습니다.
현재 호가와 스프레드를 확인한 뒤 적절한 가격에 주문을 제출하면 불필요한 슬리피지를 줄일 수 있습니다.
특히 거래량이 충분한 종목에서는 지정가 주문을 활용해 체결 가격을 관리하는 것이 유리합니다.
다만 지나치게 낮은 가격에 주문을 걸면 체결되지 않을 가능성이 높아집니다.
따라서 슬리피지를 줄이는 것과 체결 확률을 높이는 것 사이의 균형이 중요합니다.

2. 긴급 손절 → 시장가 주문

손절 상황에서는 이야기가 달라집니다.
예를 들어 손절 기준이 -2%인데 지정가 주문이 체결되지 않아 -3%, -4%까지 손실이 확대된다면 처음에 줄이려던 슬리피지보다 미체결로 인한 손실이 훨씬 커질 수 있습니다.
그래서 급격한 하락이나 급변 상황에서는 체결 자체를 우선하는 시장가 청산이 더 합리적인 경우가 많습니다.
자동매매에서는 특히 이 부분이 중요합니다.
손절에서는 몇 틱의 가격 차이보다 포지션을 신속하게 정리하는 것이 중요할 수 있습니다.

슬리피지는 왜 발생할까?

슬리피지는 단순히 시장가 주문을 사용했기 때문에 발생하는 것이 아닙니다.
대표적인 원인은 다음과 같습니다.

① 호가창의 유동성 부족

매수 또는 매도하려는 수량보다 호가에 쌓여 있는 주문량이 부족하면 여러 가격대를 거치면서 체결됩니다.
예를 들어 매도 물량이 다음과 같이 존재한다고 가정해 보겠습니다.

100,000원 → 0.5 BTC
100,100원 → 0.3 BTC
100,300원 → 0.7 BTC

여기에서 한 번에 1.5 BTC를 시장가 매수한다면 모든 물량이 100,000원에서 체결되는 것이 아닙니다.
100,000원부터 100,300원까지 여러 가격대의 매도 물량을 소비하면서 평균 체결 가격이 올라갑니다.
숫자로 계산해 보면 이렇게 됩니다.

매도 호가창 (1.5 BTC 시장가 매수가 소비하는 구간) 100,000원 0.5 BTC · 전량 체결 100,100원 0.3 BTC · 전량 체결 100,300원 0.7 BTC · 전량 체결 기대한 체결가 (최우선 호가) 100,000원 실제 평균 체결가 100,160원 차이 = 슬리피지 +160원 · +0.16%
0.5×100,000 + 0.3×100,100 + 0.7×100,300 = 150,240원. 이를 1.5로 나누면 평균 체결가는 100,160원이 됩니다. 최우선 호가만 보고 100,000원에 살 거라 생각했다면 0.16%를 더 낸 셈입니다. 이것이 대표적인 슬리피지입니다.

0.16%는 한 번이면 무시할 만해 보입니다. 그런데 매수와 매도 양쪽에서 발생하고, 여기에 거래 수수료까지 붙습니다. 하루에 몇 번씩 회전하는 전략이라면 이 작은 차이가 누적되어 전략의 우위를 통째로 먹어버릴 수 있습니다. 이 문제를 실제 데이터로 다룬 기록은 슬리피지와 체결 지연 — 백테스트가 숨기는 진짜 비용에 정리해 두었습니다.

② 급격한 가격 변동

뉴스나 시장 급변 상황에서는 주문을 제출하는 순간에도 가격이 계속 움직입니다.
자동매매 프로그램이 신호를 확인하고 주문을 보내는 짧은 시간 동안에도 가격이 변할 수 있습니다.
따라서 슬리피지를 완전히 0으로 만드는 것은 현실적으로 어렵습니다.
중요한 것은 슬리피지를 통제 가능한 수준으로 관리하는 것입니다.

③ 거래량이 부족한 종목

거래량이 적은 종목일수록 호가가 얇아질 가능성이 높습니다.
특히 자동매매에서는 단순히 코인의 가격만 보는 것이 아니라 거래대금과 호가 잔량을 함께 확인하는 것이 중요합니다.
같은 금액을 주문하더라도 거래량이 풍부한 BTC와 유동성이 부족한 알트코인의 체결 결과는 크게 다를 수 있습니다.

슬리피지를 줄이는 5가지 방법

1. 거래량이 충분한 종목을 선택한다

가장 기본적인 방법입니다.
거래량과 거래대금이 충분한 종목은 일반적으로 호가가 더 촘촘하게 형성되어 있기 때문에 대규모 주문에서도 가격 충격을 줄이는 데 도움이 됩니다.
자동매매 시스템을 설계한다면 최소 거래대금 조건을 필터로 사용하는 방법도 고려할 수 있습니다. 이 필터를 실제로 도입한 이유와 과정은 거래량 지표가 왜 중요한가에서 다뤘습니다.

2. 주문 금액을 유동성에 맞춘다

거래량이 많다고 해서 무조건 큰 주문을 넣어도 되는 것은 아닙니다.
중요한 것은 내 주문 규모가 해당 시장의 유동성에서 어느 정도 비중을 차지하는가입니다.
따라서 주문 금액이 커질수록 한 번에 시장가로 주문하기보다 주문을 분할하거나 지정가 주문을 활용하는 방법을 고려할 수 있습니다.

3. 진입과 청산의 우선순위를 다르게 한다

모든 주문을 동일한 방식으로 처리할 필요는 없습니다.
체결 가격을 중요하게 보는 상황과, 체결 자체를 중요하게 보는 상황을 나눠서 설계하는 것이 핵심입니다.

매매 신호 발생 일반 진입 · 익절 가격을 우선한다 긴급 손절 · 급변 체결을 우선한다 지정가 주문 → 대기 시장가 주문 → 즉시 체결 타임아웃 시 취소 → 재호가 신호가 사라졌으면 주문 포기 몇 틱의 손해보다 미체결 손실이 크다
왼쪽은 "얼마에 사는가"가 중요한 경로, 오른쪽은 "언제 빠져나오는가"가 중요한 경로입니다. 같은 봇 안에서도 이 둘을 다른 방식으로 처리해야 합니다.

4. 지정가 주문에 타임아웃을 설정한다

자동매매에서 지정가 주문을 사용할 때 매우 중요한 부분입니다.
예를 들어 지정가 매수 주문을 제출한 뒤 30초~1분 동안 체결되지 않는다면 주문을 취소하고 현재 호가를 다시 확인합니다.
이후 새로운 가격으로 재주문하거나 거래 신호가 사라졌다면 주문 자체를 포기할 수도 있습니다.
이런 방식의 미체결 관리 로직이 없으면 오래된 가격에 주문이 남아 예상하지 못한 시점에 체결되는 문제가 발생할 수 있습니다.

놓치기 쉬운 부분 미체결 주문을 취소하지 않고 방치하면, 신호가 이미 무효가 된 뒤에 가격이 그 자리로 내려오면서 체결되는 일이 생깁니다. 봇은 "그때 사기로 했던 조건"으로 샀다고 생각하지만, 실제 시장 상황은 완전히 달라져 있는 상태입니다. 주문을 넣는 로직보다 주문을 거두는 로직이 더 자주 빠집니다.

5. 체결 결과를 기록하고 실제 슬리피지를 측정한다

가장 중요한 부분입니다.
단순히 "시장가 주문은 슬리피지가 크다"라고 가정하기보다 실제 거래 데이터를 기록하는 것이 좋습니다.
예를 들어 다음 데이터를 저장할 수 있습니다.

신호 발생 가격
주문 제출 가격
실제 평균 체결 가격
주문 수량
주문 당시 스프레드
체결까지 걸린 시간
시장가 / 지정가 여부

이 데이터를 계속 모으면 자신의 전략에서 실제로 어느 정도의 슬리피지가 발생하는지 확인할 수 있습니다.
측정하지 않으면 줄일 수도 없습니다. 위의 0.16% 같은 숫자는 계산으로 구한 예시일 뿐이고, 내 전략에서 실제로 얼마가 새고 있는지는 로그를 남겨야만 알 수 있습니다.

결국 중요한 것은 '시장가냐 지정가냐'가 아니다

시장가 주문과 지정가 주문 중 하나가 무조건 정답인 것은 아닙니다.
진입에서는 가격을 관리하고, 청산에서는 위험을 관리하는 것이 핵심입니다.
일반적인 자동매매 전략이라면 다음과 같은 구조를 고려할 수 있습니다.

상황우선 고려할 주문
일반적인 매수 진입지정가
거래량이 충분한 안정적인 구간지정가
빠른 추세 추종 진입시장가 또는 공격적 지정가
일반적인 익절지정가
급격한 하락 손절시장가
유동성이 매우 낮은 종목주문 규모 축소 + 지정가
지정가 미체결일정 시간 후 취소 및 재호가

결국 자동매매에서 중요한 것은 주문 방식 자체가 아니라 주문 관리 시스템입니다.

코인랩의 자동매매에서 중요하게 보는 부분

자동매매 전략을 실제 시장에 적용할 때는 단순히 매수 조건과 매도 조건만 만드는 것으로 끝나지 않습니다.
신호가 발생한 뒤 어떤 가격으로 주문할 것인지,
주문이 체결되지 않으면 얼마나 기다릴 것인지,
시장 상황이 급변하면 시장가로 전환할 것인지,
그리고 실제 체결 가격이 전략에서 예상했던 가격과 얼마나 차이가 나는지를 관리해야 합니다.

특히 백테스트에서는 원하는 가격에 정확하게 체결된 것처럼 보이더라도 실제 시장에서는 수수료와 슬리피지, 미체결, 주문 지연 때문에 결과가 달라질 수 있습니다.
그래서 자동매매 시스템을 제대로 검증하려면 단순 수익률뿐만 아니라 실제 체결 환경을 얼마나 현실적으로 반영했는지까지 확인해야 합니다. 이 간극을 실제 숫자로 확인한 기록은 백테스트와 실전 매매가 다른 이유에 있습니다.

좋은 전략은 단순히 신호가 많이 발생하는 전략이 아니라,

신호 → 주문 → 체결 → 포지션 관리 → 청산

이라는 전체 과정을 안정적으로 관리하는 전략에 가깝습니다.

핵심 정리

시장가 주문은 체결을 우선하고, 지정가 주문은 가격을 우선합니다.
따라서 일반적인 진입에서는 지정가 주문으로 불필요한 슬리피지를 줄이고, 급격한 시장 움직임에서 손절해야 하는 상황에서는 시장가 주문으로 미체결 위험을 줄이는 방식이 현실적인 접근입니다.
그리고 가장 중요한 것은 자신의 거래 데이터를 기반으로 실제 슬리피지를 측정하고 주문 로직을 계속 개선하는 것입니다.

자동매매에서 몇 번의 거래 결과보다 중요한 것은 수백 번, 수천 번의 거래가 반복됐을 때 작은 체결 오차가 전체 수익률에 어떤 영향을 주는가입니다.
결국 슬리피지를 줄이는 가장 좋은 방법은 특정 주문 방식 하나를 고집하는 것이 아니라 시장 유동성, 주문 규모, 변동성, 전략의 목적에 따라 주문 방식을 동적으로 선택하는 것입니다.

이 글을 쓴 사람

코인랩 운영자

업비트 역추세 반등 실거래 전략은 운용을 종료했습니다. 현재 업비트에서는 V자 회복형·이중바닥형·BB 땅굴회복형의 V2 세 전략을 각각 독립 모의계좌로 검증하고, 빗썸에서는 추세추종(변동성 돌파) 전략을 실제 자금으로 운용합니다. 과거 게시글의 역추세 반등 기록은 당시 실거래 결과와 전략 전환 과정을 보존한 자료입니다.

  • 근거 데이터 과거 업비트 역추세 실거래 로그·현재 V2 모의매매 기록·빗썸 추세추종 실거래 로그 및 공개 시세 API
  • 집필·검수 코인랩 운영자 (AI 도구는 문장 교정에만 사용)
  • 문의 coinlabkr@gmail.com

이 글은 정보 제공 목적이며 투자 권유가 아닙니다. 투자 유의사항 및 면책조항을 함께 읽어 주세요.

추천0 비추천0
스크랩 · 신고
매매 기술 노트 • OFFICIAL

매매 기술 노트

RSI·볼린저밴드·이동평균선·MACD·거래량 지표 정리와 적용 경험
3TOTAL
24POSTS

매매 기술 노트

3건
매매 기술 노트 목록
번호 제목 글쓴이 날짜 조회
열람중
<
코인랩
08-08 1593
2
<
코인랩
08-22 444
1
<
코인랩
08-09 364
운영자

업비트 V2 세 전략은 독립 모의계좌로 검증하고, 빗썸 추세 추종 봇은 실제 자금으로 운용하는 개인 개발자입니다. 모의매매와 실거래 성과를 구분하고 손실도 그대로 공개합니다.

종목 추천 · 유료 리딩 · 봇 판매는 하지 않습니다.