반응형

파이썬자동매매 31

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

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

비트코인 자동매매 프로그램 환경변수 파일로 빼기 - 보안 강화

비트코인 자동매매 프로그램을 만들다보면 업비트 API 액세스 키 및 시크릿 키 그리고 텔레그램 키 등 여러가지 보안 정보들을 사용해야 합니다. 지금까지는 제일 간편한 방법으로 각종 Key를 공통모듈에 넣고 저장하여 사용하였는데요. 이런 경우 코드를 공유할 때 해당 부분을 제거하는 것을 깜빡하는 경우 자신의 Key가 그대로 노출되어 자산이 위험에 빠질 수 있습니다. 이번 시간에는 각종 Key를 공통 코드가 아닌 특정 파일로 빼서 보관하고 필요한 시점에 파일을 읽어 Key를 조회하는 방법으로 공통 모듈을 변경해 보도록 하겠습니다. 목차 - 클릭하면 이동합니다. 보안 정보 파일로 관리하기 폴더 및 파일 생성하기 trade_bot 폴더 아래에 env 폴더를 하나 생성하고 env.txt 파일을 생성합니다. {'a..

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

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

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

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

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

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

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

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

파이썬을 이용하여 라인 라이트(Line Lite) 메신저로 메세지 발송하기

비트코인 자동매매 프로그램을 만들다 보면 필요한 시점에 알림을 받고 싶은 경우가 있는데요. 이럴 때 라인 라이트 메신저를 이용하면 파이썬을 이용하여 메세지를 보낼 수 있습니다. 이번 시간에는 파이썬을 이용하여 라인 메신저로 메세지를 발송하는 프로그램을 작성해 보도록 하겠습니다. 목차 - 클릭하면 이동합니다. 라인 라이트 메신저 라인 라이트 메신저의 장점 라인 라이트(LINE Lite) 메신저는 네이버 라인 메신저에서 음성/영상 통화 기능과 같은 부가 기능을 제외하고 단순히 메세지 기능만 탑재한 가벼운 버전입니다. 라인 라이트 메신저는 Token을 발급 받으면 본인 또는 타인에게 메세지를 발송할 수 있는 기능이 있어서 상당히 유용하게 사용할 수 있습니다. 예를 들어 비트코인이 10프로 이상 폭락하거나 각종..

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

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

호가창 흔들기 - 업비트 파이썬 비트코인 자동매매

혹시 업비트 호가창이 번쩍 거리면서 빠르게 움직이는 것을 보신 적이 있으신가요? 누군가 소액으로 매수/매도를 반복해서 진행하여 관심을 끌기 위한 행동인데요. 주로 세력들이 특정 종목에 일반인들의 매수세를 유입시키기 위해서 관심을 끌기 위해 사용하는 방법입니다. 이번 시간에는 쉬어가는 시간으로 재미로 호가창 흔드는 프로그램에 대해서 간단히 살펴 보려고 합니다. 목차 - 클릭하면 이동합니다. 호가창 흔들기 호가창을 흔드는 이유 위 영상을 보면 소액으로 매수/매도가 계속해서 반복되는 것을 볼 수 있고 오른쪽을 보면 가격이 계속 변동되기 때문에 종목이 눈에 띄게 되는데요. 호가창을 흔드는 방법은 아주 간단합니다. 소액을 이용해서 시장가로 매수/매도를 반복하여 진행하면 됩니다. 하지만 매수/매도를 자전거래하면 계..

잔고정보 조회하기(오류 수정) - 업비트 파이썬 비트코인 자동매매

업비트 잔고를 조회하는 로직을 과거에 포스팅을 했었는데 해당 로직 자체로는 아무 문제가 없지만 매도를 위한 목적등에 사용할 때는 원치 않는 결과를 초래하는 것 같아 로직을 조금 수정해 보았습니다. 목차 - 클릭하면 이동합니다. 잔고정보 조회하기 잔고 정보 조회하기는 보유하고 있는 원화 또는 코인들을 조회하는 로직인데요. 아래와 같은 목적으로 사용할 수 있습니다. ① 매수를 하기 위한 KRW 원화 금액을 조회 ② 보유하고 있는 코인을 매도 하기 위해 조회 마켓(Market) 코인 거래는 기준 통화(?)를 무엇으로 할 것이냐에 따라 달라지는데요. 이것을 마켓이라고 합니다. 업비트에는 총 세 가지 마켓이 있으며 바로 KRW, BTC, USDT 마켓 입니다. KRW는 원화를 가지고 매수/매도를 하는 마켓이며 B..

반응형