bithumb 11

2025-06-25 [10] [v1.7] 현실 자산 거래

오늘은 가상 자산이 아닌 현실 자산을 이용해서 거래를하는 기능을 추가해 보겠습니다!!드디어 메모장에 적힌 숫자가 아닌 계좌에 적힌 숫자로 거래를 하게 됩니다 ㅎㅎ계획은 다음과 같습니다- main_trader.py에 기존 매매 동작을 class로 정의!- 세부 내용 살포시 변경!- is_virtual이라는 변수를 통해 가상 거래를 할지, 현실 거래를 할지 선택!!그럼 시작해 보겠습니다.1. 기존 기능 class화1). class TradingBot()# ----------------- 클래스 정의 시작 -----------------class TradingBot: def __init__(self): """봇이 처음 생성될 때 실행되는 초기화 함수. 봇의 모든 상태 변수를 여기서 관리.""..

2025-06-21 [9] [v1.5] 연속 손실 제한 (Consecutive Loss Limit)

오랜만에 등장했습니다!요즘 시장이 안좋은지 매일 손해만 보는 저의 매크로를 위해 'n회 연속 손실이 발생한 경우 거래를 일시 중단하는 방어 코드'를 만들어보려 합니다.1. portfolio 업데이트기존 portfolio에 consecutive_losses라는 항목을 추가합니다.# --- 가상 자산 초기화 함수 ---def initialize_vportfolio(): print("새로운 포트폴리오를 초기화합니다...") return { "cash": 1000000.0, # 초기 가상 현금 100만원 "coins_owned": [], # 보유 코인 목록 (비어있음) "strategy_params": { "profit_take_perce..

2025-06-09 [9] [v1.2] 예외 종목(HODL LIST) 선택 및 수익실현/손절매

매크로를 만들었는데 내가 존버하려고 매수한 특정 종목을 매크로가 팔아버리면 곤란하겠죠?!그래서 오늘은 매크로가 건드리지 말았으면 하는 예외종목을 지정하는 기능을 진행하겠습니다.시작하기 전, 왜 [HOLD]가 아닌 [HODL]인지에 대해서는 재미있는 일화가 있어요.2013년 비트코인 가격이 크게 하락하던 어느 날, BitcoinTalk 포럼에 'GameKyuubi'라는 아이디를 쓰는 한 유저가 술에 취한 채로 글을 올렸다고 해요."나는 가격이 떨어져도 절대 팔지 않고 계속 보유할 것이다!"하지만 여기서 "I AM HOLDING"이 아닌 "I AM HODLING"으로 오타를 쳤고,그후 밈이되어 "Hold On for Dear Life" (살기 위해 꽉 붙잡아라 / 목숨 걸고 버텨라) 라는 새로운 의미가 부여..

2025-06-09 [9] 종목 선택

오늘은 종목 선택하는 방법에 대해 진행하려고 합니다.종목을 선택하기에 다음의 경우를 생각해봤습니다.1. 특정 종목 몇개만 선택한다.TARGET_COINS = ["BTC", "ETH", "XRP"] # 예시: 비트코인, 이더리움, 리플2. 거래대금 상위 종목 n개를 선택한다.3. 전체 항목을 스캔하고, 구매할만한 종목을 선택한다.★여기서 고려해야 할 점!!! ★ API 서버는 너무 과도한 요청을 보내는 사용자에 대해 차단을 할 수도 있다!!위 내용을 고려하면 3번은 위험부담이 커보입니다.그렇다고 1번을 고를만큼 코인 지식을 가지고있지 않아요.그런고로 2번으로 진행을 해보겠습니다!!거래대금 상위 N개의 종목 필터링1). importimport json 2). 함수 정의- 전체 ticker 정보와 개수를 입력..

2025-06-08 [8] [v1.0.0 완료] 캔들스틱, 단순 이동 평균(SMA), 골든/데드 크로스

오늘은 두뇌를 만들기 위해 사용할 캔들스틱(과거 시세 데이터) 가져오는 방법에 대해 진행하겠습니다.드디어 거의 끝이 보이고 있네요.1. 캔들 스틱 가져오기1). 캔들스틱 가져오는 함수- get API 이므로 bithumb_api_client.py에 함수 추가# --- 캔들스틱 데이터 가져오는 함수 ---"""빗썸 Public API를 사용하여 특정 암호화폐의 캔들스틱 데이터를 조회합니다.:order_currency: 조회할 암호화폐 심볼 (예: "BTC", "ETH"):payment_currency: 결제 통화 (기본값: "KRW"):chart_intervals: 차트 간격 (예: "1m", "3m", "5m", "10m", "30m", "1h", "6h", "12h", "24h"):return: 성공 ..

2025-06-08 [7] 가상 매수/매도 함수 구현

오늘은 가상 자산 시뮬레이션을 위한 매수/매도 함수를 만들어보려고 합니다.가상 자산을 이용한 시뮬레이션인 만큼 저번에 만들었던 virtual_portfolio_manager.py에 거래 함수를 추가 할 예정입니다.1. 매수/매도 함수1). import 선언import timeimport trade_history # 거래 내역 저장을 위해 2). 매수/매도 함수 선언- 다음과 같이 매수/매도 로직을 구현 할 함수를 선언하고 내부를 채워보도록 하겠습니다.# --- 가상 거래 기록 및 portfolio 상태 업데이트 함수 (실제 주문 X) ---""":portfolio_data: 현재 포트폴리오 상태 딕셔너리:trade_type: "buy" 또는 "sell":symbol: 거래할 코인 심볼 (예: "BT..

2025-06-06 [6] 가상 자산 관리 및 거래 내역

1. 가상 자산 관리- virtual_portfolio_manager.py 생성1). import 선언import json # 관리의 용이를 위해 json 사용import os # 파일 존재 여부 확인을 위해 2). 파일 이름 정의# --- 상수 정의 ---VPORTFOLIO_FILE = "vportfolio_state.json" # 가상 자산 상태를 저장할 파일 이름 3). 가상 자산 초기화 함수 정의 - 매크로 최초 실행 시 제공 할 가상자산을 설정합니다. - 현금, 보유 코인, 수익실현(PT), 손절매(SL) 값 지정# --- 가상 자산 초기화 함수 ---def initialize_vportfolio(): print("새로운 포트폴리오를 초기화합니다...") return { ..

2025-06-04 [5] 투자 방법 설계

오늘은 투자 방법을 어떻게 진행할지 생각해보겠습니다.우선 우리의 친구 AI (Google Gemini)에게 질문하여"특정 종목을 정하고 '수익실현(PT)'과 '손절매(SL)'를 정해 사고파는 시뮬레이터를 먼저 만들어봐" 라는 답변을 들었지만,그걸로 만족할 내가 아니지!1. '수익실현(PT)'과 '손절매(SL)'는 AI에게 일반적으로 사용되는 값을 알아봐달라고 부탁 - 수익실현(PT) : +5% ~ +10% - 손절매(SL) : -3% ~ -5%2. 테스트 기간동안은 실제 자산이 아닌 가상 자산을 이용하여 투자 진행 - 가상 금액 1,000,000 (KRW)이 있다고 가정 (변수 선언) - 프로그램 재시작 시에도 금액 및 보유 종목이 유지를 위해 파일로 저장 (JSON, CSV , etc...)3. 종목..

2025-06-01 [4] bithumb_api_client.py

이제까지의 테스트를 끝으로 본격적으로 매크로를 만들어보려고 합니다.하지만 중간중간 함수 Test 진행과 가상 Money를 이용한 동작 Test는 계속 진행할 예정입니다. 1. Bithumb API 함수 제작- Module importimport requestsimport timeimport uuidimport jwt # PyJWT Moduleimport json# --- API_KEY, SECRET_KEY 가져오기 ---try: from config import api_key, api_secretexcept ImportError: print("주의: config.py 파일을 찾을 수 없습니다. API 키를 사용하려면 해당 파일을 생성하고 api_key와 api_secret 변수를 설정해주세요..

2025-05-23 [3] Private API Test

Private API SignaturePrivate API는 Public API랑 다르게 "이 요청은 진짜 네가 보낸 게 맞아!"라는 걸 증명하는 인증 과정이 필요1. 인증 과정요소설명API Key (Connect Key)"나야!" 하고 보여주는 아이디 같은 것API Secret (Secret Key)"내가 진짜 나라는 걸 증명할게!" 하는 비밀번호Nonce요청을 보낼 때마다 사용하는 딱 한 번만 쓸 수 있는 숫자.같은 요청을 두 번 보내는 공격(Replay Attack)을 막기 위해 사용.보통 현재 시간을 이용해서 생성 2. 예시 확인' 2025-05-17 [1] Preview & Bithumb API '에서 다룬 bithumb API 정보에서 API 사용 예시를 확인 가능하다.위 이미지에서 오른쪽 P..