개요
- 메타트레이더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) - 대상 윈도우 이름과 메시지 ID를 초기화.
FindWindow(): 대상 윈도우 핸들을 찾고, 실패 시 오류 메시지 출력.
SendMessage(long wparam, long lparam): SendMessageW 함수를 사용해 메시지 전송.
PostMessage(long wparam, long lparam): PostMessageW 함수를 사용해 비동기로 메시지 전송.
사용 방법
- 인스턴스 생성: CCy_WindowMessage msg("윈도우 이름", WM_USER + 1);
- 메시지 전송: msg.SendMessage(wParam, lParam);
- 비동기 메시지 전송: msg.PostMessage(wParam, lParam);
SendMessage with WM_COPYDATA
- 앞의 클래스 CCy_WindowMessage 의 SendMessage 호출하면서 WM_COPYDATA 송신.
상위정리
첫 등록 : 2024.09.06
최종 수정 : 2024.09.09
단축 주소 : https://igotit.tistory.com/5820
'트레이딩 > 메타트레이더 코딩' 카테고리의 다른 글
MT5 . 주문 체결 에러 . No Prices . TRADE_RETCODE_PRICE_OFF (=10021) (3) | 2024.10.10 |
---|---|
bybit MT5 통신 속도 확인 . AWS 일본 , 싱가포르 (1) | 2024.10.09 |
메타트레이더 5 . ONNX 모델 직접 지원 . (0) | 2024.08.29 |
MQL5 . 메타 시간을 UTC 로 변환하기 . 일광절약 시간제 (DST) 고려 (0) | 2024.08.28 |
MQL5 . 기본 자료형 바이트 크기 및 표준 자료형 대응표 (0) | 2024.08.28 |
댓글