GOPAX API로 자동매매하는 프로그램을 완성했다. 어제 거의 마무리하고 돌려 보았다. 그런데 5시간 정도 동작 후 죽어버렸다. gopax 서버와의 통신상의 오류가 발생한 것 같은데 원인 불명이다. 오류 메시지가 너무 길어서 무슨 말인지 잘 모르겠다.
다시 실행하니 정상으로 동작한다. 그래서 간단하게 아래와 같은 프로그램을 추가로 만들어서 동작시켜 놓았다.
watchdog 만들기
프로그램이 비정상적으로 종료하였을 때 다시 실행하면 아무런 문제 없이 동작하는 경우가 많다. 프로그램의 오류의 원인은 백만스물다섯가지 이상이므로, 모두 대응하기는 어렵다. 그래서 watchdog 프로그램을 만들어서 서비스는 동작시키게 된다.
watchdog이란 특정 프로그램이 동작하는지 감시하고 있다가 해당 프로그램이 동작하고 있지 않은 경우에 다시 실행하는 프로그램이다.
파이썬에 익숙하지 않다 보니, 새로운 기능이 필요하면 웹질을 해야 한다. 여러 가지 방법이 많이 있지만, 최대한 간단한 방식으로 watchdog을 만들었다. 사실 이런 방식은 watchdog이라고 하기도 거시기 하지만 그래도 본연의 역할은 충실하게 수행하는 간단한 방식이다.
코드는 아래와 같다. AutoTrader.py라는 프로그램을 call 해 준다. 만약 AutoTrader.py가 잘 동작하고 있으면 return이 되지 않고 블럭되어 있다. 그러다가 AutoTrader.py가 오류가 나면 제어가 다시 아래 프로그램으로 돌아온다. 그럼 다시 AutoTrader.py를 실행한다.
from subprocess import call
cnt = 1
while(1) :
print ("start", cnt)
call('python AutoTrader.py')
자동프로그램 로직은 간단하다.
- xx100원으로 매수가 되면 +1000원 가격에 매도
- xx100원으로 매도가 되면 -1000원 가격에 매도
- xx200원으로 매수가 되면 +2000원 가격에 매도
- xx200원으로 매도가 되면 -2000원 가격에 매도
- xx300원으로 매수가 되면 +3000원 가격에 매도
- xx300원으로 매도가 되면 -4000원 가격에 매도
조금 더 세분화할 수도 있지만 일단은 1000원 단위로 돌려본다. 얼마나 수익(?)이 날지 기대가 된다.
이전 개발 이야기
GOPAX에서 자동 매매하기[1]
GOPAX에서 자동 매매하기[2]
잇님은 능력자.. 자동프로그램이라니.
영화에서 나오는 사람같아요. 쓱싹 쓱싹하면 하나 막 만들어지고
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
ㅎ 감사합니다. 로직이 간단해서 프로그램밍만 조금 알면 가능한 일입니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
정말 능력자시네용.. ㅎㅎ 좋은 결과가 나올지 궁금합니다^^
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
결과는 EOS의 가격에 달려있습니다. 특별한 로직이 없기 때문에 EOS 오르면 이익이 납니다. ㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
와~ 이제 얘가 가서 돈 벌어 오는건가요??
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
변동성이 크지 않아서 매매가 거의 이루어지지 않는군요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit