반응형

비트코인자동매매 35

비트코인 자동매매 프로그램 자주 발생하는 오류 및 대처 방법

처음 Tech&Fin 블로그를 시작했을 때보다 비교적 많은 분들이 블로그를 찾아주시고 올려드린 비트코인 자동매매 프로그램을 설치하여 사용중인 것 같습니다. 사용하시는 분이 많아질 수록 예상치 못한 오류가 발생하는 케이스도 많아지고 있는데요. 이번 시간에는 지금까지 댓글로 문의를 받았던 오류들을 해결하면서 알게된 내용을 공유드리는 시간을 가져 보려고 합니다. 목차 - 클릭하면 이동합니다. 일반적인 오류 해결 방법 어떤 프로그램이나 마찬가지겠지만 오류가 발생하는 원인은 한 가지가 아니라 매우 다양합니다. 또한 같은 메세지를 내 뱉는 오류라 할 지라도 오류의 원인은 다를 수 있습니다. 그렇기 때문에 오류를 해결하는 방법이 한 가지일 수는 없으며 매우 다양한 케이스가 존재할 수 있습니다. 이럴 때 오류를 해결할..

업비트 웹소켓 데이터 오라클 DB에 저장하기 - 비트코인 자동매매 프로그램

지난 포스팅에서 업비트 웹소켓을 통해 현재가(TICKER) 정보를 구독하여 실시간으로 데이터를 수신하는 프로그램을 만들어 보았는데요. 해당 포스팅에서도 언급해 드린바와 같이 웹소켓 데이터는 실시간으로 데이터를 계속해서 수신하기 때문에 해당 데이터를 데이터베이스에 저장하고 분석 및 쿼리를 통한 다수의 종목 일괄 조회의 목적으로 사용할 수 있습니다. 이번 시간에는 업비트 웹소켓 데이터 중에 현재가(TICKER) 데이터를 오라클 DB에 저장하는 방법에 대해서 살펴 보도록 하겠습니다. 아직 업비트 웹소켓을 구독하는 방법을 확인하지 못한 분들은 아래 포스팅을 참고하시면 됩니다. 2022.01.14 - [프로젝트/비트코인 자동매매] - 파이썬 업비트 웹소켓 접속방법 - 비트코인 자동매매 프로그램 파이썬 업비트 웹소..

프로젝트 2022.01.22

파이썬 업비트 웹소켓 접속방법 - 비트코인 자동매매 프로그램

업비트에서 코인 정보를 받아오는 방법은 크게 두 가지 방법으로 나눌 수 있는데요. 먼저 API를 개별 호출하여 정보를 얻어오는 방법과 웹소켓을 이용해서 실시간 데이터를 구독하는 방법이 있습니다. 지금까지 Tech&Fin에서 다루었던 프로그램들에서는 첫 번째 방법인 API를 개별 호출하는 방법을 사용했었는데요. 이번 시간에는 API 개별 호출 방법과 웹소켓을 이용하는 방법은 어떤점이 다른지 살펴보고 웹소켓을 이용해서 실시간 체결 데이터를 받아오는 방법에 대해서 알아 보도록 하겠습니다. 목차 - 클릭하면 이동합니다. 웹소켓에 대한 생각 API 개별 호출과 웹소켓 구독의 차이점 기술적인 이야기는 뒤로하고 API를 개별 호출하는 것과 웹소켓을 구독하는 것은 목적의 차이가 크다고 생각합니다. API를 개별 호출하..

리눅스 서버에서 비트코인 자동매매 프로그램 스케쥴 등록하여 실행하기

지난 시간에 비트코인 자동매매 프로그램을 리눅스 서버에서 실행하는 방법에 대해서 살펴 보았는데요. 리눅스에서 프로그램을 수행한다 하더라도 예기치 않은 오류 또는 API를 제공하는 업체(업비트, 빗썸, 바이낸스 등)의 점검 또는 오류/과부하로 인해 프로그램이 중단되는 경우가 상당히 자주 발생하게 됩니다. 프로그램에 문제가 있어 발생하는 오류라면 프로그램의 수정이 있어야 하겠지만 그런 경우가 아니라면 프로그램 수정 없이 단순히 실행만 다시 해주면 되는데요. 이를 자동화 시키면 프로그램을 거의 99% 영구적으로 수행할 수 있게 됩니다. 그래서 이번 시간에는 비트코인 자동매매 프로그램을 스케쥴에 등록하여 중단되더라도 다시 실행하는 방법을 통해 프로그램을 연속적으로 실행할 수 있는 방법에 대해서 살펴 보도록 하겠..

리눅스 서버에서 비트코인 자동매매 프로그램 실행하기

윈도우 환경에서 파이썬으로 만든 비트코인 자동매매 프로그램을 실행하면 오류나 업비트 서버 점검 등으로 인해 오류가 발생하는 경우 프로그램이 종료 되어 수동으로 다시 실행해 주어야 하는 경우가 꽤 자주 발생하게 됩니다. 윈도우 환경에서도 스케쥴러에 등록하는 방법이 있긴 하지만 스케쥴러를 등록하는 것이 복잡하기도 하지만 실행이 완벽하게 되지 않아 사용하기 불편한 점이 많습니다. 또한 가정용 PC의 경우에는 일반적인 업무 용도로도 사용하기도 하며 윈도우의 잦은 업데이트로 재부팅이 자주 필요하기 때문에 프로그램을 끊었다 다시 돌려야 하는 경우가 많이 발생합니다. 이런 불편함은 프로그램을 리눅스 서버에서 수행하게 되면 어느정도 해소가 가능한데 오늘은 리눅스에서 파이썬 프로그램을 실행하는 방법에 대해서 살펴 보겠습..

트레일링 스탑 자동 매도 프로그램(수정본) - 파이썬 업비트 비트코인 자동매매

과거 포스팅에서 올려드린 트레일링 스탑을 활용한 자동 매도 프로그램에서 매수 후 바로 매도가 되어 버리는 현상이 발생한다는 댓글을 달아주신 분이 계셔서 프로그램을 분석해 본 결과 업비트 API의 치명적인 오류가 발견되었습니다. 문제는 업비트 API를 이용해서 보유 코인 리스트(get_accounts)를 할 때 발생하는 것으로 확인 되었으며 현상은 매수 직후에 매수가격이 올바르지 않게 조회되는 현상입니다. 예를들어 도지코인을 300원에 매수했음에도 불구하고 매수 직후에 조회된 잔고 자료에는 평균매수가격이 400원이나 200원 등으로 높거나 낮게 조회되어 수익 후 매도 로직이나 손절 로직을 타게 되는 현상입니다. 그리고 몇 초후에 다시 조회하면 올바르게 300원으로 조회가 됩니다. 오류 현상은 매수 직후에만..

비트코인 자동 매수 프로그램(수정본) - 파이썬 업비트 비트코인 자동매매

이전에 업비트 API 및 파이썬을 이용해서 보조지표를 활용하여 원하는 조건에 맞을 시 코인을 자동으로 매수하는 프로그램을 작성해 보았는데요. ① 보조지표를 가져오는 로직에서 속도가 저하되는 문제와 ② 중복 매수를 방지하기 위해 매수 후 매수 제외 종목으로 등록하는 부분이 추후 매도를 하게 되더라도 다시 매수되지 않는 문제에 대해서 몇몇 분들께서 댓글을 달아 주셨습니다. 또한 프로젝트를 진행하면서 공통 모듈이 여러 번 수정되어 과거 포스팅의 로직이 정상적으로 작동하지 않는 분들도 계시는 것 같아 이번에 자동 매수 프로그램을 수정하면서 전체 코드를 다시 정리해서 업로드 하려고 합니다. 목차 - 클릭하면 이동합니다. 매수 타이밍 보조 지표를 활용한 매수 타이밍 판단 로직 기본적인 매수 타이밍을 판단하는 로직은..

보유코인 모니터링 및 알림 메세지 발송하기 - 파이썬 업비트 비트코인 자동매매

얼마전에 파이썬 코딩 중 날짜 형식과 문자형식을 변환하고 시간차이를 계산하는 방법에 대해서 살펴 보았는데요. 이번 시간에는 해당 내용을 이용하여 간단히 모니터링 프로그램을 만들어 보겠습니다. 파이썬에서 날짜형 및 문자형간의 변환 및 시간차이를 계산하는 방법은 아래 포스팅을 참고하시면 됩니다. 2021.11.12 - [코딩스토리/파이썬] - 파이썬 코딩 - 날짜형 문자형 변환 및 시간차이 계산하기 - strftime, strptime 파이썬 코딩 - 날짜형 문자형 변환 및 시간차이 계산하기 - strftime, strptime 지난 포스팅에서 파이썬을 이용하여 라인 메신저로 메세지를 보내는 것에 대해서 살펴 보았는데요. 조만간 해당 내용을 이용해서 보유 종목을 모니터링 하면서 전체 자산의 상승/하락률에 대..

원하는 보조지표만 한번에 조회하기 - 파이썬 업비트 비트코인 자동매매

예전에 각종 보조지표들을 한번에 조회하는 방법에 대해서 살펴 보았는데요. 보조지표를 구하기 위해서는 캔들 데이터가 필요하고 캔들 데이터는 업비트 API를 호출해야 하기 때문에 여러 보조 지표를 구하기 위해 반복해서 API를 호출하는 것을 피하기 위해 캔들을 조회하기 위한 API는 한 번만 호출하고 여러 보조 지표를 한번에 구하는 로직을 구현했었습니다. 하지만 해당 로직 역시 불필요한 보조지표까지 모두 계산을 하기 때문에 속도 측면에서 불리한 점을 발견하게 되어 이번 시간에는 원하는 보조지표만 한번의 API 호출로 계산하여 속도를 개선한 로직을 살펴 보려고 합니다. 과거에 포스팅한 보조지표 한번에 조회하는 방법은 아래 포스팅에서 확인하실 수 있습니다. 2021.08.10 - [프로젝트/비트코인 자동매매] ..

CCI 지표 구하기(Commodity Channel Index) - 파이썬 업비트 비트코인 자동매매

이번 시간에는 몇몇 분들께서 댓글로 요청해 주신 파이썬과 업비트 API를 이용하여 CCI (Commidity Channel Index) 지표를 구하는 방법에 대해서 살펴 보려고 합니다. 다른 지표를 구하는 방법들은 아래 지난 포스팅을 확인하시면 됩니다. 2021.07.27 - [프로젝트/비트코인 자동매매] - RSI 상대강도지수 구하기 - 파이썬 업비트 비트코인 자동매매 RSI 상대강도지수 구하기 - 파이썬 업비트 비트코인 자동매매 주식과는 마찬가지로 코인 시장에서도 차트를 이용한 매매 기법을 사용하실 수 있습니다. 그 중에서도 RSI(상대강도지수)는 상당히 많이 사용되는 보조지표중에 하나 입니다. 앞으로 업비트 API technfin.tistory.com 2021.07.29 - [프로젝트/비트코인 자동..

반응형