코인 - 라이프 - 밸런스

당신의 코인과 인생의 밸런스를 위하여 코라밸을 만들었습니다.

코라밸 UI 바로가기

함께만드는 자동매매

바이낸스 자동매매 프로그램 만들기 #2

코라밸 2022. 1. 17. 21:59
320x100

안녕하세요.

코라밸 입니다.

 

이전 글에 이어서 1, 2번 코드 예제를 살펴 봤습니다.

  1. 시세 (Ticker) 조회
    방식: WebSocket
    용도: 실시간으로 시세정보를 수신
    사용: 실시간으로 들어오는 시세정보를 저장하고 사용
  2. 주문 정보 변경 체크
    방식: WebSocket
    용도: 모든 주문 정보에 변동이 생길 때마다 웹소켓으로 신호를 받아서 처리
    사용: 주문의 체결이 발생한 즉시 주문 전송 등 사전 정의된 작업 수행
  3. 주문하기
    방식: REST API
    용도: 매수 주문 및 매도 주문 전송
    사용: Open Order 또는 Close Order을 전송
  4. 계좌 정보 조회
    방식: REST API
    용도: 현재 지갑의 잔고 및 보유 포지션의 정보를 조회
    사용: 0.3초에 한번씩 호출하여 현재가와 진입가를 비교해서 현재 손익률, 목표 손익률을 비교해서 처리

이번 글에서는 3, 4번 예제 코드를 이어서 살펴보겠습니다.

 

주문하기 예제 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const axios = require('axios');
const moment = require('moment');
const crypto = require('crypto');
const querystring = require('querystring');
const BINANCE_ACCESS_KEY = 'BINANCE_ACCESS_KEY';
const BINANCE_SECRET_KEY = 'BINANCE_SECRET_KEY';
const _query = {
    symbol: 'XRPUSDT',
    side: 'BUY',
    positionSide: 'LONG',
    type: 'LIMIT',
    timeInForce: 'GTC',
    quantity: 100,
    price: '1.1',
    timestamp: moment().valueOf(),
};
const query = querystring.stringify(_query);
const sign = crypto
    .createHmac('sha256', BINANCE_SECRET_KEY)
    .update(query)
    .digest('hex');
axios({
    method: 'POST',
    url: `https://fapi.binance.com/fapi/v1/order?${query}&signature=${sign}`,
    headers: {
        'X-MBX-APIKEY': BINANCE_ACCESS_KEY,
    },
})
    .then((response) => {
        // 주문 성공
    })
    .catch((error) => {
        console.log(error.response.data);
    });
cs

리플 100개를 $1.10 에 롱 오픈하는 코드입니다.
기본적으로 헷지 모드(Hedge Mode)를 사용하니 참고바랍니다.


헷지모드로 변경하는 방법은 아래 이미지로 설명 드리겠습니다.

 

계좌 정보 조회 예제 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const axios = require('axios');
const moment = require('moment');
const crypto = require('crypto');
const querystring = require('querystring');
 
const BINANCE_ACCESS_KEY = 'BINANCE_ACCESS_KEY';
const BINANCE_SECRET_KEY = 'BINANCE_SECRET_KEY';
 
const query = querystring.stringify({
    recvWindow: 10000,
    timestamp: moment().valueOf(),
});
const sign = crypto
    .createHmac('sha256', BINANCE_SECRET_KEY)
    .update(query)
    .digest('hex');
 
axios({
    method: 'GET',
    url: `https://fapi.binance.com/fapi/v2/account?${query}&signature=${sign}`,
    headers: {
        'X-MBX-APIKEY': BINANCE_ACCESS_KEY,
    },
})
    .then((response) => {
        console.log(response.data);
    })
    .catch((error) => {
        console.log(error.response || error);
        return null;
    });
cs

기본 틀을 짜놓은 코드르 보면 사실 크게 어려운 코드는 없습니다.

하지만 코딩에 익숙치 않은 분들은 기초적인 예제 코드를 만드는 과정부터 많이 어려움을 겪습니다.

작동하는 코드와 결과가 출력되는 것만 확인이 된다면

그 다음부터는 조금씩 변경하여 자신이 원하는 로직을 짤 수 있으리라 생각합니다.


Node.js와 NPM을 공부하시면 여러분도 비트코인 자동매매 프로그램을 개발하실 수 있습니다.

 

자동매매 개발자 오픈톡: https://open.kakao.com/o/gbD73Bud

 

함께만드는 자동매매

#코인 #암호화폐 #자동매매 #반자동매매

open.kakao.com

 

320x100