Trading/PythonForFinance
ALT - 암호화폐 / 트레이딩하기1 (업비트)
bents
2021. 1. 15. 14:54
1. 업비트를 선택한 이유
: 원화 입출금 관리 가장 편리하네...
: 아이디 잃어버려도 다시 찾을 수 있다. (빗썸 안됨)
: 보안인증후, open api key 발급 (로그인할 때마다 카톡옴)
: 케이뱅크로 입금신청
2. Upbit API wrapper sample 코드 . [코드참조]
- Upbit API [개발가이드] [request-api]
- upbit json 데이터 간편하게 보기 : validate json [site]
# request api >pyupbit.get_tickers(fiat="KRW") >pyupbit.get_current_price("KRW-BTC") >pyupbit.get_ohlcv("KRW-BTC", interval="minute30") open high low close volume 2021-01-11 11:30:00 40863000.0 41349000.0 40300000.0 40300000.0 750.058472 >pyupbit.get_orderbook("KRW-BTC") [{ 'market': 'KRW-BTC', 'timestamp': 1610691109693, 'total_ask_size': 7.17131072, 'total_bid_size': 6.98827612, 'orderbook_units': [{ # best price 'ask_price': 41278000.0, 'bid_price': 41271000.0, 'ask_size': 0.08933783, 'bid_size': 4.61387771 }, { ... # quotation api >upbit = pyupbit.Upbit(access_key, secret_key) >upbit.get_balances() # 보유수량 [{ 'currency': 'KRW', 'balance': '200000.0', 'locked': '0.0', 'avg_buy_price': '0', 'avg_buy_price_modified': True, 'unit_currency': 'KRW' }] >upbit.get_amount(ticker='KRW', contain_req=False) # 총 매수대금 >upbit.get_avg_buy_price(ticker='KRW', contain_req=False) # 평균 매수가 >upbit.get_chance(ticker='KRW-BTC', contain_req=False) # 왜있는지 ... { 'bid_fee': '0.0005', 'ask_fee': '0.0005', 'maker_bid_fee': '0.0005', 'maker_ask_fee': '0.0005', 'market': { 'id': 'KRW-BTC', 'name': 'BTC/KRW', ... >order = upbit.buy_limit_order("KRW-BTC", 31172000, 0.0005); order #upbit.buy_limit_order(ticker, price, volume, contain_req=False) #upbit.sell_limit_order(ticker, price, volume, contain_req=False) { 'uuid': 'HASHED_ORDER_ID', 'side': 'bid', 'ord_type': 'limit', 'price': '31172000.0', 'state': 'wait', 'market': 'KRW-BTC', 'created_at': '2021-01-15T16:07:16+09:00', 'volume': '0.0005', 'remaining_volume': '0.0005', 'reserved_fee': '7.793', 'remaining_fee': '7.793', 'paid_fee': '0.0', 'locked': '15593.793', 'executed_volume': '0.0', 'trades_count': 0 } > upbit.buy_market_order("KRW-BTC", 1000) #upbit.buy_market_order(ticker, price, contain_req=False) #upbit.sell_market_order(ticker, volume, contain_req=False) >upbit.get_order("KRW-BTC") #upbit.get_order( ticker, state='wait', kind='normal', contain_req=False): #state주문상태(wait, done, cancel) #kind주문유형(normal, watch) [{ 'uuid': 'HASHED_ORDER_ID', 'side': 'bid', 'ord_type': 'limit', 'price': '31172000.0', 'state': 'wait', 'market': 'KRW-BTC', 'created_at': '2021-01-15T16:07:16+09:00', 'volume': '0.0005', 'remaining_volume': '0.0005', 'reserved_fee': '7.793', 'remaining_fee': '7.793', 'paid_fee': '0.0', 'locked': '15593.793', 'executed_volume': '0.0', 'trades_count': 0 }] >upbit.cancel_order(order['uuid'], contain_req=False) { 'uuid': 'HASHED_ORDER_ID', 'side': 'bid', 'ord_type': 'limit', 'price': '31172000.0', 'state': 'wait', 'market': 'KRW-BTC', 'created_at': '2021-01-15T16:07:16+09:00', 'volume': '0.0005', 'remaining_volume': '0.0005', 'reserved_fee': '7.793', 'remaining_fee': '7.793', 'paid_fee': '0.0', 'locked': '15593.793', 'executed_volume': '0.0', 'trades_count': 0 } > upbit.get_order('KRW-BTC') []
3. 매매전략 코드 만들기만 하면 됨.
4. USDT 거래는 KRW마켓에서 불가.
- 매매방법
KRW / BTC / USDT 마켓존재
: 업비트에서 USDT 사려면 KRW으로 BTC 사고, BTC로 USDT사기