반응형

프로젝트/비트코인 자동매매 46

[비트코인 자동매매 시즌2] #2 - 프로젝트 폴더 구조 설명

목차 - 클릭하면 이동합니다.시작하기 전에이번 시간에는 앞으로 진행해 나가게 될 파이썬 프로젝트의 폴더 구조에 대해서 살펴 보려고 합니다. 사실 파이썬 프로젝트 구조를 만드는데 정답이 있는 것은 아니지만, 향후 프로젝트를 조금 더 체계적으로 잘 관리하기 위해서는 자신만의 프로젝트 구조를 만들어 놓는 것은 의미 있는 일이라 할 수 있습니다. 만약 이미 파이썬에 익숙하거나 자신만의 프로젝트 구조를 가지고 계신 분은 이번 포스팅은 참고만 하셔도 괜찮을 것 같습니다.프로젝트 폴더 만들기베이스 폴더 만들기베이스 폴더 이름은 technfin-bot으로 만들고 해당 폴더에는 라이센스 관련 파일 등 정보파일 그리고 각종 패키지를 설치할 수 있는 requirements.txt 파일을 보관할 예정입니다.[python@in..

[비트코인 자동매매 시즌2] #1 - 개발 환경 설명 및 설정

목차 - 클릭하면 이동합니다.시작하기 전에지금 부터 차근차근 비트코인 자동매매 시즌2 연재를 시작해 보려고 합니다. 시작하기 전에 시즌2에서 다루고자 하는 내용 및 목표에 대해서 잠시 말씀 드리려고 합니다. 이번 시즌2에서는 먼저 조금 더 구조화를 갖춘 상태에서 파이썬을 활용해서 비트코인 자동매매를 구현할 수 있는 기본 모듈 및 체계를 잡아가는 과정을 설명 드릴 예정이며 웹소켓 등을 활용해서 웹 서비스를 만들어서 시세를 보여주는 웹 페이지를 만들어 보는 과정을 다뤄 보려고 합니다. 참고로 이전 포스팅에서 공식 텔레그램 채널 오픈 안내를 드렸으니 궁금하신 점 있으시면 해당 채널에서 소통하면 좋을 것 같습니다.개발 환경시즌2의 개발 환경은 크게 아래와 같이 진행해 보려고 하는데요. 사실 꼭 같은 툴이나 환경..

비트코인 자동매매 프로그램 만들기 시즌2 안내

목차 - 클릭하면 이동합니다.비트코인 자동매매 프로그램 시즌2 안내예전에 비트코인 자동매매 프로그램을 파이썬을 이용해서 만들어보는 포스팅을 진행한 적이 있는데요. 이번에 조금 더 업그레이드 된 버전으로 시즌2를 진행해 보려고 합니다. 우선적으로는 파이썬을 조금 더 구조화 하여 작성해 볼 예정이고 구독자 분들과 소통을 통해 전략을 만들어가며 하나의 프로덕트를 완성해 보려고 합니다. 차근차근 진행해 볼 예정이오니 블로그를 구독하시고 처음부터 함께 하시면 좋을 것 같습니다.추가 안내비트코인은 이제 현물 ETF 승인을 통해 점점 제도권에 안착하려고 하는 모습을 보이고 있습니다. 비트코인을 자동으로 매매하는 프로그램은 단순 자동매매 봇을 넘어 이미 해외에서는 여러가지 서비스로 제공이 되고 있으며 국내에도 소수의 ..

급등주 찾기 쿼리 - PostgreSQL 버전

예전에 업비트 급등주 찾기 프로그램을 공유 드린적이 있었는데요. 급등주를 찾는 쿼리가 오라클 데이터베이스로 되어 있어 PostgreSQL 쿼리를 문의하시는 분이 많았습니다. 오라클과 PostgreSQL은 문법이 조금 다르기 때문에 쿼리를 조금 변형해야 하는데요. 이번 시간에는 급등주 찾기 쿼리를 PostgreSQL로 작성해 보는 시간을 가져 보도록 하겠습니다. 목차 - 클릭하면 이동합니다. 업비트 급등주 찾기 쿼리 - PostgreSQL 급등주 찾기 쿼리 CREATE OR REPLACE VIEW FIND_SHOOT_1MIN AS SELECT A.CODE, A.DATETIME AS ST_DATETIME, B.DATETIME AS EN_DATETIME, A.MIN_PRICE AS ST_PRICE, B.MAX..

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

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

업비트 웹소켓 데이터 PostgreSQL DB에 저장하기 - 파이썬 비트코인 자동매매

지난 포스팅까지 PostgreSQL 데이터베이스 서버를 리눅스 서버에 설치하고 기본적인 세팅 및 외부에서 접속할 수 있도록 설정을 하는 방법에 대해서 살펴 보았습니다. 이번 시간에는 업비트 웹소켓 데이터를 PostgreSQL DB에 저장하기 위해 테이블 및 인덱스를 생성하고 파이썬 프로그램을 이용해서 웹소켓 데이터를 저장하는 방법에 대해서 살펴 보겠습니다. 아직 PostgreSQL 설치를 하지 않으신 분들은 아래 포스팅을 순차적으로 참고 부탁 드립니다. 2022.02.07 - [코딩스토리/리눅스] - 오라클 리눅스 8 - PostgreSQL 13 데이터베이스 설치하기 오라클 리눅스 8 - PostgreSQL 13 데이터베이스 설치하기 이번 시간에는 앞으로 Tech&Fin에서 다루는 비트코인 자동매매 프로..

업비트 공지사항 크롤링하여 텔레그램으로 메세지 알림받기

예전에는 업비트에서 프로젝트 공시를 공지사항에 올리면 해당 종목이 급등하는 일명 공시펌핑이 있던 시절이 있었습니다. 하지만 여러가지 사유로 시장을 흐린다는 판단하에 현재는 업비트에서는 프로젝트 공시를 하고 있지는 않습니다. 하지만 일반 공지사항 중에서도 입출금 일시 중지와 같은 펌핑의 재료로 쓰일 수 있는 공지들이 있는데요. 이러한 공지들은 빠르게 확인하고 대처하는 것이 가장 중요합니다. 이번 시간에는 업비트 공지사항의 글을 5초 간격으로 크롤링하여 새로운 글이 올라오면 텔레그램 메시지로 알림을 받는 프로그램을 만들어 보겠습니다. 목차 - 클릭하면 이동합니다. 업비트 공지사항 크롤링 업비트 공지사항 크롤링 주소 업비트 웹사이트를 보면 고객센터 아래에 위와 같은 공지사항 메뉴가 있습니다. 여러가지 게시판이..

급등주 찾기 - 업비트 파이썬 비트코인 자동매매 프로그램

업비트의 경우 일명 9시 경주마라고 불리고 있는 변동률이 초기화 되는 오전 9시에 이유없이 갑자기 급상승하는 종목들이 있는데요. 이런 종목 외에도 호재 공지가 뜨거나 해외 거래소의 급상승으로 인해 갑자기 급상승하는 종목들을 발견할 수 있습니다. 업비트 API를 이용하여 급등하는 종목을 찾으려면 분봉 데이터를 종목별로 가져와야 하기 때문에 100여개가 넘는 종목에 대해서 캔들 데이터를 조회하여 급등 종목을 찾으려면 빨라야 20~30초 정도가 소요 됩니다. 급등하는 종목에서 20~30초는 많게는 50~100%까지의 상승도 이루어 낼수 있는 시간이 될 수 있기 때문에 20~30초의 딜레이는 급등주 종목을 찾아서 매수하기에는 다소 애매한 시간이 될 수 있습니다. 하지만 얼마전에 살펴본 웹소켓을 이용하여 현재가 ..

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

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

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

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

반응형