Skip to content

vento02/coinAutoTrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

coinAutoTrade

UpbitAutoTrade.py (변동성돌파 자동매매)

  1. 환경 변수를 통한 접근 및 비밀 키 설정: 스크립트는 **os.environ**을 사용하여 업비트 API에 접근하기 위한 키와 슬랙 토큰을 환경 변수에서 가져옵니다. 이는 보안상 중요한 정보를 코드에 직접 적지 않고 안전하게 관리하기 위함입니다.
  2. 잔고 조회: 사용자의 업비트 계정에서 특정 암호화폐의 잔고를 확인하는 함수입니다.
  3. best_k 값 계산: 이 스크립트의 핵심 부분 중 하나로, '변동성 돌파 전략'을 기반으로 최적의 k 값을 계산합니다. 이 값은 매수 목표가를 설정하는 데 사용됩니다.
  4. 매수 목표가와 현재 가격 조회: 설정된 k 값을 기반으로 매수 목표가를 계산하고 현재 가격을 조회합니다.
  5. 매매 실행: 설정된 조건에 따라 자동으로 매수 및 매도 주문을 실행합니다. 예를 들어, 현재 가격이 매수 목표가에 도달하면 지정된 금액만큼 비트코인을 매수합니다.
  6. 슬랙 메시지 전송: 매매 주문이 실행될 때마다 슬랙을 통해 알림 메시지를 전송합니다.
  7. 매매 전략: 매일 특정 시간(한국 시간 기준 9시)에 매매를 시작하여 다음 날 같은 시간 전에 보유한 모든 비트코인을 매도합니다.
  8. 오류 처리 및 시간 간격 설정: 예외 처리를 통해 오류 발생 시 스크립트가 중단되지 않도록 하고, 시세 체크 속도를 조절하기 위해 **time.sleep**을 사용합니다.

UpbitRsiAutoTrade.py (Rsi지수를 고려한 자동매매)

  1. 환경 변수 설정: 업비트 API 키와 슬랙 토큰이 환경 변수를 통해 설정됩니다.
  2. 잔고 조회: 사용자의 업비트 계정에서 특정 암호화폐의 잔고를 확인하는 함수입니다.
  3. RSI 계산: RSI 지표를 계산하는 함수입니다. RSI는 가격의 상승력과 하락력을 상대적으로 비교하여 매수 또는 매도 시점을 판단하는데 사용됩니다.
  4. 매수 및 매도 로직:
    • RSI가 30 이하일 때 전체 잔액으로 매수 주문을 넣습니다.
    • RSI가 70 이상일 때 보유한 모든 비트코인을 매도합니다.
  5. 수익률 계산 및 추가 매수/매도 전략:
    • 수익률을 계산하고, 특정 수익률에 도달했을 때 추가적인 매수 또는 매도를 진행합니다.
    • 이는 설정된 금액 범위 내에서 보유한 코인에 대해 수익률이 일정 수준 이하로 떨어질 때 추가 매수하거나 손절매를 진행하는 로직입니다.
  6. 슬랙 메시지 전송: 매매 주문이 실행될 때마다 슬랙을 통해 알림 메시지를 전송합니다.
  7. 오류 처리 및 루프 제어: 예외 처리를 통해 스크립트의 안정성을 높이고, **time.sleep**을 사용하여 루프의 실행 간격을 조절합니다.

flask_server.py (Slack에서 자동매매프로그램으로 요청을 보내기 위한 파일)

  1. Flask 서버 설정: Flask를 사용하여 웹 서버를 구성하고, / 경로에 대한 GET 및 POST 요청을 처리하는 라우트를 설정합니다.
  2. Slack 메시지 처리: Slack으로부터 메시지를 받고 이를 처리하기 위한 로직을 구현합니다.
  3. 커맨드 처리: 사용자가 Slack을 통해 보낸 특정 텍스트 명령어에 대한 응답을 제공합니다. 예를 들어, '시작1', '정지1', '잔고확인' 등과 같은 키워드에 대한 대응 방식이 구현되어 있습니다.
  4. Subprocess를 이용한 스크립트 실행: 특정 명령어에 대응하여 서버 상의 쉘 스크립트를 실행합니다. 이를 통해 암호화폐 거래 관련 프로그램을 시작, 중지, 상태 확인 등을 할 수 있습니다.
  5. Slack 메시지 전송: post_message 함수를 사용하여 Slack 채널에 메시지를 전송합니다. 이를 통해 사용자는 프로그램의 상태나 결과를 Slack을 통해 직접 확인할 수 있습니다.
  6. 요일 및 시간 정보 제공: 현재 요일과 시간을 반환하는 함수를 포함합니다.
  7. Slack 이벤트 핸들러: Slack에서 발생하는 이벤트(예: 언급, 메시지 수신 등)를 처리하는 핸들러를 구현합니다.
  8. 예외 처리 및 로깅: Slack API 에러와 다른 예외 상황들을 처리하고, 이벤트 및 오류를 로깅합니다.

nohup.out

  • 해당 파일에서 매수,매도,현재가,목표가 등 매초 로그를 확인할 수 있습니다.

그 밖의 모듈(기능)

Balancecheck_alertBot.py

  • 해당 파일을 통해 현재 잔고를 확인할 수 있습니다.

KR-ticker_list.py

  • 원화 시장 티커목록 조회 파일입니다.

변동성 돌파매매법

ProcessCheck_alertBot.py

  • Slack 채널에 프로세스의 상태를 알리기 위해 메시지를 보내는 스크립트입니다.

SystemCheck_alertBot.py

  • Slack 채널에 트레이딩 시스템의 상태를 알리는 기능을 수행합니다.

Tprice_alertBot.py

  • 비트코인의 변동성 돌파 전략을 활용하여 매수 목표가를 계산하고, 이를 Slack 채널에 알리는 기능을 수행합니다.

RSI 매매법

RsiProcessCheck_alertBot.py

  • Slack 채널에 트레이딩 프로세스의 상태를 알리는 스크립트입니다

RsiSystemCheck_alertBot.py

  • Slack 채널에 트레이딩 시스템의 상태를 알리는 기능을 수행합니다.

RsiPrice_alertBot.py

  • 비트코인의 RSI를 계산하고 이를 기반으로 매수 또는 매도 신호를 결정하여 Slack 채널에 메시지를 전송하는 스크립트입니다.

.sh(셸 스크립트 파일)의 용도

  • 셸 스크립트를 통해 Slack으로부터 명령어를 받아와 실행하는 flask_server.py 에서 편리하게 파일들을 실행시킬 수 있습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •