import requests
import hmac
import hashlib
import time
from pprint import pprint
with open("D:/코인/binance key.txt") as f:
lines = f.readlines()
api_key = lines[0].strip()
secret_key = lines[1].strip()
headers = {
"X-MBX-APIKEY": api_key,
}
# 바이낸스 API 요청 함수
def binance_api(endpoint, params, method):
params["timestamp"] = int(time.time() * 1000)
query_string = "&".join([f"{key}={value}" for key, value in params.items()])
params["signature"] = hmac.new(secret_key.encode(), query_string.encode(), hashlib.sha256).hexdigest()
url = "https://fapi.binance.com" + endpoint
try:
if method == "GET":
response = requests.get(url, headers=headers, params=params)
elif method == "POST":
response = requests.post(url, headers=headers, params=params)
else:
raise ValueError(f"잘못된 요청입니다 : {url}, {endpoint}, {params}, {method}")
return response.json()
except requests.exceptions.Timeout:
print(f"시간 초과 {url}, {endpoint}, {params}, {method}")
except requests.exceptions.RequestException as e:
print(f"에러 발생 : {e} \n {url}, {endpoint}, {params}, {method}")
# 미체결 주문 정보 조회
def fetch_open_orders(symbol=None):
endpoint = "/fapi/v1/openOrders"
params = {}
if symbol:
params["symbol"] = symbol.upper()
return binance_api(endpoint, params, "GET")
# 미체결 주문 정보 조회
# 종목을 지정하지 않으면 모든 종목의 미체결 주문을 조회합니다.
# 종목을 지정하려면 fetch_open_orders("BTCUSDT")와 같이 사용
open_orders = fetch_open_orders()
pprint(open_orders)
출력 결과
[{'avgPrice': '0',
'clientOrderId': 'web_66pGq3hygWYAKyISgUlZ',
'closePosition': False,
'cumQuote': '0.00000',
'executedQty': '0',
'goodTillDate': 0,
'orderId': 503252368459,
'origQty': '0.002',
'origType': 'LIMIT',
'positionSide': 'LONG',
'price': '102000',
'priceMatch': 'NONE',
'priceProtect': False,
'reduceOnly': False,
'selfTradePreventionMode': 'NONE',
'side': 'BUY',
'status': 'NEW',
'stopPrice': '0',
'symbol': 'BTCUSDT',
'time': 1733386591407,
'timeInForce': 'GTC',
'type': 'LIMIT',
'updateTime': 1733386591407,
'workingType': 'CONTRACT_PRICE'}
]
'파이썬 > 바이낸스 선물 API' 카테고리의 다른 글
[선물 API] 최소 주문 금액 계산하기 (0) | 2024.11.23 |
---|---|
[선물 API] 주문 넣기, 취소하기 (1) | 2024.11.21 |
[선물 API] 바이낸스 선물 레버리지 배율 변경 (0) | 2024.11.21 |
[선물 API] 유통 공급량을 이용한 시총 계산 (0) | 2024.01.31 |
[선물API] 계좌 정보 불러오기 (0) | 2023.06.22 |