API키가 필요합니다.
1. 지정가 주문 방법
import ccxt
import time
# API 키 가져오기
with open("D:/코인/binance key.txt") as f:
lines = f.readlines()
api_key = lines[0].strip()
secret_key = lines[1].strip()
# 바이낸스 현물 거래 설정
Spot_binance = ccxt.binance({
'apiKey': api_key,
'secret': secret_key,
'enableRateLimit': True,
'options': {
'defaultType': 'spot', # 현물 거래 설정
'adjustForTimeDifference': True,
}
})
# 지정가 주문 함수
def LIMIT_order(symbol, side, amount, price):
try:
Order_count = 2 # 분할 주문 횟수
cp = 0.005 # 분할 간격 퍼센트. 0.005는 0.5%를 의미함.
price_multiplier = 1 - cp if side == 'BUY' else 1 + cp
for i in range(Order_count):
adjusted_price = price * (price_multiplier ** i)
order = Spot_binance.create_order(
symbol=symbol,
type='limit',
side=side,
amount=amount,
price=adjusted_price,
params={
'timeInForce': 'GTC'
}
)
print(
f"Order Limit placed: {order['info']['symbol']}, {order['info']['price']}, {order['info']['origQty']}")
time.sleep(0.5)
except Exception as e:
print(f"LIMIT_order Error: {e}")
symbol = 'ETHUSDT' # 종목 이름
side = 'BUY' # 'SELL' 또는 'BUY'
amount = 0.02 # 주문할 수량
price = 3500 # 주문할 가격
LIMIT_order(symbol, side, amount, price)
2. 시장가 주문 방법
# 시장가 주문 함수
def MARKET_order(symbol, side, amount):
try:
order = Spot_binance.create_order(
symbol=symbol,
type='market',
side=side,
amount=amount,
)
print(f"Order Market placed: {order['info']['symbol']}, {order['info']['price']}, {order['info']['origQty']}")
# print(f"Order Limit placed: {order}")
except Exception as e:
print(f"MARKET_order Error: {e}")
symbol = 'ETHUSDT' # 종목 이름
side = 'BUY' # 'SELL'
amount = 0.01 # 주문할 수량
MARKET_order(symbol, side, amount)
출력 결과
Order Market placed: ETHUSDT, 0.00000000, 0.01000000
'# 지정가 주문 함수' 아래의 코드를
'# 시장가 주문 함수' 코드로 변경하시면
시장가 주문을 요청할 수 있습니다.
주문을 할 때 선물은 positionside의 LONG, SHORT을 구분해줬지만
현물(Spot)에선 사거나, 팔거나 두가지 행동만 가능하기에
positionside 옵션은 필요하지 않습니다.
3. 대기 주문 전부 취소
def cancel_all_order(symbol):
try:
Spot_binance.cancel_all_orders(symbol)
return True
except Exception as e:
print(f'주문 취소 실패: {e}')
return False
symbol = 'ETHUSDT'
cancel_all_order(symbol)
마찬가지로 취소할 종목의 이름은 지정해줘야 합니다.
'파이썬 > 바이낸스 현물 API' 카테고리의 다른 글
[현물 API] 최소 주문 금액 확인하기 (0) | 2024.12.08 |
---|