트레이딩 - 암호화폐 / 환율 / 지수 / 금속
- MQL5 . SQLite 데이터베이스 직접 지원 . 활용 코드예 2024.10.26
- MT5 . 거래 수수료 확인 . symbol specification Commission 항목 2024.10.26
- MT5 . 주문 체결 에러 . No Prices . TRADE_RETCODE_PRICE_OFF (=10021) 2024.10.10
- bybit MT5 통신 속도 확인 . AWS 일본 , 싱가포르 2024.10.09
- bybit API 서버 통신 속도 확인 . AWS 일본, 싱가포르 2024.10.09
- 삼각 차익 거래 . 가능 종목들 . 암호화폐 , FX 모두 가능. 2024.09.14
- 암호화폐 실시간 틱 데이터 수신 코딩 방법 . 파이썬 2024.09.07
- MQL5. 외부 프로그램으로 실시간 데이터 송신 . SendMessage, PostMessage, WM_COPYDATA 2024.09.06
- 암호화폐 과거 캔들 데이터 DB 에 저장하기 . 파이썬 코드 2024.09.01
C++
임베디드.일렉트로닉스
- 220V 전선 색 2024.08.09
- 단자대 . 터미널 단자바 . 접지바 2024.07.12
- 릴레이 . 대전류 . 100A ~ 2024.07.12
- DC-DC 부스트 (스텝업) 모듈 . 입력 10~60V, 출력 12~90V . 주행충전 활용가능 2024.07.11
- 앤더슨 커넥터 . 대전류 50A, 120A, 175A, 350A 2024.07.03
- 스위치 . 대전류 2024.06.29
- 압착 단자 2024.06.29
- CP210x . VCP 드라이버 . 안드로이드 용 2024.06.26
- 정류 다이오드 . 대전류 ~30A, 50A 2024.06.25
아이템.장난감
- PJM 무비나잇프로 . 풀 HD (1920x1080) 미니 빔 프로젝터 2024.07.31
- 나사못 2024.07.11
- 유연한 LED 조명 . 색상 변경 가능 . 일명 식빵등 2024.06.22
- 모니터 벽 거치대 2024.06.21
- 별 렌치 2024.06.18
- 브라켓 . 평철 . 개조 2024.06.01
- DIY . 스타리아 . RGB 면발광 식빵등 2024.08.14
- DIY . 스타리아 . MPPT 1 개로 태양광, 주행 동시 충전 2024.08.12
- DIY . 스타리아 . 220V 전원공급 커넥터 주유구에 달기 2024.08.11
- DIY . 스타리아 . 트렁크 트림 점검구 자석 착탈식 개조 2024.08.05
- DIY . 스타리아 . 빔 프로젝터 천장 거치 2024.07.31
- DIY . 스타리아 . 천장 세로봉 가로봉 장착 2024.07.30
최신 글 20개
- MQL5 . SQLite 데이터베이스 직접 지원 . 활용 코드예 개요 별도의 dll 이나 추가 설정 없이 MQL5 코드에서 즉시 SQLite 데이터베이스 관련 처리 가능. MQL5 에서 SQLite DB 활용 코드 예 HTML 삽입미리보기할 수 없는 소스 위 코드로 만들어진 DB 파일을 DB Browser 로 열어본다. 상위정리 메타트레이더 5. 체계정리. 활용법/지식MetaTrader 5 메타트레이더 5 , 메타에디터, MQL5 활용정보 체계정리. 본 글에서 주요 정리대상 정보 1. 메타트레이더 5 사용법.2. MQL5 언어 기반 "직접 코딩"하여 메타프레이더5에서 자동매매 달성igotit.tistory.com 연관 SQLite. 개요. 다운로드. implicit linking 위한 dll, h, lib 파일..
- MT5 . 거래 수수료 확인 . symbol specification Commission 항목 개요 종목별로 거래수수료 는 다르게 적용될 수 있으며 , MT5 심볼의 specification 에서 적용되는 수수료 확인 가능하다. 비트코인 ( 종목명 : BTCUSD ) 의 수수료 확인 바이비트 MT5 에서 Market Watch 에서 보이는 종목명 우마우스 클릭 메뉴에서 보이는 Specification 클릭하여 보이는 상세 정보 창에서 수수료 확인가능하다. Instant by deal value, in deals 의미 : 거래 금액기준으로 수수료 책정되며, 포지션 오픈시에만 커미션 부과.0.05% in UST : UST(달러랑 동일) 단위의 거래 금액의 0.05% 수수료 적용됨. 상기 in deals 이므로 포지션 오픈시점에만 0.05% 수수료 적용된다. - 비트코인 포함 모든 암호..
- MT5 . 주문 체결 에러 . No Prices . TRADE_RETCODE_PRICE_OFF (=10021) No Prices 오류 발생 상황. 보유 포지션 청산하려고 시장가 주문 하였는데 MT5 Journal 리스트를 보면 No prices 사유로 청산되지 못하는 경우 있다. 주문을 체결해줄 호가가 없다는 의미. 청산 주문뿐만 아니라 포지션 오픈 하려는 경우에도 간혹 발생함. 위와 같은 No Prices 상황을 mql5 코드에서 검출하려면 OnTradeTransaction 에서 아래처럼 코드 작성.void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result){ if (result.retcode != TRADE_RETCODE_DONE) { ..
- bybit MT5 통신 속도 확인 . AWS 일본 , 싱가포르 bybit MT5 서버와의 ping 속도 일본 , 싱가포르 AWS 서버에서 확인 . 결론 : AWS 일본 토쿄 zone A 가 훨씬 빠르다. bybit MT5 서버와 핑 5msec 이내의 고속 통신 가능함.반면 싱가포르 서버는 핑 70msec 정도로 매우 느린편. AWS Tokyo Zone A AWS Singapore Zone A 연관 바이비트 . 메타트레이더 5 설치 . FX , 나스닥 , 골드, 오일도 거래가능.개요 - 암호화폐 거래소중 유일하게 메타트레이더 4 지원했던 바이비트에서 메타트레이더 5 서비스로 업그레이드 하였다. 대환영 !!! - 바이비트 메타트레이더 4에서는 암호화폐만 거래 가능igotit.tistory.com bybit API 서버..
- bybit API 서버 통신 속도 확인 . AWS 일본, 싱가포르 AWS Tokyo Zone A - bybit api 서버 주소 2개 api.bybit.com, stream.bybit.com 의 ping 확인 결과 . - 충분히 빠른 속도 .- 반복 측정 과정 중 가장 느린 경우 3msec . AWS Singapore Zone A- 충분히 빠름. - 반복 측정 과정중 가장 느린 경우 6msec. 참고. 한국 일반 가정집 PC 환경에서 통신속도 - 심하게 느리진 않다. 연관 bybit api v5 . 활용방법 정리bybit api v5 . 활용방법 정리 - 암호화폐 거래소 바이비트에서 제공하는 API 의 최신(2024.08.25 ) 버전인 v5 활용법 모음. - bybit API v5 활용하여 코딩 가능한 언어는 C++, C#, ..
- 삼각 차익 거래 . 가능 종목들 . 암호화폐 , FX 모두 가능. 3각 차익 거래 가능 종목 개별 통화 3개를 A,B,C 라고 하였을 때, 2개 통화 교환비율 A/B, B/C, A/C 인 3개 종목은 3각 차익 거래 가능 종목이다. 교환비율 A/B 인 거래종목을 X, B/C = Y, A/C = Z 라고 하자. 이들 3개 종목 X,Y,Z 의 가격은 항상 X * Y = Z 인 관계를 만족하게 된다. 만일, X * Y > Z , X * Y X * Y > Z 인 경우 X,Y 매도, Z 매수 , 이후 수익 전환시 청산 X * Y 3각 차익 가능 종목 . 암호화폐 - 아래표에서 X, Y, Z 종목들이 삼각 차익 가능 종목. 통화 A 통화 B통화 CX ( = A/B)Y ( = B/C)Z ( = A/C)ETHBTCUSDTETHBTCBTCUSDTETHUSD..
- std::shared_mutex . 멀티 스레드 읽기 쓰기 락 std::shared_mutex . 읽기 쓰기 락 - C++ 17 부터 제공됨 #include class MyClass {private: std::shared_mutex rw_mutex; // 읽기-쓰기 락 객체 MyStruct data; // 보호할 구조체 변수public: void UpdateData(const MyStruct& newData) { std::unique_lock lock(rw_mutex); // 쓰기 잠금 data = newData; } MyStruct ReadData() { std::shared_lock lock(rw_mutex); // 읽기 잠금 return data; }}..
- 암호화폐 실시간 틱 데이터 수신 코딩 방법 . 파이썬 개요 암호화폐 거래소 바이비트 API 통신 위한 공식 파이썬 패키지 pybit 이용하여 파이썬에서 실시간 틱 데이터 수신 위한 가장 쉬운 기본적인 형태에서 출발하여 점진적으로 더 유용한 형식으로 코드 발전시키는 과정 단계별로 모두 정리. 본 글에서의 바이비트 API 버전 : 현재(2024. 08.21) 시점 최신 버전 API V5 . 사전 필수 셋팅 - 파이썬 개발환경 구축 되어있어야 함. 구축예 : https://igotit.tistory.com/5761- 파이썬에 pybit 설치되어있어야 함. 설치구문 : pip install pybit 사전 필수 개념 이해 - 본 글에서 pybit 이용하여 실시간 틱 데이터 수신하는 것은 bybit 거래소 API v5 의 웹소켓 Trade 를..
- MQL5. 외부 프로그램으로 실시간 데이터 송신 . SendMessage, PostMessage, WM_COPYDATA 개요 - 메타트레이더5 . EA 에서 외부 프로그램(=프로세스) 으로 실시간 데이터 송신 가능. - 아래 이미지는 메타트레이더 (바이빗 MT5 )의 종목 챠트에 ea 배치하고 OnTick 시점에 ask, bid 등의 틱 정보를 외부 프로그램으로 실시간 송신 중. - 아래 코드예는 64비트용으로 제작되었기 때문에 64비트인 메타트레이더5 에서만 정상 동작하며, 32비트인 MT4 에서는 정상 동작 안된다. 또한, 통신 상대방도 64비트 프로그램이어야 정상 통신 가능하다. SendMessage, PostMessage , FindWindow HTML 삽입미리보기할 수 없는 소스 생성자: CCy_WindowMessage(string name_wnd_tgt, int msg = WM_USER + ..
- 암호화폐 과거 캔들 데이터 DB 에 저장하기 . 파이썬 코드 개요 바이비트 거래 종목의 과거 캔들 데이터 확보하여 DB 에 저장하는 파이썬 코드 작성 상세. 사전필수 이전 파이썬에서 구현 완료했던 바이빗 거래소로 정보 요청하여 확보된 과거 캔들 데이터를 csv 파일로 저장하는 코드 (상세보기 : https://igotit.tistory.com/5766 )에서 파일 저장하는 기능 대신 DB 로 저장하는 부분 구현한다.이전 작성 글에서는 바이비트 거래소 api 에 접근하는 기초적인 부분부터 단계적으로 구현 진행하는 스텝 바이 스텝 방식으로 설명되었기에 본 글에서 이 부분 설명 생략하고 바로 완전하게 작동하는 결론적인 코드 정리해둔다. 본 예에서 사용되는 SQLite DB 스키마는 https://igotit.tistory.com/5809 에서 정의된 것과..
- SQLite . 과거 캔들 저장 데이터 베이스 만들기 개요 - 캔들 과거 데이터를 저장하기 위한 Data Base 테이블 설계 - 사용되는 Data Base : SQLite 무료이면서도 안정성 증명됨. - 저장대상 캔들 종목 예 : 암호화폐 거래소 바이비트의 리니어 선물 BTCUSDT, 인버스 선물 BTCUSD, 현물 BTCUSDT- 본 내용에서 다루 DB 설계 방식은 예 에서의 종목 외에도 모든 종목들에 적용 가능. 사전 준비 - SQLite 매니징 도구인 DB Browser for SQLite 설치되어 있어야 함. - - 설치방법 상세 : https://igotit.tistory.com/5806 DB 구현 규칙 - DB 파일명 규칙, 테이블 이름 규칙, 테이블의 필드명과 자료형 규칙이 명확해야 이후 혼선없는 활용 가능하다. DB 파일 ..
- SQLite . 자료형 . INTEGER, REAL, TEXT, BLOB SQLite . 자료형 . INTEGER, REAL, TEXT, BLOB 자료형 용량 INTEGER저장할 값에 따라 1, 2, 3, 4, 6, 8 바이트로 저장int8_t, int64_t , long 등 모든 정수형 저장시 활용 REAL항상 8 바이트로 저장되며, IEEE 754 64-bit 부동소수점 수를 사용float, double, long double 모든 부동 소수점 저장시 활용 가능하나. 금융권에서 중요한 숫자 저장시 TEXT 로 하는 경우 많음. TEXT저장되는 문자열의 길이에 따라 크기가 달라지며, 최대 1GB까지 지원C/C++의 char*, std::string, std::wstring 등 모든 문자열 저장시 활용 BLOB저장되는 바이너리 데이터의 크기에 따라 변동 크기로 저장됩니다...
- SQLite . DB Browser for SQLite . 포터블 활용 DB Browser for SQLite (DB4S) . 포터블 SQLite 매니징 툴인 DB4S 윈도우 설치 버전외에 포터블 버전도 지원해준다. 다운로드 받은 압축파일 외장 스토리지에 폴더 만들고 압축해제하여 "DB Browser for SQLite.exe" 실행. PC 종속성 없이 USB 저장장치에 넣어두고 아무 PC 에서나 연결하여 SQlite 매니징 가능하므로 매우 유용. DB4S 포터블 다운로드 다운로드 주소 : https://sqlitebrowser.org/dl/ 위 주소 방문해보면 아래처럼 다운로드 가능한 리스트가 보이는데, 체크한 압축파일이 우리가 필요한것. Windows PortableApp 도 보이는데 , PortableApps.com을 통해 관리할 때 사용되는 툴이..
- ONNX . Visual C++ 에서 ONNX 개발 환경 구축 개요 C++ 에서 ONNX 사용 가능하게 해주는 라이브러리인 ONNX Runtime 다운로드 하고 VC++ 2022 에서 ONNX 활용 개발 환경 셋팅. VC++ 에서 개발환경 셋팅이라 함은 프로젝트 설정 옵션에서 Include Directories , Library Directories, Linker Input 부분에 경로 추가 설정하는 게 전부이다. NNX Runtime 은 dll 형식이므로 통상적인 dll 활용 위한 VC++ 에서 해줘야하는 설정 이며 간단하게 달성됨. ONNX Runtime 파일 다운로드 다운로드 방법 ONNX Runtime GitHub 릴리스 페이지에서 C++용 ONNX Runtime 라이브러리를 다운로드( 윈도우의 경우, onnxruntime-win-x64-..
- 메타트레이더 5 . ONNX 모델 직접 지원 . 메타트레이더 5 . ONNX 모델 직접 지원 . ONNX 처리 가능한 함수 전체 MQL5 provides the following functions for working with ONNX:FunctionActionOnnxCreateCreate an ONNX session, loading a model from an *.onnx fileOnnxCreateFromBufferCreate an ONNX session, loading a model from a data arrayOnnxReleaseClose an ONNX sessionOnnxRunRun an ONNX modelOnnxGetInputCountGet the number of inputs in an ONNX modelOnnxGetOutputCoun..
- ONNX . Open Neural Network Exchange . 딥러닝 모델 변환 표준 포맷 ONNX . Open Neural Network Exchange- 딥러닝 모델 변환 표준 포맷 ONNX 개요목적: ONNX는 다양한 딥러닝 프레임워크 간에 모델을 쉽게 변환하고 사용할 수 있도록 하는 표준화된 모델 포맷.지원 프레임워크: PyTorch, TensorFlow, Keras, MXNet 등 여러 주요 딥러닝 프레임워크에서 모델을 ONNX 형식으로 변환할 수 있음.런타임: ONNX Runtime을 통해 다양한 하드웨어에서 최적화된 추론을 지원함.특징: 모델의 이식성, 경량화, 하드웨어 최적화, 다양한 플랫폼에서의 실행 등을 지원.ONNX는 딥러닝 모델의 호환성과 이식성을 높이기 위해 개발된 포맷으로, 다양한 프레임워크와 플랫폼에서 모델을 쉽게 변환하고 실행할 수 있게 해준다. ONNX 공..
- PyTorch . Visual C++ 에서 LibTorch 개발 환경 설정 개요 PyTorch 의 기능들을 C++ 에서 사용 가능하게 해주는 라이브러리인 LibTorch 다운로드 하고 VC++ 2022 에서 LibTorch 개발 환경 셋팅. VC++ 에서 개발환경 셋팅이라 함은 프로젝트 설정 옵션에서 Include Directories , Library Directories, Linker Input 부분에 경로 추가 설정하는 게 전부이다. LibTorch 가 dll 형식이므로 통상적인 dll 활용 위한 VC++ 에서 해줘야하는 설정 이며 간단하게 달성됨. LibTorch 라이브러리 다운로드 다운로드 방법 https://pytorch.org/ 상기 페이지에서 보이는 INSTALL PYTORCH 에서 옵선 선택하여 보이는 Release 버전, Debug 버전 압축..
- MQL5 . 메타 시간을 UTC 로 변환하기 . 일광절약 시간제 (DST) 고려 개요 - 메타트레이더 에서의 시각은 UTC 로 통일되어 있지 않고 브로커 마다 다르며 , 통상 UTC + 2, UTC +3 으로 되어있다. 브로커의 서버 위치의 로컬 시라고 설명하고 있으나 꼭 그렇지도 않다. 암튼 난 이 시간을 메타시간이라고 표현한다. - 메타 트레이더 코딩 하는 경우에도 모든 시간들은 메타 시간으로 반환되기 때문에 UTC 가 아니어서 더 헷갈리게 만들고 있으며, 시간 관련 주요 정보 활용하는 코드 작성시 일관성 훼손하는 주범이다. - - 예로 캔들 데이터 구조체인 MqlRate 의 멤버로 time 이 있는데 이 시간 역시 메타시간 이다. 그 외 mql5 의 모든 시간이 메타시간 임. - utc 로 변환하는 함수들은 직접 구현해야 하는데, 단순이 UTC+2 처럼 항..
- MQL5 . 기본 자료형 바이트 크기 및 표준 자료형 대응표 메타트레이더 5 의 언어 MQL5 에서는 표준 정수형(uint32_t , int64_t ,..) 지원되지 않고 int, long, ulong, .. 형식만 지원된다. 아래 표에 MQL5 의 기보 자료형의 바이트 사이즈 정리하였고, 해당 자료형에 대응하는 stdint 의 자료형 정리. MQL5 자료형 바이트 크기sdtint.h 대응 자료형. char1int8_tuchar1uint8_tshort2int16_tushort2uint16_tint4int32_tuint4uint32_tlong8int64_tulong8uint64_tfloat4N/A (C 표준 실수형 float)double8N/A (C 표준 실수형 double)color4N/A (특정형 없음)bool1bool (C 표준 bool)datetime..
- 하 ..미친 또라이 마이크로소프트. 윈도우 업뎃하고 내 PC 재부팅 좀 그만 하라고 !!!! 빌게이츠 이 양반이 나이 쳐먹고 노망이 왔나 .. 사회주의자 되더만 별 미친 또라이 짓거리 그만 좀 하지? 2023년 5월 5일 기록. 하.... 마이크로 소프트 이 시키들 도대체 왜 니들 마음대로 내 PC 윈도우 업뎃시키고 니들 마음대로 내 PC 재부팅 시키냐고 !!!!! 제발 그만 좀 해라. !!!!! 윈도우 업뎃 금지하고 재부팅 방지하기 위하여 가장 확실하다고 믿었던 레지스트리 설정해도 오늘 내 PC 업뎃 시키고 재부팅 시켜놓았다. 레지스트리 에서 업뎃 방지 설정하기 상세 : https://igotit.tistory.com/1103 윈도우 10. 자동업데이트 자동재부팅 방지 설정하기.개요. 윈도우10 의 기본설정은 자동업데이트 하고 재부팅도 지 마음대로 하고 있다. 이런 자동 재부팅은 윈도우10 에서 장시간 연속 구동 응용프로그램 실행시켜둔 경우 치명적인 결과를 준다.igotit.tistory...