본문 바로가기

Project/crypto trading bot

[crypto trading bot] 잔고 조회와 지정가 매수, 매도

728x90

binance api의 api key와 secret ket를 사용하여 잔고 조회와 지정가 매도, 매수하는 법을 알아보겠습니다.

 

import ccxt

with open('API.txt') as f:
    lines = f.readlines()
    api_key = lines[0].strip()
    secret = lines[1].strip()

binance = ccxt.binance(config={
    'apiKey': api_key,
    'secret': secret,
    'enableRateLimit': True,
})

 

api key와 secret key는 보안해야 하는 요소로 API.txt에 따로 저장해서 관리해 줍니다.  config를 통해 api key와 secret key를 전달해주고, enableRateLimit를 True로 설정하여 시장가 주문이 불가능하게 해줍니다.

 

def current_amount():
    balance = binance.fetch_balance()
    print(balance['USDT'])

 

생성한 binance의 fetch_balance를 통해서 현재 잔고를 가져와줍니다. 

 

def order(params={}):
    order = binance.create_limit_buy_order(
        symbol=params['symbol'],
        amount=params['amount'],
        price=params['price'],
    )

 

order 함수는 딕셔너리 형태의 인자를 입력받습니다. 매수를 위해서 create_limit_buy_order 함수를 사용합니다. symbol은 매도하고자 하는 암호화폐의 상징, amount는 매수 수량, price는 매수 가격입니다. 

 

def sell(params={}):
    order = binance.create_limit_sell_order(
        symbol=params['symbol'],
        amount=params['amount'],
        price=params['price'],
    )

 

order 함수와 마찬가지로 sell 함수 또한 딕셔너리 형태의 인자를 입력받습니다. 매도를 위해서 create_limit_sell_order 함수를 사용합니다. symbol은 매도하고자 하는 암호화폐의 상징, amount는 매도 수량, price는 매도 가격입니다.

 

728x90