[암호화폐] BSC에서 파이썬으로 자동매매(2)

in SCT.암호화폐.Crypto3 years ago (edited)

sps 자동 매매를 돌리자마자 주구장창 빠지기만 하는군요. 이렇게 되면 굳이 자동매매를 할 이유가 없어집니다만.

그래도 밤새 고가 매도/ 저가 매수를 위해서 돌리고 있습니다.

어제에 이어서 BSC 체인에서 토큰을 swap하는 API를 공개합니다.
이 글이 처음이라면 1번 부터 읽고 오시기 바랍니다.

swap을 하는 경우에도 매도와 매수시 사용하는 API가 틀립니다. 이름이 비슷해 보이는데 암튼 틀립니다.

팔 때 : swapExactTokensForTokens(in_amount, min_amount, pair, my_addr, deadline)
살 때 : swapTokensForExactTokens(in_amount, min_amount, pair, my_addr, deadline)

앞에서 swap할 수량 계산할 때와 같은 맥락입니다.sps를 매도하는 것은 SPS-BNB LP에서 sps를 넣고, BNB를 받아오는 것입니다. 받은 bnb는 다시 bnb/busd lp에서 스왑. 따라서 swapExactTokensForTokens() 함수에 인자에 대해서 정확하게 이해를 해야합니다.

  • in_amount : 매도할 sps 수량
  • min_amount는 최소로 받을 BUSD 금액으로 slippage를 뺀 값이 최소 금액이 됩니다. 이 의미는 현재가 대비하여
    slippage 이하로 busd를 적게 받으면 매도 transaction을 취소하겠다는 의미입니다.

sps를 구매하는 경우에 사용하는 swapTokensForExactTokens() 함수의 인자입니다.

  • out_amount : 받을 sps 수량
  • max_amount : 최대로 지불할 BUSD 금액으로 slippage를 추가한 값이 최대 금액이 됩니다. 이 의미는 현재가 대비하여 slippage 이상 가격으로는 사지 않겠다는 의미입니다.

함수의 인자 구성을 보면 합리적입니다. 매수/매도 행위가 다른 개념이 필요하다보니,, 함수 명도 틀리고, 인자의 의미도 틀리므로, 정확하게 이해하고 사용하시기 바랍니다.

프로그램으로 주문한 결과입니다. busd $56로 sps 100개를 구매하였습니다. 적절한 가스 가격을 몰라서 그냥 상수로 입력했습니다. 그 이상 지불하지 마라는 의미이므로 만약 gas 값이 오르면 fail 납니다.

마지막으로 bsc transaction 중 관련 코드가 궁금한 경우에는
중간에 있는 click to see more를 누르면 함수명을 볼 수 있고 decode input data를 누르시면 입력 파라미터를 볼 수 있으니 향후 개발에 참고하십시요.


이 글이 도움이 되셨다면 부탁 한가지가있습니다.

현재 gitcoin 점수를 올리고 있는데요. twitter 계정의 follow가 100명이 넘어야 하는데 이제 겨우 15명입니다.
시간되시면 아래 twitter에 들어오셔서 follow 버튼 클릭 부탁드립니다.

https://twitter.com/tr_ideas

넙죽~~~~


관련 코드는 아래 github 사이트를 이용하시기 바랍니다.

현재 프로그램은 특정 금액 이상이면 매수/ 이하이면 매도하는 코드입니다. 본인의 전략에 맞추어 다양한 방식으로 매매를 하면 될 듯 합니다.

https://github.com/multizone-quant/system-trading-bsc/blob/main/get_cur_token_price_bsc.py


앞으로 추가할 기능들입니다.

  1. 적절한 gas 비 받는 함수 찾기
  2. routing 정보를 구하는 방법 (예 sps -> bnb -> busd)
  3. 특정 LP에서 swapTokensForExactTokens, swapExactTokensForTokens 구분하는 방법
    3.1 설정에서 mid 값을 빼야할 듯
  4. bsc 지갑에 있는 코인들 수량 얻기
Sort:  

Good!

잘 봤습니다. 트위터 팔로우 완료. ㅎㅎ
gitcoin 점수 채우시는거면 trust쪽은 poap로 점수 올리시는 것도 좋습니다.
ethonline 행사 참여하시거나 poap 디스코드에 있는 poap bot에게 POAP.art Sandbox Week 40 canvas 토큰 클레임 요청해보시는 것도 좋을거 같네요. sandbox쪽은 주간 행사라서 주기적으로 체크해보시면 될 것 같습니다. week 40 클레임 가능 물량 아직 남아있나 모르겠네요.

감사합니다.

dakeshi님이 tradingideas님의 이 포스팅에 따봉(10 SCT)을 하였습니다.

@tradingideas transfered 25 KRWP to @krwp.burn. voting percent : 100.00%, voting power : 37.77%, steem power : 1852635.92, STU KRW : 1200.
@tradingideas staking status : 21190 KRWP
@tradingideas limit for KRWP voting service : 21.19 KRWP (rate : 0.001)
What you sent : 25 KRWP (Voting Percent over 100 %)
Refund balance : 12.71 KRWP [57840961 - f69ef8b5f04d0b354a4de1449dd81f46dbc77c08]

하하 팔로우 했습니다.
항상 힘들게 알아내신 소중한 정보들 공유 감사드립니다. 트아형님

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 63750.99
ETH 3130.22
USDT 1.00
SBD 3.95