[암호화폐] 프로젝트#1 : 업비트 지정가 자동 매수/매도하기[4]

avatar

업비트 지정가 자동 매수/매도 프로그램을 개발 중입니다. 오늘은 네 번째 이야기입니다.

업비트에서 지정가 자동 매수/매도를 위해서는 주문 내역 변화만으로 매매 내역을 파악해야 하는 문제를 풀어야 합니다. 우선 필요한 자료 구조를 만들어 봅니다.

매매에 대한 정보를 기술하는 구조체입니다.
ticker 정보와 매매 수량, 그리고 지정 매수/매도가를 기술합니다. 복수 가격대에 대한 주문을 위하여 list 구조체를 사용합니다.

pair_trading  = [
    {'id': 1, 'ticker':"KRW-STEEM", 'buy':272, 'sell':293, 'vol':10}, 
    {'id': 2, 'ticker':"KRW-STEEM", 'buy':262, 'sell':282, 'vol':10}
] 

매매 여부를 파악하기 위해서는 이전 상태와 현재 주문 상태를 보면서 변화가 발생하면 매매가 있었던 것으로 간주할 수 있습니다.

그래서 필요한 구조는 아래와 같습니다.

tr_info = [ 
   {'id': 1, 'pre_buy': 0, 'pre_sell': 10, 'buy': 0, 'sell': 0}
   {'id': 2, 'pre_buy': 0, 'pre_sell': 10, 'buy': 0, 'sell': 0}
]

trading_pair 각각에 대하여 가격에 대한 변화 정보가 필요하므로, 'id' 가 같은 항목끼리 연결되도록 하였습니다.


손 코딩으로 잘 동작하는지 확인해 보았습니다. 우선 매매에 따른 tr_info에 있는 값의 변화를 정리해 보면 다음과 같습니다.

최초 거래를 위한 조건으로 pre_sell 값에 거래 수량을 적어 놓으면 자동으로 매수가 시작됩니다. 왜냐하면 처음에는 주문 내역이 없기 때문에 buy, sell 값이 0으로 돌아오기 때문입니다. 즉 이전 주문 내역과 현재 주문 내역의 차이에 대하여 반대쪽 주문을 내는 방식으로 진행이 됩니다.

손 코딩으로 돌려보니 잘 돌아갑니다. 이제 기본 자료구조와 거래 알고리즘이 나왔으니 코딩만 하면 됩니다. unittest 적용해서 모듈별로 잘 쪼개서 코딩해 보겠습니다.



0
0
0.000
4 comments
avatar

jcar토큰 7월 구독 보팅입니다. 삼복 무더위, 건강하게 이겨나가세요. ^^

0
0
0.000
avatar

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

0
0
0.000
avatar

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

0
0
0.000
avatar

Hi @tradingideas!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.367 which ranks you at #2559 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 257 contributions, your post is ranked at #109.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server

0
0
0.000