스팀엔진은 거래를 하기 위한 아주 기본적인 기능만 개발된 상태입니다.
하지만 거래하는 토큰이 늘어나면 부가적으로 필요한 기능들이 많이 있습니다. 그중 으뜸은 각 토큰 별 거래내역입니다. 거래 내역을 확인할 수 있어야 언제 얼마에 사고팔았는가에 대한 정보를 알 수 있는데, 현재 스팀엔진에서는 이런 정보를 알 수가 없습니다.
그다음으로 필요한 기능은 거래가 성사되지 않은 주문을 볼 수 있는 기능이라고 생각합니다. 어떤 토큰에 어떤 주문이 들어가 있는지 확인하려면 각 토큰 마켓에 들어가서 확인하는 수밖에 없습니다. 상당히 불편하죠.
그래서 현재 스팀엔진에 본인 계좌로 매수/매도 주문이 들어간 리스트를 출력해주는 파이썬 코드를 만들었습니다.
import requests
import json
from steemengine.api import Api
accounts = ['tradingideas', 'tradingideas.spt']
api = Api()
rets = api.find("tokens", "tokens") # get tokens list
for ret in rets :
orders = api.find("market", "buyBook", {'symbol':ret['symbol']}) # for each token
first_order = 1
for order in orders :
if(order['account'] in accounts) :
if ( first_order ) :
print("=== [BUYING] ===")
first_order = 0
print(order['account'], order['symbol'], order['price'], order['quantity'])
first_order = 1
orders = api.find("market", "sellBook", {'symbol':ret['symbol']})
for order in orders :
if(order['account'] in accounts) :
if ( first_order ) :
print("")
print("=== [SELLING] ===")
first_order = 0
print(order['account'], order['symbol'], order['price'], order['quantity'])
실행 결과입니다.
계정 별로 현재 미결 주문 상태를 쭉 출력해 주는군요. 이 중 잊고 있었던 주문이 있으면 취소를 하시면 될 것 같습니다. 추가로 주문 취소까지 연결이 된다면 더 빨리 처리가 가능하겠죠?
파이썬 코드로는 online-ide에서 페키지 설치가 되지 않아서 간단하게 node.js로 작업을 해서 올려놓았습니다.
아래 링크 클릭해서 토큰명과 계정명을 등록한 후 위에 있는 RUN 버튼을 누르면 대기 중인 매수 주문 리스트를 볼 수 있습니다.
https://repl.it/@zonemultiwhs/pending-orders-node
스팀엔진 orderbook에 관련된 사항은 아래 글 참고하세요.
[암호화폐] 그것이 알고싶다!! steem-engine order book
[암호화폐] 그것이 알고싶다!! steem-engine에서 주문하기