Upbit 자동 투자 봇 개발 (#2)

업비트에서 제공하는 API의 경우 주문 요청에 대해 제한 기준이 있어 1초 당 8번 이상의 매수/매도 주문을 날릴 수가 없습니다.

  • 주문 요청
    초당 8회, 분당 200회
  • 주문 요청 외 API
    초당 30회, 분당 900회



그렇다고 API에서 한번 요청에 여러개의 코인을 매수/매도할 수 있는 기능을 제공하고 있지도 않은데요. 따라서 초당 8회 미만의 주문 요청을 날리는 코드를 작성하였습니다.

const _sleep = (d) => new Promise((res) => setTimeout(res, d));
let _job = [];
const cronbot = async () => {
  const job = _job.shift();
  if (job) job();
  await _sleep(200); 
  return cronbot();
};

cronbot();

const orderbot = {
  addJob: (e) => {
    _job.push(e);
  },
};



cronbot 이란 함수에서 _job이란 배열에 들어있는 놈을 하나씩 꺼내서 실행을 하고 200ms 간 딜레이를 발생 시킨뒤 재귀함수로 데이터를 반복하여 체크를 합니다.

orderbot의 addJob을 통해 함수 형태의 데이터를 입력받아 _job 배열에 데이터를 저장합니다.

위 기능을 통해서 1초에 최대 8개의 코인을 동시 매수 할 수 있습니다...만 불장이 아닌 요즘같은 타이밍에 매수를 할 경우 8개의 코인이 동시에 하락하는 경험을 할 수 있습니다... ㅋㅋ

Sort:  

Upvoted! Thank you for supporting witness @jswit.
default.jpg

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.098
BTC 62929.55
ETH 1832.80
USDT 1.00
SBD 0.38