1. (준비) 바이낸스에서 코인 준비하기
바이낸스의 코인을 보유하고 계신다면,
개인 지갑을 확인하여 Convert하시면 됩니다.
위에 그림과 같이 Convert를 클릭하게 되면
위와 같은 그림이 나오게 되며 필요한 양만큼을 USDT로 Convert 시켜 줍니다.
저와 같은 경우에는 0.06ETH => 106USDT로 변경 되었네요.
바이낸스 공식 홈페이지에서 Futures로 들어가 주시면 됩니다.
빨간색 박스의 화살표 2개를 클릭하게 되면 처음에 Convert 시킨 USDT를 가지고 선물 거래 할 수 있도록 바꿀수 있습니다.
이제 모든 준비가 끝났으니, 거래를 한번 해보겠습니다.
long position으로 거래가 한번 해보았는데 뭐 문제없이 잘 됩니다.
2. (개념정리) 선물 거래에서 포지션의 이란
선물거래에서 포지션(Position)이란 특정 계약에 대한 보유 상태를 의미합니다. 보유 상태는 매수 포지션(long position)과 매도 포지션(short position)으로 나뉩니다.
매수 포지션(long position)은 향후 시장 가격 상승을 예상하는 경우에 유리합니다. 매수 포지션을 보유한 거래자는 계약 만기 시점에 시장 가격이 상승하면 이익을 얻게 됩니다. 하지만 시장 가격이 하락하면 손실을 볼 수 있습니다.
반대로 매도 포지션(short position)은 향후 시장 가격 하락을 예상하는 경우에 유리합니다. 매도 포지션을 보유한 거래자는 계약 만기 시점에 시장 가격이 하락하면 이익을 얻게 됩니다. 하지만 시장 가격이 상승하면 손실을 볼 수 있습니다.
선물거래에서 포지션을 보유하는 거래자는 시장 가격 변동에 따라 이익이나 손실을 얻게 됩니다. 따라서 포지션을 보유할 때는 시장 상황을 정확하게 파악하고, 위험 관리를 철저히 해야 합니다.
3. 선물 거래 가능한 자산 확인 방법 ( futures_account_balance() )
from binance.client import Client
import time
api_key =
api_secret =
client = Client(api_key, api_secret)
# Binance 서버 시간 가져오기
server_time = client.get_server_time()
print(server_time)
server_timestamp = server_time['serverTime']
# 현재 시간을 가져와 타임스탬프로 변환하기
current_time = int(time.time() * 1000)
# 타임스탬프 확인하기
print('Server timestamp:', server_timestamp)
print('Current timestamp:', current_time)
# 계좌 정보 불러오기
account_info = client.futures_account_balance(timestamp=current_time)
# # USDT 자산 확인하기
USDT_balance = None
for balance in account_info :
if balance['asset'] == 'USDT':
USDT_balance = balance['balance']
print('USDT balance:', USDT_balance)
break
출력값 확인하면 ..
4. 선물 거래 내역 List 확인 방법 [ futures_account_trades( symbol="BTCUSDT") ]
from binance.client import Client
import time
api_key = ''
api_secret = ''
client = Client(api_key, api_secret)
# Binance 서버 시간 가져오기
server_time = client.get_server_time()
print(server_time)
server_timestamp = server_time['serverTime']
# 현재 시간을 가져와 타임스탬프로 변환하기
current_time = int(time.time() * 1000)
# 타임스탬프 확인하기
print('Server timestamp:', server_timestamp)
print('Current timestamp:', current_time)
# BTCUSDT 거래 내용 불러오기
trade_list = client.futures_account_trades(symbol="BTCUSDT") #,timestamp=current_time)
# 출력 하기
for trade in trade_list :
print(trade)
# 출력 하기 #2
for trade in trade_list :
if trade['side'] == 'BUY':
print('BUY Position : ',trade['price'])
if trade['side'] == 'SELL':
print('SELL Position : ',trade['price'])
아래와 같이 출력 됨
5. 기타 - 에러 발생 해결 방법
APIError(code=-1102): Mandatory parameter 'amount|asset|type' was not sent, was empty/null, or malformed.
이 오류 메시지는 API에 요청할 때 필수 매개변수가 제공되지 않았거나 형식이 잘못되었음을 나타냅니다. 문제의 매개변수는 mount / asset /type과 관련 되어 있습니다.
이 오류를 해결하려면 API 문서를 검토, 모든 필수 매개변수가 요청에 포함되어 있고 올바른 형식인지 확인해야 합니다.
문제를 해결하기 위해 취할 수 있는 몇 가지 단계는 다음과 같습니다.
매개변수가 필수인지 선택인지 확인.
매개변수 이름의 철자가 올바르고 API 문서와 일치하는지 확인.
매개변수 값이 올바른 형식이고 API 문서에 지정된 검증 요구사항을 충족하는지 확인.
필요에 따라 매개변수가 요청 'pay-load 또는 Query string에 포함되어 있는지 다시 확인.
수정 후 요청을 다시 제출해 보시고, 오류가 지속되면 추가 지원을 위해 API 제공업체에 문의 해야함
※ python-binance 홈페이지
Binance API — python-binance 0.2.0 documentation
list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)
python-binance.readthedocs.io
※ python-binance 홈페이지
https://binance-docs.github.io/apidocs/futures/en/#account-trade-list-user_data
Binance API Documentation
binance-docs.github.io
계속 업데이트 하겠습니다!!~
'Python 끄적 > 가상화폐 자동화 프로그램' 카테고리의 다른 글
#7.비트코인 선물 자동구매 프로그램 - 선물시장 데이터 가져오기 (0) | 2023.03.25 |
---|---|
#6.비트코인 선물 자동구매 프로그램 - python-binance Module 이해하기 (0) | 2023.03.25 |
#4.비트코인 선물 자동구매 프로그램 - 선물 공부 Leverage 세팅 (0) | 2023.03.22 |
#2.비트코인 선물 자동구매 프로그램 - Binance API 친해지기 (1) | 2023.03.18 |
#2.비트코인 선물 자동구매 프로그램 - VS CODE & Python module 준비하기 (1) | 2023.03.17 |