비트코인 자동매매

[비트코인 자동매매] 업비트 RSI를 이용하여 모든 코인 자동매매하기

kyoa2 2023. 10. 10. 00:42

-----------------------------------------------------------------------------

https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기

레퍼럴 코드 : 21391362

-----------------------------------------------------------------------------

 

 

이번에는 RSI를 이용하여 업비트에 상장된 모든 코인을 자동 매매를 만들어 보겠습니다. 업비트 API만 차이가 있을뿐 그 외의 기술적인 부분은 바이낸스와 동일합니다. 바이낸스에서 만들었던 코드를 조금만 고쳐주면 금방 만들 수 있습니다.

 

※ 업비트는 바이낸스에 비해 초/분 쿼리량이 작기 때문에 주의 해야합니다.

 

 

1. 초기화

/v1/market/all API를 호출하여 모든 코인 리스트를 가져옵니다. 그 중 원화, BTC 마켓이 있는데 원화 마켓만 거래할 생각이므로 KRW 로 시작하는 코인들만 필터링합니다.

/vr/orders/chance API를 호출하여 코인 정보를 가져옵니다. 매매시 필요한 원화 값을 찾아 저장합니다. 그리고 거래가 가능한 코인만 필터링하기 위해 상태값이 active 인 코인만 필터링합니다.

 

 

2. RSI 스케줄러

1에서 저장한 코인들 모두 RSI을 구합니다. RSI를 구하는 공식은 바이낸스와 동일합니다. 차이점은 업비트는 최대 200개 데이터만 가져올 수 있습니다. 그리고 최신 날짜 순으로 데이터를 가져오기 때문에 데이터를 가장 오래된 데이터 순으로 정렬해주어야합니다.

 

RSI 계산 수치를 보수적으로 잡았습니다. 1시간 봉 기준으로 window 값을 21 주었습니다. (window 기본값 14)

1분마다 RSI가 계산되도록 스케줄러를 걸어줍니다.

 

 

3. 매수 로직

최소 수량만으로 매수 가능하지만, 수수료가 존재하기 때문에 수수료를 제하고 매매가 이루어집니다. 그러면 최소 수량 불충분으로 매도가 불가능합니다. 그렇기 때문에 최소 수량에 추가 수량을 조절해주어야합니다. 앞에서 구한 최소 매매 수량에 2배, 3배를 해주어도 됩니다.

 

매수가 완료되면 플래그값 등을 주어서 해당 코인이 매도 로직으로 진행할 수 있도록 만들어 줍니다.

 

 

4. 매도 로직

현재 지갑에서 해당 코인의 모든 수량을 구해서 시장가로 매도합니다. 매도가 완료되면 플래그값 등을 주어서 해당 코인이 다시 매수 로직으로 진행할 수 있도록 만들어 줍니다.

 

 

5. 매인 로직

모든 코인의 RSI를 확인하여 조건에 맞게 매수/매도 로직을 진행합니다.

 

 

-----------------------------------------------------------------------------

https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기

레퍼럴 코드 : 21391362

-----------------------------------------------------------------------------