-----------------------------------------------------------------------------
https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기
레퍼럴 코드 : 21391362
-----------------------------------------------------------------------------
바이낸스에서 매수와 매도를 하기 위해서는 해당 코인의 필수 최소 가격과 최소 수량에 맞춰야 매매가 가능합니다.
BTC는 소수점 8자리까지 지갑에 보유할 수 있으나 매매할 때는 소수점 5자리까지만 거래가 가능합니다. 그렇기 때문에 해당 코인의 최소 가격과 최소 수량을 구해야 바이낸스에 상장된 모든 코인을 다룰 수 있습니다.
get_symbol_info를 통해서 코인의 정보를 확인 할 수 있습니다.
PRICE_FILTER
|
minPrice
|
매매시 최소 요구 가격의 사이즈
|
tickSize
|
가격 간의 사이즈
|
|
LOT_SIZE
|
minQty
|
매매시 최소 요구 수량의 사이즈
|
stepSize
|
수량간의 사이즈
|
|
NOTIONAL
|
minNotional
|
최소 구매 가격
(BTCUSDT를 매매할 경우 USDT 최소 수량을 뜻함) |
API 버전이 바뀌면서 현재 문서의 리턴값과 조금 차이가 있습니다.

get_symbol_info의 filters 값만 확인 하면 됩니다.

BTCUSDT 의 정보를 확인해보겠습니다.

여러개의 정보를 확인할 수 있는데 표를 참고 삼아 확인해보면 최소 요구 가격은 0.01 이상이며, 최소 요구 매매 수량의 사이즈는 0.00001입니다. 최소 요구 매매 수량이 아닙니다. 가격과 수량의 사이즈입니다. 즉 소수점 몇자리까지 가능하다는 뜻입니다.
비트코인은 소수점을 8자리까지 표기 가능한데, 호가창을 확인해보면 소주점 5자리까지만 존재합니다. 그래서 소수점 6자리 이상 넘겨서 매수할 경우 에러 메시지가 발생합니다.

minNotional 은 10인데 매매시 최소 10USDT 이상이 필요하다는 뜻입니다. 10USDT 이하로 매매를 하려고 하면 아래같은 에러 메시지가 발생합니다.

binance-python 의 오더 메소드들은 USDT 수량을 인자로 지원하지 않기때문에 BTC 최소 수량을 알고 조건을 주어야하는 불편함이 있습니다. 문제는 가격이 계속 변동되기 때문에 최소 수량의 정보는 제공 되지 않습니다.
가격이 비싸면 BTC 매매수량이 적어질 것이고 가격이 싸면 BTC 매매 수량은 늘어날 것입니다. 그러므로 BTCUSDT 최소 수량을 구매하는 방법은 다음과 같습니다.
식) minNotional / 현재 가격
하지만 문제가 있습니다. 저렇게 나누면 소수점 8자리까지 표기 될 수도 있습니다. 그러면 minQty 요구 사항에 맞지 않기 때문에 에러가 발생할 것입니다. 소수점을 직접 잘라도 되고 round_step_size 라는 바이낸스 API를 사용하여도 됩니다.

가격은 get_avg_price 를 통해 현재 가격의 평균가를 가져와서 계산하겠습니다.
식) round_step_size((minNotional / get_avg_price()), minQty)

그러면 바이낸스에 상장된 현물 코인들의 최소 거래 값을 계산해보겠습니다. 전 USDT만 거래하기 때문에 USDT 코인만 가져오겠습니다. 그리고 레버지리 코인들도 있는데 이 코인들은 제외하겠습니다.
몇몇 코인들의 상태 값을 확인 해보면 BREAK라고 나옵니다. VENUSDT 는 이미 스왑되어서 사라진 토큰입니다. 거래가 불가능하기 때문에 BREAK 라고 나옵니다.

BTCUSDT 는 'TRADING' 이라고 나오네요. 조건으로 상태 값도 넣어 주겠습니다.

get_exchange_info 메소드를 호출하여 바이낸스에 모든 코인 정보를 가져옵니다.

쿼리가 많아 시간이 오래걸리네요.
-----------------------------------------------------------------------------
https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기
레퍼럴 코드 : 21391362
-----------------------------------------------------------------------------
'비트코인 자동매매' 카테고리의 다른 글
[비트코인 자동매매] 업비트와 바이낸스 코인 등락률 계산하기 (0) | 2023.09.21 |
---|---|
[비트코인 자동매매] 업비트와 바이낸스 코인 등락률 계산하기 (0) | 2023.08.31 |
[비트코인 자동매매] RSI를 이용한 비트코인 자동매매 바이낸스 (1) | 2023.07.27 |
[자동매매] 일반주문 vs 스탑리밋주문 vs OCO주문 (2) | 2023.07.14 |
[비트코인 자동매매] 업비트 오픈API 사용하기 (0) | 2023.05.15 |