반응형

개발/Python

    [파이썬] 코인 자동매매 프로그램 만들기 #6 - 오류 수정

    자동매매 프로그램을 실행하고 3일이 지나고 슬랙을 살펴보았는데 위와 같이 매일 자정마다 오류가 발생했습니다... 자정마다 발생한 오류라면 매도 시도나 데이터 갱신을 하는 함수에서 오류가 발생했을 가능성이 큽니다 while True : try : now = datetime.datetime.now() if openTime < now < openTime + datetime.timedelta(seconds=5) : openTime = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) self.sell_coin() # 매도 시도 self.get_today_data() # 데이터 갱신 current_price = pyupbit.get_c..

    [파이썬] 코인 자동매매 프로그램 만들기 #5 - 슬랙 알림 봇

    이제 매매를 위한 프로그램은 작성을 했으니 몇 가지 상황에 간단한 알림을 받아볼 수 있도록 슬랙이라는 협업용 도구를 이용하여 알림 봇을 추가해주겠습니다 워크스페이스 생성 먼저 슬랙 사이트에 접속(https://slack.com/)하여 슬랙 워크스페이스를 생성해줍니다 워크스페이스 이름 설정 채널 이름 설정 이 단계 건너뛰기 선택 앱 생성 다음으로는 생성한 채널에 알림을 보내줄 앱을 생성해 주어야 합니다 슬랙 api 사이트에 접속(https://api.slack.com/)하여 Create an app 버튼을 클릭하고 From scratch를 선택 앱의 이름과 사용할 워크스페이스를 입력 → Create App 앱의 기능을 Bots로 설정 Review Scopes to Add 클릭 아래쪽으로 스크롤하여 Bot ..

    [파이썬] 코인 자동매매 프로그램 만들기 #4 - 자동 매매 프로그램

    이번에는 이전까지 테스트한 데이터와 전략들을 토대로 실제로 목표가에 맞게 매수하고 매도하는 프로그램을 작성해보겠습니다 변수 선언 먼저 자동매매 클래스를 만들고 init 함수로 필요한 변수들을 선언해 줍니다 class autoTrade : def __init__(self, start_cash, ticker) : self.fee = 0.05 # 수수료 self.target_price # 목표 매수가 self.bull = False # 상승장 여부 self.ticker = ticker # 티커 self.buy_yn = false # 매수 여부 self.start_cash = start_cash # 시작 자산 현재가 조회 먼저 자동 매매를 진행하기 위해서는 주기적으로 현재가를 불러와 목표 매수가와 비교해야 하기..

    [파이썬] 코인 자동매매 프로그램 만들기 #3 - 전략 보완

    코인 자동매매 프로그램 만들기 #2의 백테스팅 코드에서 이어집니다 상승장 투자 전략 변동성이 심한 암호화폐 시장에서 조금 더 안정적인 수익을 위해 상승장일 때만 매매를 진행하는 전략을 추가해 보겠습니다 5일 이동평균선을 기준으로 당일 시가가 이동평균선 위일 경우에만, 즉 상승장일 경우에만 매매하도록 코드를 수정해 줍니다 먼저 거래일 기준 이전 5일간의 종가평균으로 5일 이동평균값을 구해줍니다 # 5일 이동평균선 self.daily_data['ma5'] = self.daily_data['close'].rolling(window=5, min_periods=1).mean().shift(1) 상승장과 하락장 여부를 판단하는 컬럼을 추가하고 거래일 시가가 5일 이동평균보다 크면 True, 작으면 False를 저장..

    [파이썬] 코인 자동매매 프로그램 만들기 #2 - 백테스팅

    백테스팅 준비 전략 설정하기 먼저 실제 백테스팅 코드를 작성하기전 자동매매에 사용할 투자 전략을 설정해야 합니다. 이번 프로젝트에서 사용할 전략은 래리 윌리엄스(Larry R. Williams)의 변동성 돌파 전략입니다. 변동성 돌파 전략을 간단하게 알아보자면 다음과 같습니다 1. 전일 고가 - 전일 고가를 계산하여 변동폭을 구한다 ( range = 전일 고가 - 전일 저가 ) 2. 당일 시가 + 변동성 x 돌파계수(k) 를 매수목표가로 잡고 장중가격이 목표가를 넘으면 매수 3. 다음날 시가에 매도 라이브러리 업비트에서 제공하는 API를 더 쉽게 사용할 수 있게 해주는 라이브러리인 pyupbit를 이용하여 코드를 작성해 보겠습니다 sharebook-kr/pyupbit: python wrapper for ..

반응형