본문 바로가기

분류 전체보기   ( 2698 )


MQL5. 외부 프로그램으로 실시간 데이터 송신 . SendMessage, PostMessage, WM_COPYDATA 개요 - 메타트레이더5 . EA 에서 외부 프로그램(=프로세스) 으로 실시간 데이터 송신 가능. - 아래 이미지는 메타트레이더 (바이빗 MT5 )의 종목 챠트에 ea 배치하고 OnTick 시점에 ask, bid 등의 틱 정보를 외부 프로그램으로 실시간 송신 중. - 아래 코드예는 64비트용으로 제작되었기 때문에 64비트인 메타트레이더5 에서만 정상 동작하며, 32비트인 MT4 에서는 정상 동작 안된다. 또한, 통신 상대방도 64비트 프로그램이어야 정상 통신 가능하다. SendMessage, PostMessage , FindWindow 생성자: CCy_WindowMessage(string name_wnd_tgt, int msg = WM_USER + 1) - 대상 윈도우 이름과 메시지 .. 2024. 9. 6.
암호화폐 과거 캔들 데이터 DB 에 저장하기 . 파이썬 코드 개요  바이비트 거래 종목의 과거 캔들 데이터 확보하여 DB 에 저장하는 파이썬 코드 작성 상세.   사전필수  이전 파이썬에서 구현 완료했던 바이빗 거래소로 정보 요청하여 확보된 과거 캔들 데이터를 csv 파일로 저장하는 코드 (상세보기 : https://igotit.tistory.com/5766  )에서 파일 저장하는 기능 대신 DB 로 저장하는 부분 구현한다.이전 작성 글에서는 바이비트 거래소 api 에 접근하는 기초적인 부분부터 단계적으로 구현 진행하는 스텝 바이 스텝 방식으로 설명되었기에 본 글에서 이 부분 설명 생략하고 바로 완전하게 작동하는 결론적인 코드 정리해둔다.   본 예에서 사용되는 SQLite DB 스키마는 https://igotit.tistory.com/5809  에서 정의된 것과.. 2024. 9. 1.
SQLite . 과거 캔들 저장 데이터 베이스 만들기 개요 - 캔들 과거 데이터를 저장하기 위한 Data Base 테이블 설계 - 사용되는 Data Base : SQLite 무료이면서도 안정성 증명됨. - 저장대상 캔들 종목 예 :  암호화폐 거래소 바이비트의 리니어 선물 BTCUSDT, 인버스 선물 BTCUSD, 현물 BTCUSDT- 본 내용에서 다루 DB 설계 방식은 예 에서의 종목 외에도 모든 종목들에 적용 가능.   사전 준비 - SQLite 매니징 도구인 DB Browser for SQLite  설치되어 있어야 함.  - - 설치방법 상세 : https://igotit.tistory.com/5806   DB 구현 규칙  - DB 파일명 규칙, 테이블 이름 규칙, 테이블의 필드명과 자료형 규칙이 명확해야 이후 혼선없는 활용 가능하다.   DB 파일 .. 2024. 9. 1.
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저장되는 바이너리 데이터의 크기에 따라 변동 크기로 저장됩니다... 2024. 9. 1.
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을 통해 관리할 때 사용되는 툴이.. 2024. 9. 1.
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-.. 2024. 8. 29.
메타트레이더 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.. 2024. 8. 29.
ONNX . Open Neural Network Exchange . 딥러닝 모델 변환 표준 포맷 ONNX . Open Neural Network Exchange- 딥러닝 모델 변환 표준 포맷    ONNX 개요목적: ONNX는 다양한 딥러닝 프레임워크 간에 모델을 쉽게 변환하고 사용할 수 있도록 하는 표준화된 모델 포맷.지원 프레임워크: PyTorch, TensorFlow, Keras, MXNet 등 여러 주요 딥러닝 프레임워크에서 모델을 ONNX 형식으로 변환할 수 있음.런타임: ONNX Runtime을 통해 다양한 하드웨어에서 최적화된 추론을 지원함.특징: 모델의 이식성, 경량화, 하드웨어 최적화, 다양한 플랫폼에서의 실행 등을 지원.ONNX는 딥러닝 모델의 호환성과 이식성을 높이기 위해 개발된 포맷으로, 다양한 프레임워크와 플랫폼에서 모델을 쉽게 변환하고 실행할 수 있게 해준다.  ONNX 공.. 2024. 8. 29.
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 버전 압축.. 2024. 8. 29.
MQL5 . 메타 시간을 UTC 로 변환하기 . 일광절약 시간제 (DST) 고려 개요 - 메타트레이더 에서의 시각은 UTC 로 통일되어 있지 않고 브로커 마다 다르며 , 통상 UTC + 2, UTC +3 으로 되어있다. 브로커의 서버 위치의 로컬 시라고 설명하고 있으나 꼭 그렇지도 않다. 암튼 난 이 시간을 메타시간이라고 표현한다. - 메타 트레이더 코딩 하는 경우에도 모든 시간들은 메타 시간으로 반환되기 때문에 UTC 가 아니어서 더 헷갈리게 만들고 있으며, 시간 관련 주요 정보 활용하는 코드 작성시 일관성 훼손하는 주범이다. - - 예로 캔들 데이터 구조체인 MqlRate 의 멤버로 time 이 있는데 이 시간 역시 메타시간 이다. 그 외 mql5 의 모든 시간이 메타시간 임. - utc 로 변환하는 함수들은 직접 구현해야 하는데, 단순이 UTC+2 처럼 항.. 2024. 8. 28.
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.. 2024. 8. 28.
하 ..미친 또라이 마이크로소프트. 윈도우 업뎃하고 내 PC 재부팅 좀 그만 하라고 !!!! 빌게이츠 이 양반이 나이 쳐먹고 노망이 왔나 .. 사회주의자 되더만 별 미친 또라이 짓거리 그만 좀 하지? 2023년 5월 5일 기록.   하.... 마이크로 소프트 이 시키들 도대체 왜 니들 마음대로 내 PC 윈도우 업뎃시키고 니들 마음대로 내 PC 재부팅 시키냐고 !!!!! 제발 그만 좀 해라. !!!!! 윈도우 업뎃 금지하고 재부팅 방지하기 위하여 가장 확실하다고 믿었던 레지스트리 설정해도 오늘 내 PC  업뎃 시키고 재부팅 시켜놓았다.  레지스트리 에서 업뎃 방지 설정하기 상세 : https://igotit.tistory.com/1103  윈도우 10. 자동업데이트 자동재부팅 방지 설정하기.개요. 윈도우10 의 기본설정은 자동업데이트 하고 재부팅도 지 마음대로 하고 있다. 이런 자동 재부팅은 윈도우10 에서 장시간 연속 구동 응용프로그램 실행시켜둔 경우 치명적인 결과를 준다.igotit.tistory... 2024. 8. 28.
바이비트 MT5 . 현재 시점 부실 사항 정리 개요 바이비트 거래소 의  메타트레이더 5 (이하 MT5)가 서비스 론칭 한지 오래되지 않아서인지(현재 2024.08.27) 부실한 부분들이 있다.  매매 기능 자체는 문제없으나 좀 더 세밀한 정보 류에 있어서는 아직 완성도 높지 않은 부분들이 있다. 부실함이 있다해도 일관성 있으면 차라리 좋은데 일관성 없게 부실함.  론칭 초기라 이해는 되나 , 이후 개선되길 기대하면서 메모 남겨두고 이후 추적 대상.   참고 : 바이비트 MT5 설치 상세 : https://igotit.tistory.com/5765  부실1. 지수 종목 거래 안됨 . - 암호화폐, FX, 골드, 오일 등은 MT5에서 거래 가능하나 나스닥, S&P 등은 가격 등은 볼 수 있으나 거래 비활성화되어 있음.   부실 1 해결됨. 2024년 .. 2024. 8. 27.
bybit . API V5 . 웹소켓 Kline . 실시간 캔들 수신 웹소켓으로 실시간 캔들 수신   웹소켓 구독 해지 공통사항 : https://igotit.tistory.com/4946 웹소켓 Kline 요청하기.  subscribe Topic kline.{interval}.{symbol} e.g., kline.30.BTCUSDT interval 설정 가능값 : 1 3 5 15 30 60 120 240 360 720 D W M  subscribe 구문 예 파이썬 pybit 패키지 이용한 요청예 . 리니어 BTCUSDT 의 5분 봉 실시간 캔들 정보 요청한것. from pybit.unified_trading import WebSocketfrom time import sleepws = WebSocket( testnet=True, channel_type="line.. 2024. 8. 25.
plotly . 다이아그램 그리기 원 여러개 그리고 라인으로 연결 예   실행 결과 - 웹브라우저 실행되면서 아래처럼 표현됨.    첫 등록 : 2024.08.24최종 수정 : 단축 주소 : https://igotit.tistory.com/5774 2024. 8. 24.
plotly . 웹으로 챠트 표현 코드 1. csv 파일 읽어서 캔들 챠트 그리기 csv  파일 형식 . 아래와 같은 형식으로 데이터 수집하는 방법 : https://igotit.tistory.com/5766  의 코드 4.   위 형식의csv  파일을 읽어서 캔들 챠트 표현하는 코드.  코드 설명:CSV 파일 읽기:csv_file에 파일명을 지정하고, pd.read_csv(csv_file)로 CSV 파일을 읽어 df 데이터프레임에 저장.타임스탬프 변환:df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')로 밀리초 단위 타임스탬프를 datetime 형식으로 변환.캔들 차트 생성:go.Figure와 go.Candlestick로 캔들 차트를 생성.x축에 timestamp, open, h.. 2024. 8. 23.
암호화폐 캔들 데이터 확보 코드 . 파이썬 pybit 바이비트 암호화폐 캔들 데이터 처리 코드 . 파이썬 pybit 이용.   개요 암호화폐 거래소 바이비트 API 통신 위한 공식 파이썬 패키지 pybit 이용하여 파이썬에서  캔들 데이터 확보하기 위한 가장 기본적인 형태(사람이 사용하기 불편한 형태)에서 출발하여 점진적으로 더 유용한 형식으로 코드 발전시키는 과정, csv 파일로 저장 , 코드 정리 방법등  단계별로 모두 정리.  본 글에서의 바이비트 API 버전 : 현재(2024. 08.21) 시점  최신 버전 API V5 .    사전 필수 셋팅 - 파이썬 개발환경 구축 되어있어야 함. 구축예 :  https://igotit.tistory.com/5761- 파이썬에 pybit 설치되어있어야 함.  설치구문 :  pip install pybit  사전 .. 2024. 8. 22.
Python . Pandas DataFrame 클래스 Pandas 의 DataFrame  정의:표 형태로 크기 가변 가능한 행과 열로 구성된 데이터 구조 구성 요소:Index:각 행을 식별하는 레이블기본적으로 0부터 시작하는 정수 인덱스 사용Columns:데이터의 속성을 나타내는 레이블각 열은 고유한 이름을 가짐Data:각 셀에 저장된 데이터 DataFrame 데이터 구조는 테이블.      DataFrame 클래스 class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None) data : ndarray (structured or homogeneous), Iterable, dict, or DataFrameDict can contain Series, arrays, const.. 2024. 8. 22.


비트코인




            암호화폐/외환/나스닥/골드          
       
현물 |선물 인버스 |선물 USDT , bybit MT5               프랍 트레이딩. MT4,MT5