일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- write
- File
- GO 언어
- FOR
- install
- tcp
- Sync
- go
- 책
- Linux
- Python
- window
- Close
- c++
- json
- channel
- 리뷰
- C
- http
- 영화
- mutex
- JavaScript
- API
- package
- windows
- Golang
- go언어
- range
- Callback
- bitcoin
- Today
- Total
목록전체 글 (203)
Code Habit
브라우저 화면을 갱신하거나 값을 영구적으로 저장하고 싶을때 사용자의 pc에 값을 저장해놓고 쓰는 방식인 localStorage를 사용하면 된다. localStorage는 쿠키와 달리 유효기간이 없고 영구적으로 이용 가능하며 5MB까지 사용 가능하다. Key와 Value를 하나의 세트로 저장하는 방식으로 값은 반드시 문자열로 저장된다. - 데이터 저장 localStorage.Key1 = "Value1"; localStorage["Key2"] = "Value2"; localStorage.setItem("Key3", "Value3"); - 데이터 가져오기 const val1 = localStorage.Key1; const val2 = localStorage["Key2"]; const val3 = localSt..
addEventListener을 통해 여러종류의 이벤트 핸들러를 등록할 수 있다. 예시) function OnInputBtnClicked(event) { console.log("inputbtn clicked !"); console.log(event); } function OnMouseOver(event) { console.log("Mouse Over !"); console.log(event); } function OnMouseOut(event) { console.log("Mouse Out !"); console.log(event); } inputbtn.addEventListener("click", OnInputBtnClicked); // inputbtn 눌렀을 때 OnInputBtnClicked 호출 i..
querySelector 함수를 사용하여 JavaScript에서 HTML에 있는 element에 접근해 값을 참조하거나 변경할 수 있다. querySelector는 getElementBy* 처럼 특정 id를 제한하지 않고 CSS선택자를 사용하여 요소를 찾을 수 있다. 예시 ) document.querySelector("tagName"); // 태그명이 "tagName"인 첫번째 요소를 가져온다 document.querySelector(".className");// 클래스명이 "className"인 첫번째 요소를 가져온다. document.querySelector("#idName);// 아이디가 "idName"인 첫번째 요소를 가져온다. document.querySelector("#divName butto..
VSCode로 html 형식의 파일을 만들고 "!" 를 입력하면 자동으로 html 코드 골격이 완성되는데 데스크탑으로 할때 잘 되던게 노트북으로 하니 잘 안됬다. emmet abbreviation 은 VSCode에 기본으로 내장되어 있는 기능이다. 혹시나 해서 관련 확장 프로그램을 찾아보고 VSCode 버전을 비교해봐도 둘다 최신버전이었다. 검색해보니 VSCode 오른쪽 하단에 위치한 언어모드가 'Django HTML'로 되어 있던게 문제였다. 이를 'HTML'로 변경하면 아래와 같이 자동완성 기능이 잘 동작한다.
투자시장에서 공포/탐욕 지수는 꽤 유효한 지표로 알려져 있다. 이는 시장에 분위기에 따라 가격의 추세가 정해질 수 있기 때문인데 암호화폐 시장에도 몇 가지 근거에 따라 공포/탐욕 지수를 수치화 해주는 사이트가 있다. 자세한 내용은 밑에 링크된 사이트를 참고하면 되니 여기서는 이 사이트에서 제공하는 api를 통해 지수를 가져와 보겠다. import requests import json url = "https://api.alternative.me/fng/?limit=" def fear_day(): _url = url+"1" res = requests.request("GET", _url); parsed = json.loads(res.text) data = parsed["data"] return data[0][..
선물 시장에서는 롱/숏 양 포지션 중 많은 쪽이 적은쪽에게 편차 비율에 따른 금액을 제공한다. 이를 펀딩비라 하는데 양 포지션의 균형을 맞추기 위해 존재한다. 필자는 이 펀딩비를 중요한 보조지표로 삼는데 경험상 펀딩비가 한쪽으로 너무 편향되면 시장의 흐름이 반대로 가는 경우가 많았기 때문이다. 역사적으로 모든 대중이 돈을 벌게 해주는 시장은 없다고 하였던가 투자시장에서 오랫동안 살아남으려면 대중과 반대로 가는 용기가 필요한 것은 분명하다. 추가로 펀딩비를 활용하여(1배숏 전략) 연20프로 이상의 수익을 거두는 사람들도 있다. 펀딩비율은 보통 각 거래소에서 롱/숏 비율에 따라 8시간전에 정해진다. 이 데이터를 거래소 api를 통해 가져올 수 있는데 ccxt 모듈을 활용해 binance, bybit, bit..
앞의 포스팅에서 upbit, bybit에서 제공하는 api를 이용해 비트코인 rsi를 구했었는데, 이번에는 ccxt라는 모듈을 활용해 binance 기준 비트코인 rsi를 구해보겠다. ccxt 모듈은 여러거래소의 api를 지원하는데 이를 활용하면 여러 거래소의 api를 따로 공부할 필요없이 ccxt에서 제공해주는 통일된 인터페이스를 통해 여러 거래소의 api를 보다 편하게 이용할 수 있다. ccxt를 사용하여 binance 비트코인 rsi를 구하는 예제다. import ccxt import pandas as pd import time def rsi_calc(ohlc: pd.DataFrame, period: int = 14): ohlc = ohlc[4].astype(float) delta = ohlc.di..
rsi는 Relative Strength Index의 약자로 상대강도지수를 뜻한다. 투자에서 사용하는 보조지표로 많이 활용 되는데 보통 30이하는 과매도 70이상은 과매수 구간으로 본다. 물론 모든 보조지표가 정답은 아니지만 단기추세에서 매수/매도의 기준을 잡을 때 사용하면 유리하다. 필자는 보통 매수/매도의 기준지표로 공포지수와 함께 많이 활용한다. bybit에서 제공하는 api로 rsi를 구할수 있다. 매번 거래 사이트에 접속해서 rsi를 분봉별로 체크하는게 귀찮았는데 이를 프로그래밍으로 구현해 자동화 하면 기타 다른 지표들과 함께 데이터를 좀 더 편하고 직관성 있게 볼 수 있는 있다. rsi를 구하는 코드는 다음과 같다. from pybit import HTTP import pandas as pd ..