비트코인(12)
-
Binance api 현물 거래와 선물 거래 사용법
1. 서론Binance는 세계 최대 규모의 암호화폐 거래소로, 다양한 거래 시장을 위한 API를 제공합니다. 본 보고서에서는 Binance API를 활용한 현물(Spot)과 선물(Futures) 거래의 차이점과 특징을 분석합니다. 현물과 선물 시장은 계좌의 구조, 주문 방식, 데이터 수집 방식 등에서 차이가 있으며, 이를 구체적으로 설명합니다.2. 현물(Spot) 거래 개요현물 거래는 즉각적인 자산 교환이 이루어지는 가장 기본적인 거래 방식입니다. 사용자는 실시간으로 암호화폐를 구매하고 판매할 수 있으며, 구매한 자산은 사용자의 현물 지갑에 저장됩니다.API 주요 기능:client.get_account(): 현물 계좌 잔고 조회client.get_klines(): 현물 시장의 캔들 데이터 조회client..
2025.01.08 -
[코인 자동투자 봇 제작기 13] 추세 함수 구체화
이제 데이터를 가져오고 가공하는 것은 거의 끝났다. 이동평균선, RSI, 볼린저밴드, OBV, 볼륨 프로파일, TPO 등 많은 지표를 정리했고, 추세에 대한 알고리즘도 작성했다.하지만 챗지피티와 토론을 여러번 하고, claude도 사용해보면서 현재의 추세 확인 알고리즘에 대해 더 생각해보게 되었고, 좀 더 간단한 로직으로 확실한 추세 지표를 만들 수 있지 않을까 라는 생각이 들었다.그래서 도입한 기술적 지표는 볼린저밴드의 BandWidth와 %b 지표이다.볼린저밴드 BandWidth, %b이 지표들은 볼린저밴드 자체를 분석하는 데에 도움을 준다.BandWidthBandWidth는 말 그대로 밴드의 폭을 알려주는데, 이 밴드 폭이 상대적으로 낮아질 때 추세전환이 일어나고, 밴드 폭이 높아질 때 변동성이 높..
2025.01.08 -
[코인 자동투자 봇 제작기 12] 메인 로직 다듬기 및 알림 함수 만들기
main 함수를 작성하던 중, 크나큰 문제가 생겼다.암호화페 지정을 위해 심볼을 활용할 때, BTC 단일로 쓰는 경우가 있고, BTCUSDT 형식처럼 관계를 쓰는 경우가 있다. 그래서 원래는 환경변수에서 모든 티커를 USDT-BTC 형식으로 받은 후, 공백을 기준으로 한번 분리하고, 로직 내에서 하이픈(-)을 기준으로 한번 더 분리하여 활용했었다. 다만 이럴수록 로직 상 머리가 아파오는 경우가 생겨서, 이부분을 수정하고자 한다.우선 환경변수에서 받을 때는 BTC ETH USDT 와 같이 단일 심볼로 받고, 이후에 뒤에 USDT를 가져다 붙이는 형식으로 활용하고자 한다.Main.py 로직 수정처음에 티커를 받을 때 로직은 ticker_list = config.coin_tickers.split(" ")로 동..
2025.01.03 -
[코인 자동투자 봇 제작기 11] 데이터 로드 함수 재작성
결국 갈아엎고 갈아엎다가 이젠 파일 자체를 통째로 갈아엎어버리기로 했다.일단 브랜치를 다시 생성하고, 데이터 불러오기 함수를 모두 삭제한 후 다시 작성해보자.Feature 브랜치 생성git checkout -b feature/data_cal developgit push -u origin feature/data_cal브랜치를 새로 만들었고, 함수들은 이름과 매개변수만 남겨둔 채로 나머지 세부 로직은 제거해뒀다.이제 하나하나 다시 만들어보자.알고리즘 최적화최종적으로 사용하게 될 방법은 아래와 같다.기술적 지표 이름에 해당하는 열이 없다면 처음부터 전부 다 계산기술적 지표 이름에 해당하는 열이 있다면, 비어있는 구간부터 계산이를 알고리즘 상에서 구현할 것이다.하나하나 다시 해보자...이동평균선```def ca..
2024.12.26 -
[코인 자동투자 봇 제작기 8] 가격 데이터, 기술적 지표 계산하기(2)
이제 가격 데이터를 바탕으로 기술적 지표를 계산해 보자.우리가 구해야 할 기술적 지표는 아래와 같다.RSI + MFI볼린저밴드볼륨 프로파일OBVRSI 지표는 계산 함수 하나, 정규화 함수 하나가 각각 따로 필요하고,MFI 지표는 RSI에 더불어 거래량까지 고려한 지표이다.볼린저밴드는 bandwidth까지 계산해야 한다.볼륨 프로파일은 해당 가격구간에서 얼마나 머물렀는지를 나타내주는 TPO도 함께 계산할 것이다.OBV는 거래량 데이터를 활용한 기술적 지표로, 하나의 함수만 있으면 된다.gpt와 claude의 도움을 받아서 전략을 일부 수정했고, 현재로서는 이 전략도 언제 수정될지 확실하지 않으니 전략 구현 단계에서 설명하도록 하겠다. 우선 지금은 기술적 지표를 하나하나 만들어가보자.RSIRSI는 상대강도지..
2024.12.18 -
[코인 자동투자 봇 제작기 7] 가격 데이터, 기술적 지표 계산하기(1)
이제 가격 데이터를 받아오고, 기술적 지표를 계산하는 코드를 짜보자.여기부터는 chat GPT의 도움을 좀 받아보도록 하겠다.Chat GPT 신기능 - 프로젝트챗 지피티 유료 버전 사용자라면, 사이드바에 프로젝트 라는 기능이 추가되어 있을 것이다.이 기능을 활용하면 프로젝트 단위별로 여러 개의 채팅방을 묶어서 관리할 수 있고, 프로젝트와 관련된 파일들을 추가해두고 채팅을 할 수도 있다. 다만 사진 파일 외의 다른 파일을 넣으면 GPT O1은 활용할 수 없다는 점이 큰 단점이지만, 그럼에도 쓸만하다.위 사진과 같이 만들어서 활용할 수 있다.우선 지금은 이게 중요한 게 아니니, 나중에 따로 소개하도록 하고 지금은 프로젝트에 집중하도록 하겠다.1. API 객체 생성전에 설정한 API를 활용하기 위해서는, AP..
2024.12.18