당사 팬 페이지에 가입하십시오
- 조회수:
- 16
- 평가:
- 게시됨:
- 2025.06.17 12:05
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
이 문서에서는 메타트레이더 5에서 델파이 7로 작성된 서버 애플리케이션으로 호가를 전송하는 예시를 설명합니다.
통신에는 TCP 프로토콜이 사용되므로 로컬뿐만 아니라 원격으로 데이터를 전송할 수 있습니다(예: 로컬 네트워크에 연결된 PC).
소켓 작업에는Winsock2 라이브러리(wsock32.dll)가 사용됩니다. 그러나 이 라이브러리의 함수에는 포인터로 작업하고 복잡한 데이터 유형을 MQL5에서 호출된 DLL 함수에 매개변수로 전달하는 메커니즘이 없기 때문에 직접 작업하는 것은 불가능합니다.
C++로 작성된 socket_mql5.dll 라이브러리는 Expert Advisor와 소켓 라이브러리 사이의 중간 링크 역할을 합니다.
그림 1은 메타트레이더 5와 서버 애플리케이션 간의 상호 작용 체계를 보여줍니다.
그림 1: 메타트레이더 5와 서버 애플리케이션의 상호 작용 구성도
socket_mql5.dll 라이브러리는 단방향 데이터 전송을 위한 최소한의 함수 세트인 SocketOpen, SocketWriteData, SocketWriteString, SocketClose를 구현합니다. 따옴표는 데이터와 문자열의 두 가지 형식으로 전송할 수 있습니다. 형식 선택은 전문가 어드바이저의 입력 변수 "전송된 데이터 유형"에서 구현됩니다.
서버 애플리케이션에 연결하여 각 틱에 대한 데이터를 전송하는 클라이언트를 구현하는 Expert Advisor의 결과는 그림 2에 나와 있습니다.
그림 2: 메타트레이더 5에서 서버 애플리케이션으로 데이터 전송
아카이브에는 다음이 포함됩니다:
- Expert Advisor;
- 라이브러리 socket_mql5.dll(VisualStudio 2008로 작성된 소스 코드);
- TCP 서버 및 TCP 클라이언트(델파이 7로 작성된 소스 코드).
MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/169

This is a Moving Average indicator based on Heiken-Ashi candles instead of raw market price.

촛불을 닫을 시간입니다. 동적 텍스트 색상. 백 테스트에 최적화되었습니다.