3주차 Python을 활용한 MongoDB CRUD 모듈 구현

마지막 업데이트: 2022년 5월 18일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
가상화폐 무료프로그램 땡스봇

자동 거래

이 글은 자동매매 봇을 만들고 그 간의 과정을 정리하고 또 수익에 대한 기록을 남기기 위해 작성하게 되었고
본격적으로 매매 봇에 대한 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 이야기를 시작하기 전에 나에 대한 잡담으로 먼저 시작해본다.

코인을 접한지도 1년이라는 시간이 다 되어간다.

코로나 이후 주식을 시작하며 한창 코스피가 박살난 그 덕분에 사는 종목마다 괜찮은 수익을 맛보고
친구 따라 미국 주식을 시작하며 재미를 보다가 GME 사태에 합류하게 되면서 단기간에 큰 수익도 보았다.

그 전까진 그래도 나름 분산투자도 하며 조심히 운영을 했다고 생각했으나,
단기간에 큰 수익으로 재미를 보고 나니, 나도 모르게 눈이 돌아가고 결국 몰빵을 하다 크게 잃어 보기도 했다.

그 뒤로 시작한 코인은 마찬가지로 3월 ~ 4월 사이에 나에게 수익을 안겨다 주었으나 또 한번 큰 수익에 목말랐던 나는
다시 한 번 몰빵을 하게 되고 4 ~ 5월 대폭락을 겪으며 계좌는 또 한 번 반토막이 나버리게 되었다.

그 뒤로 내가 감당할 수 있는 금액만을 남겨 두고, 소소하게 치킨값이나 벌자는 마음으로
천천히 코인도 굴려보고, 하나의 코인을 사서 존버 해보자는 마음으로 2달간 보유해서 수익을 낸 코인도 있었다.

그렇게 코인에 대해서 공부도 하게 되었고, 차트를 본다거나 보조지표가 무엇인지에 대해서도 알게 되었다.
그렇게 과거에 무지성으로 했던 매매를 반성하며 중간에 큰 수익도 내서 일부지만 앞서 잃은 손해도 메우고 있다.

문제는 이렇게 한 번씩 큰 수익을 볼 때마다, 자꾸 큰 수익에 대한 미련이 남는 게 가장 큰 문제였다.
그러다 보니 매도 시기를 놓쳐 더 적은 수익을 보거나 어떤 경우는 손절을 하고 팔아야 하는 경우도 생겼다.

그렇게 인생은 한방이 아니라고 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 매번 다짐하며 마인드 컨트롤하다 보니 내가 그렇게 하기 힘들다면
차라리 프로그램이 하게 하면 어떨까? 하는 생각이 들었고 이를 계기로 자동매매 봇을 만들게 되었다.

앞서 이야기했던 것처럼, "계속 큰 수익에 목말라하기보단 작은 수익이라도 꾸준히 낼 수 있도록 하는 것"
매매 봇을 만들게 된 결정적인 계기이자 목표였다.

가장 쉽게 생각해서 수익을 내려면 싸게 사서 비싸게 팔면 된다.
그리고 나는 이를 위해 보조지표를 활용하기로 했고, 볼린저밴드와 이동평균선을 기준으로 테스트를 진행하였다.

가장 먼저 생각한 건 이렇다
"볼린저 밴드 하단선을 이탈하고 V자 반등을 할 때 매수해서 2~3%의 수익을 달성하면 시장가로 매도하자"

3주차 Python을 활용한 MongoDB CRUD 모듈 구현

위 그림과 같이 5분 봉을 기준으로 볼린저 밴드 하단을 이탈하고 V자 반등을 하는 구간에 매수하도록 코드를 만들고
테스트를 진행했다.

결과는 생각보다 괜찮았다. 기억으론 한 4~5만 원 정도 수익을 냈는데, 여기서 문제가 하나 있었다.

위 그림처럼 아무래도 5분 봉을 기준으로 하다 보니 장기적으로 하락 중일 때는 내가 설정한 구간에 매수를 했다간
물리기 딱 좋았다는 것이었다.

아무튼 봇이 정상적으로 작동하고 있는 것은 확인했으니, 이제 로직을 조금씩 수정해야 하는 시점이 왔다.

중간중간 조금씩 수정은 했으나 결과적으로 이야기하자면 현재는 2가지 케이스를 모두 충족하는 경우에 매수를 하도록 진행했다.

  1. 1시간 봉 기준으로 볼린저 밴드를 이탈하는지 + @
  2. 15분 봉 기준으로 볼린저 밴드를 이탈하는지 + @
    ※ 이번 글에서는 간단하게 볼린저 밴드만을 기준으로 설명하겠다. [email protected]는 나중에 다시 한번 이야기할 것.

예시를 한번 보자, 위 차트를 1번 조건인 1시간 봉을 기준으로 먼저 확인하면 3주차 Python을 활용한 MongoDB CRUD 모듈 구현
9시 10시 13시 3번 이탈하는 것을 알 수 있다.

그리고 이걸 다시 15분 봉을 기준으로 쪼개어 보면 아래와 같이 나오는데
9-9:15 2번의 기회와 3-3:45 3번의 매수 기회가 발생하게 된다.

여기서 말하고 싶은 것은, 1시간 봉 기준으로 이탈했다고 15분 봉 기준으로 다 이탈하는 것이 아니라는 것과
15분 봉 기준(14:45)으로 이탈을 시작했어도 1시간 봉 (14:00)은 볼린저 밴드 하단 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 아래 위치하지 않을 수 있다는 것으로
단순히 기준 하나만 보는 것보다 다른 조건을 함께 보는 것이 보다 좋은 매수 기회를 노릴 수 있다는 것이다.

여기에 나는 [email protected]로 이동평균선과, 단순히 봉 하나만을 보는 것이 아닌 전, 전전 봉 등을 함께 확인하여 매수를 진행시켜
볼린저 밴드 하단을 이탈할 때마다 매수하여 물리는 경우를 방지하고자 하였다.

※ 쉽게 이야기하자면 현재 봉이 볼린저 밴드 하단에 위치하였을 때 전전 봉의 이평선(1)도 볼린저 밴드 하단에
위치하였을 경우 매수를 하도록 설정한다면 9시 구간에선 매수가 발생하지 않을 것이고 15시 구간에서만
매수가 발생하였을 것이다.

그리고 앞서 반등할 때 매수를 하도록 했더니 저점 대비 어느 정도 올라야 매수가 발생하게 되어, 반등 상관없이 매수하도록 설정하였더니 그 전보다 훨씬 더 저점에 매수하는 것을 확인할 수 있었다.

그리고 당연히 위 로직도 모든 경우의 수를 다 대응할 순 없기 때문에 최대 매수 코인 개수를 설정하거나, 각 코인 당
최대로 매수할 수 있는 금액을 설정하는 등 여러모로 물리는 경우를 대비하기 위해 안전장치를 설정해 두었다.

그리고 확실히 분할 매수/매도를 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 하도록 하였더니 현재 3.1% 이상 수익 발생하는 경우 매도를 하도록 되어 있는데,
은근 급등에 얻어걸려 10% 수익도 발생하고 최대 40%대 수익이 발생한 적도 있었다.

최근 연이은 하락장에 당연히 물려있는 코인도 있다. 이럴 경우 남겨둔 시드를 활용해 손 매매로 물 태워 탈출할 수 있도록
유도하고 있고 오늘도 그렇게 몇 코인 탈출시켜 두었다.

그리고 아래는 어느 정도 수익을 보고 매도를 했는지 확인하기 위해서 간단하게 알림으로 받아 볼 수 있도록
텔레그램 봇을 활용해 메시지를 받도록 하였다.
※ 문제는 시장가 매도를 하다 보니 실제 수익은 한 틱 낮게 나온다. (그래서 일부러 3.1%로 했다)

코인 봇에 대한 이야기는 오늘은 여기까지 하고자 한다.

12.15 기준으로 약 25만 원 정도의 누적 수익이 발생했고, 물린 애들도 탈출하면 30만 원 이상의 수익이 가능할 것 같다.
%로 따지기엔 전체 금액의 일부만 굴리고 있고, 그 금액마저도 설정한 구간에 도달하는 코인이 얼마나 있냐에 따라 달라
투자 금액 대비 몇 % 의 수익이다 라고 말 하긴 애매한 것 같다.

단 지켜보니 한 번에 최대 300만 원 정도 매수를 진행했던 적이 있어 300을 기준으로 따지면 약 7~8% 수익이 되지 않을까 싶긴 하다.

지금 다시 읽어봐도 참 글을 못 쓰긴 했는데. 맥주 한 캔 하다가 갑자기 생각나서 그냥 끄적인 것으로
당분간 봇의 수익 경과를 지켜보다 다시 한번 글을 쓰고자 한다.

자동 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 거래

3주차이다. 사실 가장 걱정한 주차이다. Database를 연결해야했기 때문이다. MongoDB 자체를 처음으로 경험하기 때문에 공부해야할 것이 많았다. 겨우겨우 CRUD 모듈을 구현하기는 했는데, unittest와 같이 개발에 유용한 것들도 같이 공부해서 정말 좋은 경험이었다. 이제 본격적으로 나에게 알림을 주는 Mail 모듈을 구현해보고자 한다.

MongoDB는 정말 간편한 DB임에는 분명하다. 지금까지 사용한 DB는 MySQL, MSSQL과 같은 쿼리문이 복잡한 DB였는데, MongoDB는 놀랍게도 문서형식의 데이터만 넣어주면 알아서 collection에 저장되었다. 내가 공부한건 Collection과 Database의 개념과 CRUD를 구현할 수 있는 쿼리문 그리고 Python에 존재하는 MongoDB와 관련된 몇가지 라이브러리에 대한 사용법이었다.

MongoDB와 관련된 문서는 블로그와 공식홈페이지를 참고하였다. 다행이도 MongoDB는 MongoDB Compass라는 아주 좋은 UI/UX를 지원하기 때문에 어렵지 않게 문서들을 확인할 수 있었다. 이제 해당 DB에 비트코인에 관한 정보를 넣어 분석하고 그에 대한 데이터를 바탕으로 비트코인을 매수, 매도하는 일만 남았다.

다음주는 여러개의 기능을 만들지 않을까 생각이 든다. 지금까지는 전부 내가 사용할 API와 Database에 대한 모듈이었지만, 이번에는 메일 전송 기능 매수 루틴과 같은 기능들을 구현할 것이기 때문이다. 많은 문제들을 만나고 해결하는 과정을 올렸으면 좋겠다.

b55.io, 전문적인 자동 거래 시스템 제공…B55 알고리즘으로 투자 전략 반영

b55.io, 전문적인 자동 거래 시스템 제공…B55 알고리즘으로 투자 전략 반영

[블록미디어] 전문적이고 자동화된 암호화폐 트레이딩 시스템 제공을 해온 B55 LTD는 지난 2018년 프랑스에서 개인 투자자를 대상으로 서비스를 시작한 이래 지속된 투자자 유입을 기반으로 최근 글로벌 시장 진출을 시작했다고 밝혔다.

대부분의 투자자는 개인의 투자 항목 선택 없이도 자동적인 수익 발생을 원하지만, 실제 투자에서는 이 목적을 달성하기가 매우 어렵다. B55 LTD는 24시간 기준 1000건 이상의 거래를 하는 알고리즘 기반 투자를 통해 자동적인 수익을 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 제공한다.

B55 트레이딩 봇은 ‘스케일링, 펀더멘털 트레이딩, 테크니컬 트레이딩, 중기 트레이딩, 고빈도 트레이딩’ 등 다양한 방법으로 하루 24시간 8만 6400초 시장을 모니터링하고, 자산 가격 변동에 대응할 수 있는 투자 선택을 제공하는 특징을 가졌다.

B55 알고리즘은 ‘오더북, 고래 자본 이동, 핫 월렛 및 콜드 월렛 모니터링, 숏과 롱 거래, 채굴자 수익’ 외에도 다양한 데이터를 분석해 투자 전략을 설정한다. 만약 1000만 달러 이상의 대규모 거래가 DEX에서 발생한다면, 차익거래 봇이 이를 인식하고 B55 알고리즘에 반영한다.

FTX 거래소를 위한 B55 트레이딩 봇은 복잡한 세팅이나 설정 과정 없이 이용할 수 있다. FTX 계정이 없어도 b55.io 서비스를 사용할 수 있으며, 기본 설정으로도 알고리즘 기반 투자를 이용할 수 있다.

자동 거래

드디어 땡스봇 V1.0.1 버전이 모습을 드러냈어요!^^

현재 24시간 여러 테스트 중에 있습니다. 결과값이 좋게 나왔으면 하는 바램입니다. ㅎ

가상화폐 무료프로그램 땡스봇

가상화폐 무료프로그램 땡스봇

땡스봇 테스팅이 완료 된 후 프로그램 설명과 함께 다시 공지 하겠습니다~! (

가상화폐 자동매매 프로그램 무료?

땡스봇 - 가상화폐 선물마진 자동매매 무료 프로그램

땡스봇 : 가상화폐 선물 마진 자동매매 무료 프로그램 안녕하세요 땡스봇 입니다. 여러 증권사에서 운영 중인 프로그램 매수/매도 와 같은 원리로 가상화폐를 거래해 보면 어떨까라는 생각에서


0 개 댓글

답장을 남겨주세요