본문 바로가기

파이썬을 이용한 비트코인 자동 매매 프로그램 만들기

python 자동거래 프로그램에서 오류가 발생했을 때 멈추지 않고 계속 실행되게 만들기

반응형

안녕하세요! 교육이 입니다.

 

지난 시간에는

바이비트(Bybit)에서 자동거래를 하기 위한 코딩 네 번째 시간으로

'일정한 가격 변동이 발생할 때 open & close' 하는 방법에 대해 알아보았는데요,

(파이썬 파일을 생성 및 API Key 입력은 [앞 포스팅]을 참고하세요^^)

 

오늘은, python 프로그램을 실행하는 중 무한 loop에 오류가 발생하여 멈출 떄,

멈추지 않고 계속 프로그램이 실행되도록 하는 방법을 알아보겠습니다 : )

 

업비트(upbit)와 바이비트(bybit) 모두에서 똑같이 적용됩니다^^

 

프로그램을 실행하다보니

거래소 API와의 접속 문제 또는 컴퓨터의 네트워크 문제 등으로 프로그램이 멈추는 경우가 발생하더라구요~

 

우리가 만든 프로그램에는 문제가 없는데

네트워크 문제로 프로그램이 종료되면 원치 않는 손실이 발생할 수 있기 때문에

문제가 발생하더라도 프로그램이 멈추지 않도록 만들어 보겠습니다.

 

 

1. Python 자동거래 프로그램이 멈추는 오류의 예시

 

 아래와 같은 문장이 나타나며 프로그램이 종료되는 경험을 하셨을 텐데

업비트 또는 바이비트에 대한 연결 문제가 발생하여 정지된 것으로 보입니다.

 

2. Python 자동거래 프로그램이 멈추지 않게 하는 방법

 

except문 뒤에 pass를 추가하면 오류가 발생해도 멈추지 않고 프로그램이 계속 실행된다.

예시로 업비트 python 프로그램(여덟번째 제목 포스팅 링크)에 적용시켜보겠습니다.

프로그램 실행 중 오류 발생 횟수를 확인하기 위해서

무한 루프를 시작하기 전에 error_count = 0 을 입력해줍니다.

 

printerror_count를 입력하여 프로그램 실행 후 오류가 몇 번 발생했는지 확인합니다.

if error_count > 5 ~ break 는 오류가 6번 발생했을 때 프로그램을 종료하게 됩니다.

pass는 오류가 발생해도 프로그램을 계속 실행하라는 뜻입니다.

 

프로그램을 실행하면 위와 같은 결과를 출력합니다.

이전과 달라진 점은 줄의 마지막에 ‘Error 0’ 이 출력되는데, 오류 발생 횟수가 0 이라는 뜻입니다.

프로그램이 아예 멈추지 않게 하기 위해서는 ‘if error_count ~ break’ 를 삭제하면 되지만,

저는 한번씩 프로그램이 잘 돌아가는지 확인하는 것이 좋다고 생각하기 때문에

‘if error_count ~ break’ 를 그대로 두고,

프로그램을 한번씩 확인하면서 Error0보다 크면 한번씩 재시작 해주는 것이 좋습니다.

 

지금까지

업비트 또는 바이비트 python 자동거래 프로그램에 오류가 발생해도

멈추지 않고 계속 실행하게 할 수 있는 방법에 대해 알아보았는데요,

 

다음 시간에는 무엇에 대해 알아볼까요?

 

알아보고 싶은 내용을 댓글로 남겨주시면 알아보도록 하겠습니다

댓글 부탁드려요~☆

 

오늘도 즐거운 하루 되세요~!!!

 

※ 참고사항

pybit 모듈을 2024년에 새로 설치하신 분은 

API 버전이 다르기 때문에

API key  파일 불러오기, 지갑, 포지션 정보, BTCUSDT 현재가 불러오기,

거래 코드, 주문확인 코드 등을 

V5 API 버전에 맞게 아래 링크를 참고해주세요.

 

바이비트(bybit) 자동매매 2024년 2월 최신버전 파이썬 코딩 (V5 API)

안녕하세요. 교육이입니다^^ 오늘은 바이비트 V5에서 자동거래 하는 방법을 알려드리려 해요. 교육이는 자동거래로 계속 거래를 하다가 최근 다른 전략을 적용하려 했더니.. 옛날버전에서는 지

giftededu.tistory.com

 

반응형