soominkim Study
article thumbnail
[Flask] TradingView를 활용한 암호화폐 매수/매도 (3)
Side Project/Flask 2023. 8. 28. 11:19

웹훅 설정과 서버에서 해줘야할 작성을 모두 마쳤습니다. 이제는 클라이언트에게 보여줘야할 코드를 작성할 차례입니다. 페이지에서 보여질 요소는 디폴트로 BTC/USDT가 있고, 각 포지션에 따른 실시간 가격과 포지션 정보, PNL, 해당 코인의 차트보기, 긴급상황을 대비한 수동청산, 승/패, 롱/숏 비율정도가 있습니다. 1. 차트 TradingView에서 제공하는 차트를 가져오는 것은 매우 쉽습니다. TradingView에서 위젯 형태로 매우 손쉽게 제공하고 있기 때문입니다. 차트보기 버튼을 누르면 해당 심볼에 맞게 트레이딩뷰 차트가 열리며 차트 닫기를 누를시 다시 닫혀지게 됩니다. 해당 프로젝트는 TradingView 얼러트 웹훅을 이용한 매매를 진행하는데, 매번 바이낸스를 들어가기도 귀찮고 실제 들어가 ..

article thumbnail
[Flask] TradingView를 활용한 암호화폐 매수/매도 (2)
Side Project/Flask 2023. 8. 28. 10:58

TradingView 설정을 모두 마쳤다면 이제는 Python을 통해 Flask를 설정할 차례입니다. 바이낸스에서 제공하는 SDK를 활용해도 되지만 저는 이전의 암호화폐서비스를 하면서 해둔 것들이 있기때문에 SDK를 활용하지 않았습니다. 필요한 기능들은 선물거래 계정에 대한 잔액조회, 포지션조회, 포지션에 대한 각 옵션 설정, 실시간 가격정도 있습니다. 1. 계정조회 def initData(apiKey, secKey): headers = { 'X-MBX-APIKEY':apiKey, } now = requests.get('https://api.binance.com/api/v3/time').json()['serverTime'] message = f'timestamp={now}' signature = hmac..

article thumbnail
[Flask] TradingView를 활용한 암호화폐 매수/매도 (1)
Side Project/Flask 2023. 8. 28. 10:33

SpringBoot를 활용해서 암호화폐통합관리시스템을 간단하게 구현했었습니다. 하지만 SpringBoot로 하기에는 프로그램 자체도 가볍고 개인적으로만 활용할 것이라, 이를 Flask로 구현했습니다. 기존의 SpringBoot에서 만들었던 것은 단순하게 현재 포지션을 조회 후 잔고나 거래내역 등을 보여주었고, 이번 Flask는 TradingView의 FineScript 언어를 활용, 전략을 구현해 Alert 웹훅을 이용한 자동매매를 실행합니다. 본격적인 설명에 앞서 Flask와 SpringBoot의 차이점을 매우 간단하게 알아보고 가려합니다. 만약 이를 원치 않는다면 해당 문단은 넘어가도 좋습니다. Flask는 Werkzeug, Jinja2 및 좋은 의도를 기반으로 한 Python용 마이크로프레임워크 입..

article thumbnail
[SpringBoot] 암호화폐통합관리시스템 웹 서비스 (3)
Side Project/SpringBoot 2023. 3. 6. 02:04

API를 통해서 필요한 데이터들을 가져왔습니다. 다음은 필요한 기능들을 넣어 만들어진 페이지입니다. 기능에는 다음 요소가 있습니다. - 로그인/회원가입 - 등록페이지를 통해 API 등록 - Binance 페이지를 통해 API가 등록된 계정의 잔액, 포지션 횟수, 포지션에 대한 롱과 숏 횟수, 매매내역을 알 수 있습니다. - 일별 PNL, 포지션 횟수, 롱과 숏 횟수를 알 수 있습니다. 현재는 단순하게 Binance만 가능하며 다른 거래소들은 Flask, Node.js, React 등 새로운 언어를 기반으로 만들 예정입니다. 만들어진 예제사이트를 보면 아직 수정하고 보완해야할 요소들이 많다는 것을 확인할 수 있습니다. 보완할 요소는 다음과 같습니다. 1. API를 통해 주문체결내역을 불러옴으로 "이익" 페..

article thumbnail
[SpringBoot] 암호화폐통합관리시스템 웹 서비스 (2)
Side Project/SpringBoot 2023. 3. 5. 19:39

PageController를 만들고 이제 본격적으로 거래소별 API를 가져오기로 했습니다. 먼저 대표 거래소인 Binance API를 가져오겠습니다. Binance API 경우 GoogleSheet App Script에서 한번 다뤄기 때문에 자세한 설명은 생략하겠습니다. REST API는 보통 JSON 형태로 응답합니다. 그래서 응답을 받은 후 필요한 데이터만을 가공하기 위해 다음 의존성을 추가합니다. implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1' 그리고 저는 요청에 있어 httpClient 라이브러리를 사용할 예정이어서 해당 의존성도 추가합니다. implementation group: 'o..

article thumbnail
[SpringBoot] 암호화폐통합관리시스템 웹 서비스 (1)
Side Project/SpringBoot 2023. 3. 3. 09:00

취미로 크립토투자를 하고있습니다. 해외 거래소인 경우 거래소별 상장해 있는 코인이 크게 차이가 나다보니 거래소별로 거래를 하는 경우가 많았습니다. 그러다보니 거래소별로 하나씩 들어가 엑셀로 다운받아 매매일지를 만들기도 힘들고 이참에 API를 활용해 웹 서비스 형태로 통합관리를 하면 괜찮지 않을까 생각이 들었습니다. 본 프로젝트는 오픈 템플릿을 활용하여 제작합니다. 프레임워크는 SpringBoot를 이용합니다. 또한 thymeleaf를 활용합니다. 빌드 도구는 Gradle입니다. 데이터 베이스는 많은 고민을 했지만 MySQL를 이용합니다. application.properties에 설정하기 전에 build.gradle에서 thymeleaf를 설정합니다. implementation 'org.springfra..

검색 태그