자, 드디어 재미를 느끼실 챕터입니다 👍
1. 코드를 복사해서 저장 해 주세요!
파일명 : KR-ticker_list.py
코드는 아래! ↓
https://github.com/hunmin815/autoTrade/blob/master/KR-ticker_list.py 👈 (새 창)
붙여 넣으시고 저장!
2. 코드 실행
- python3 KR-ticker_list.py
- 실행 결과
위 종목 중에 마음에 드는 종목을 하나 골라주세요!
저는 DOGE 코인으로 가겠습니다.(화성 갈끄니ㄲ...)
1. 코드 복사, 저장!
이번 시리즈의 핵심 파트!
파일명 : UpbitAutoTrade.py
코드는 아래! ↓ (Update : 2021-12-24)
https://github.com/hunmin815/autoTrade/blob/master/UpbitAutoTrade.py 👈 (새 창)
✔ *77Line에 ticker변수🔖의 값을 원하시는 종목 코드로 바꿔주시면 됩니다!
1. 시작 스크립트
파일명 : start.sh
코드는 아래! ↓
https://github.com/hunmin815/autoTrade/blob/master/start.sh 👈 (새 창)
nohup : 스크립트 파일을 데몬 형태로 실행 시켜주며, 터미널이 종료되어도 프로세스가 죽지 않습니다.
python3 -u : -u 옵션이 있어야 로그파일에 python의 출력을 찍어줍니다.
& : 백그라운드로 실행 시켜 줍니다.
tail -f : 파일의 끝 부분을 계속 갱신하여 보여줍니다.
nohup만 사용시에 현재 터미널에서 명령어 입력이 불가하나 &를 같이 사용하여
현재 터미널을 계속해서 사용 할 수 있습니다.
터미널에 계속 로그가 찍히실 텐데 그만보고 싶으시다면 Crtl + C를 눌러주시면 됩니다!
(nohup.out 이라는 로그파일에 값이 계속 찍히고 있습니다.)
프로세스 종료, 서버 종료만 아니면 백그라운드에서 계속 동작 중입니다.
🤔 nohup.out 파일에는 동작 로그가 기록됩니다.
이에 따른 파일의 용량이 증가하는데, 혹시 디스크의 용량이 Full될까 걱정되신다면
cat /dev/null > nohup.out 을 명령어로 입력 해 주시면 파일의 내용이 모두
삭제됩니다!
저장 하시고
- chmod 750 start.sh
❗ 해당 명령어로 start.sh 파일의 권한을 변경 해 줍니다.
권한 변경을 하지 않으신다면... 아마도 기본적으로 실행 권한이 없어서 실행이 안되실겁니다.
2. 정지 스크립트
파일명 : stop.sh
코드는 아래! ↓
https://github.com/hunmin815/autoTrade/blob/master/stop.sh 👈 (새 창)
UpbitAutoTrade.py 프로세스 ID를 찾아서 kill 시켜주는 스크립트입니다.
저장 하시고
- chmod 750 stop.sh
- ./start.sh 또는 nohup python3 -u UpbitAutoTrade.py &
best_k : 가장 좋은 *k값 입니다.
best_ror : 가장 좋은 수익률 입니다.
target_price : 해당 종목의 매수 목표가
current_price : 해당 종목의 현재가
🧐 *k 값 이란?
노이즈의 비율입니다. 꾸준한 상승세를 보이면 노이즈가 적으며, 횡보를 하면 노이즈가 많아집니다.
따라서 k의 값이 높다 = 매수 목표가를 높게, k값이 낮다 = 매수 목표가를 낮게 산정됩니다.
- 실행 루틴
매수 목표가와 현재가가 같아지는 순간 시장가로 매수를 진행하며,
익일 장이 시작되는 09:00 10초 전 해당 종목을 모두 매도합니다.
09:00가 되어 장이 다시 시작되면 k의 값을 다시 계산하여 매수 목표가를 다시 산정합니다.
- 매수 로그
- 매도 로그
✔ 코드에 대해 설명이 더 필요하시다면 README! 클릭! 👈 (새 창)
드디어 실행할 수 있게 되었습니다! 👏👏
저는 6개월 가량 테스트를 진행해 보았으나
DOGE의 인기가 이미 식은 탓에 큰 수익은 얻지 못하였습니다. 😂
하지만 수익보다 더 값진 경험을 하실 수 있으실거예요!
투자는 상승의 시기가 오기 전 미리 준비된 상태여야 수익을 얻으실 수 있다는 점!
다음 챕터에서는 매일 시스템 상태 & 프로세스 체크, 매일 아침 매수 목표가를
Slack 메신저를 통하여 내 폰으로 전달 받을 수 있는 방법을 알려드리겠습니다.
안녕하세요 원래 이런 글에 댓글 별로 안 다는데 이 블로그로 도움 진짜 많이 얻어서 회원가입해서 글 남겨요
제가 컴공을 부전공으로만 끝내서 리눅스는 진짜 겉핥기로만 아는데 이 글 덕분에 우분투 세팅 하루 안에 끝낼 수 있었네요 ㅜㅜ
덕분에 지금 백그라운드에서 잘 돌리고 있어요, 아직 exception처리해야 할 게 많지만... 여튼 정말 감사합니다!