암호화폐 트레이딩 플랫폼 CoinEX 개발일지.1
CoinEX 2달간의 개발일지
안녕하세요 Steemit 에서 소소하게 이것저것 포스팅을 올리고 있는 개발자 IronPark 이라고 합니다. 일전에 거래소 통합 API 패키지 개발 상황 보고 라는 포스팅을 올렸었습니다 이에대한 후속 포스팅으로 현재 개발 및 저의 상황에 대하여 이야기 해보는 시간을 가져보려고 합니다.
개발중인 프로젝트는 여기서 볼 수 있습니다 > CoinEX Github 페이지
1. 아이디어의 확장
처음에는 하지만 개인적으로 트레이딩 봇을 개발해 보다가 각종거래소의 API를 파악하고 테스트하는데 어려움을 느껴 이에대한 문제 해결로 "여러 개발자들이 각종 거래소 API를 사용하기 쉽게 만들어보자!" 라는 형태로 프로젝트를 시작하였습니다.
(전세계의 다양하고 많은 거래소들 )
하지만 거래소 통합 API와 트레이딩봇 개발을 이어나가면서 현재 나와있는 암호화폐 트레이딩 봇을 개발하거나 운용할 수 있는 시스템들이 생각보다 많이 편리하지 않다는 생각을 하게 되었고 이는 트레이딩 봇을 보다 쉽게 개발하고, 공유하고, 데이터 수집을 용이하게 하는 트레이딩 플랫폼으로서의 (정확히는 시스템 혹은 알고리드믹 트레이딩을 쉽게 하는 플랫폼) 개발로 선회하게되는 계기가 되었습니다.
일단 방향을 트레이딩 봇 개발 플랫폼 으로 정하게 된 후 일단 하는 프로젝트 제대로 해보자 다른 플랫폼이 줄 수 없는 가치는 무엇인가에 대하여 고민하고 아이디어를 확장해 나가기 시작했습니다.
2.프로젝트가 지향하는 가치를 찾아서
오픈소스 프로젝트
비슷한 서비스가 있지만 API 키를 어떻게 맡기냐 라는 문제가 있습니다. 자금인출 권한이 없더라도 대량의 키를 가지고 있다면 일시적인 시세 조작도 가능하지 않을까요? 소설이긴 하지만 내 돈을 사용하여 뭘할지 모르는 불안함이 있습니다. 내가 소스도 공개되어있고 직접 내컴퓨터에서 실행할 수 있는 오픈소스 프로젝트라면 믿을 수 있지 않을까요?미려하고 사용성 좋은 UI
Gekko, ZenBot 과 같은 오픈소스 프로젝트가 있지만 저의 주관적인 기준에서는 아직 사용방법이나 UI적인 측면이 부족하다고 느껴집니다, 새로운 봇을 개발하는것도 그렇게 쉬운 일은 아니구요. 특히 ZenBot은 콘솔베이스라 개발자가 아니라면 접근하기 어렵습니다. 보다 사용자 친화적인 UI를 제공할 생각입니다.다양한 백테스팅 지표와 성능
일반적으로 봇을 개발하면서 이 알고리즘이 실제로 수익성이 있는지 위험도는 어느정도 인지 알기 위해 과거데이터를 이용한 "백테스팅" 이라는것을 합니다. 이러한 백테스팅을 보다 체계적인 로그 관리, 다양한 지표 그리고 다양한 암호화폐 및 거래소 데이터를 동시에 테스트 할 수 있는 성능을 제공하려고 합니다.다양한 개발 언어 제공 / 전략 공유
C, Python, Javascript, Go... 등 다양한 언어가 있습니다 트레이딩 알고리즘(전략) 을 개발함에 있어서 다양한 언어를 사용할 수 있게 하여 다양한 개발자의 접근성을 높이려고 합니다. 일종의 플러그인 시스템이기 때문에 누군가 github에 전략을 올리고 공유한다면 플랫폼상에서 쉽게 다운로드하고 해당 전략을 사용할 수 있게 하려합니다.다국어 지원
현재는 영어만 포커스를 맞춰 개발하고 있지만 프로젝트가 정상 궤도에 오른다면 한국어,일본어 등을 지원할 생각입니다.
다른 몇가지 아이디어가 더 있지만 현재 가장 고민하는 내용은 일반인도 좀더 쉽게 접근하여 전략을 개발하고 공유할수 있는 방법이 뭐가 있을까 생각하고 있습니다. 아이디어가 있다면 덧글로 남겨주세요 :)
3.유튜브 출현
블록체인ers 서울 파티때 인연을 가지게되어 어느 순간 눈떠보니 유튜브 채널에 제얼굴이 박제가 되었습니다 (네?)
4.현재 프로젝트 상태
- 기반 소스코드 리팩토링 및 각종 버그 수정
- InfluxDB 와 연동하여 데이터 수집 기능 프로토타입 개발 / 안정화 작업중
(위 이미지는 데이터 수집 현황을 보여주는 화면입니다 가장 최근에 수집된 데이터가 파란색으로 표기되고 있습니다.) - 트레이딩 전략 개발을 위한 플러그인 시스템 개발중 (GRPC를 베이스로 하고 있습니다)
- UI 개선중 ( vue.js, bulma css 라이브러리를 기반으로 하고 있습니다)
5.프로젝트가 흥미롭거나 빨리 사용해보고 싶다면
보팅과 덧글로 개발에 힘을 실어 주세요 :)
혹시 더 직접적인 후원을 해주시고 싶으시다면 아래 후원 계좌(이더리움)로 보내주세요 :) 0.03 이더만큼의 커피값 만으로도 밤을 지세워 개발할 수 있는 원동력을 얻을 수 있습니다
0x7EA84eFF0f9D3bd2EaD6Db190A4387B71ac42b44
주의! 이더리움 클래식을 보내지 마세요! 이더리움 계좌입니다!
아이디어 좋네요!
아이디가...ㅋㅋㅋ 스팀잇이 잘되면 나중에 네이버에 내다 팔수도 있겠는데요? 일종의 도메인처럼.
더 빠르고 원활한 소통으로 정보공유를 할 수 있을까요? 저도 더 공부해보고 싶습니다.
수고하십니다. 프라이빗 api를 사용하는 앱에 신뢰성을 줄수있는 좋은 방법이 나오면 좋겠네요.
아직은 사용자가 최대한 조심하고 권한에 제약을 둘 수 밖엔없는거 같습니다.
응원합니다. 어떤 코드로 구현하실까 했는데 golang 이네요. 멋집니다.
Golang 재미있어요ㅋㅋ 스팀 관련 봇도 개발해볼 생각인데 이건 js나 python으로 만들어 볼까 합니다.
트레이닝봇에 관심이 많은데 타고타고 오다 이제야 보네요...화이팅하세요..!!
혹시 프로젝트 진행중이신가요? 마지막 커밋이 4개월 전 인데요.