본문 바로가기
코인자동매매/업비트

비트코인 자동매매하기 4-1편(코드짜기)

by 영혼의 길 2021. 4. 25.
반응형

안녕하세요. 오늘은 비트코인 자동 매매하기 4편을 포스팅하겠습니다.

이제 드디어 코드를 짜는 시간입니다.

아래 메모장에 코드 올려놓을테니까 복사해서 쓰시면 됩니다.

 

1. 업비트로 4단계 인증 후 open API 받기

2. 파이썬 3.89 설치, Visual studio code 설치

3. 코드 짜기

4. 클라우드에 올려 24시간 실행하기.

5. 구경하기

 

일단 저는 기본적으로 7:3 비율로 비트코인을 맞추는 것으로 했습니다.
7에서 떨어지면 비율이 6:4로 변할 텐데 그럼 현금으로 코인을 사서 7:3으로 맞추는 거고,
코인이 올라 비율이 8:2가되면 코인을 팔고 7:3으로 가게 됩니다.

vscode에서 아래 terminal에 pip install pyupbit라고 입력합니다. (참고로 vscode관리자로 실행해주세요!)

(나중에 schedule도 깔아야 하니까 pip install schedule도 깔아주세요)

그럼 잘 깔립니다.

 

구글에 들어가서 pyupbit라고 검색하면 github라는 곳에 pyupbit를 어떻게 쓰는지 가르쳐 줍니다.

 

여기서 들어가서 원하는 것을 확인하면 됩니다.

 

저는 일단 BTC잔고 조회랑, 보유 현금 조회를 하고 싶습니다.(GitHub에서 자세한 내용 확인 가능)

 

그러면 import pyupbit

 

access와 secret에서 아까 복사해 두었던 코드를 입력합니다.

print로 표시하면 현재 현금 및 보유 코인 잔고를 확인할 수 있습니다

지금은 BTC로 되어있는데 원하시는 코인 예를 들어 도지 코인이면 KRW-DOGE로 입력하시면 현재 가지고 있는 도치 코인의 양이 표시가 됩니다.

그리고 저장(!)을 하고(컨트롤+S) 아래 python test.py를 입력해주면(저는 이름이 buycoin.py여서.ㅎ) 현재 비트코인 잔고랑, 현금잔고를 확인할 수 있습니다.

 

여기까지만 해도 코딩을 처음 해보는 코린이의 입장에서는 엄청 신기합니다.

 

근데 아직까지도 많은 산이 남아있습니다.ㅠㅠ

 

저는 간단하게 시장가에 매도하고 매수하려고 합니다. 그렇게 안 하면 너무 복잡해요 ㅠㅠ

 

깃허브에 자세하게 나와있습니다.

주의할 점은 10000원은 현금이고, 아래 30은 코인입니다. 

 

 

이제 수학 시간입니다.

 

방정식을 짜고 그것을 문자로 표현하여 돌아가게 해야 합니다.

 

저는 변수를 a, b, c, d 이렇게 4개를 사용하였습니다

 

a= btc의 현재 원화 값

b= 가지고 있는 현금

c= a + b

d= 0.7

 

요렇게 해서 짰는데요

 

a/c < d이다 이러면 비트코인의 값이 떨어졌다는 이야기니까 사야 합니다. 

a/c(비트코인 원화 환산 값/ 비트코인)

 

그런데 얼마를 사야 하는지도 정해줘야 하는데요. 

그 값은 d*c-a 가 됩니다.

 

숫자를 넣어보면 간단한데 비트코인 6000원 현금 4000원에서 7:3 맞추려면

현금 1000원어치의 비트코인을 사야 합니다.

 

0.7*10000-6000=1000원이 됩니다. 그럼 비율이 7:3이 되겠죠?

 

반대로 비트코인이 오른다면 8000원 현금 2000원이라고 가정하면

현금 천 원어치를 팔아야 하는데 부호만 바꿔주면 됩니다.(a-d*c)

 

8000-0.7*10000=1000

 

요걸 수식으로 표현하면 요렇게 됩니다.

수식에 대해 간단하게 설명하면 upbit.buy_market_order("KRW-XRP", 10000)인데

10000원 자리에 현금이 와야 하니까 d*c-a만큼 

매도에서는 코인 수가 와야 하니까

upbit.sell_market_order("KRW-XRP", 현금 값/비트코인 가격)

현금 값/비트코인 가격이렇게 해서 코인 수가 나옵니다.

 

참고로 아래 수식은 제가 눈으로 보기 위해서 얼마를 사야 하는지랑 얼마를 팔아야 하는지를 보이도록 한 겁니다.(아래 if)

 

이제 반왔습니다. 파이팅

 

그래서 실행을 하면 사지긴하는데 24시간 돌리려면 schedule이란 모듈을 써야 합니다.

 

아까 pip install로 설치했다면 이 모듈을 쓸 수 있습니다.

아래 schedule.every(1).hour.do(job) 요건 보면 느낌이 오시겠지만 1시간마다 한번씩 실행하는 것입니다.

저는 이러면 언제 실행하는지 모르겠어서 맨 아래 minute.at을 사용합니다. 시간을 정해주면 그 시간에 돌아갑니다.

 

----------------------------------------수정----------------------------------------------------------------

네 이렇게 하니까 현재 돈이랑 가격이 업데이트가 안 되더군요. 그래서 수정하였습니다.

 

변수 a, b, v, d를 def 안에 넣어주었어요!

코딩수식(수정본).txt
0.00MB

비트코인 자동매매하기 4-2편(코드짜기2)

 

비트코인 자동매매하기 4-2편(코드짜기2)

안녕하세요. 오늘은 비트코인 자동매매하기 4-2편입니다. 저번 코드는 너무 재미 없고 거래도 거의 일어나지 않아서 좀 더 재미있고 수익적으로 도움이 되는 코드를 짜봤습니다. 1. 업비트로 4단

young0823.tistory.com

 

 

비트코인 자동매매하기 5편(클라우드에 올려 24시간 실행하기 공짜로)

 

비트코인 자동매매하기 5편(클라우드에 올려 24시간 실행하기 공짜로)

안녕하세요. 비트코인 자동 매매하기 5편입니다. 5편에서는 클라우드에 올려 이를 계속 실행하는 것을 해보려고 합니다. 4편까지만 만들어도 그냥 컴퓨터로 켜 두기만 하는데 그러기는 싫어서

young0823.tistory.com

 

반응형

댓글