거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Telegram에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
라이브러리

MQL5에서 소켓 작업하기 - MetaTrader 5용 라이브러리

조회수:
36
평가:
(52)
게시됨:
socket.zip (506.46 KB)
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

이 문서에서는 메타트레이더 5에서 델파이 7로 작성된 서버 애플리케이션으로 호가를 전송하는 예시를 설명합니다.

통신에는 TCP 프로토콜이 사용되므로 로컬뿐만 아니라 원격으로 데이터를 전송할 수 있습니다(예: 로컬 네트워크에 연결된 PC).

소켓 작업에는Winsock2 라이브러리(wsock32.dll)가 사용됩니다. 그러나 이 라이브러리의 함수에는 포인터로 작업하고 복잡한 데이터 유형을 MQL5에서 호출된 DLL 함수에 매개변수로 전달하는 메커니즘이 없기 때문에 직접 작업하는 것은 불가능합니다.

C++로 작성된 socket_mql5.dll 라이브러리는 Expert Advisor와 소켓 라이브러리 사이의 중간 링크 역할을 합니다.

그림 1은 메타트레이더 5와 서버 애플리케이션 간의 상호 작용 체계를 보여줍니다.

메타트레이더 5와 서버 애플리케이션의 상호 작용 모식도

그림 1: 메타트레이더 5와 서버 애플리케이션의 상호 작용 구성도

socket_mql5.dll 라이브러리는 단방향 데이터 전송을 위한 최소한의 함수 세트인 SocketOpen, SocketWriteData, SocketWriteString, SocketClose를 구현합니다. 따옴표는 데이터와 문자열의 두 가지 형식으로 전송할 수 있습니다. 형식 선택은 전문가 어드바이저의 입력 변수 "전송된 데이터 유형"에서 구현됩니다.

서버 애플리케이션에 연결하여 각 틱에 대한 데이터를 전송하는 클라이언트를 구현하는 Expert Advisor의 결과는 그림 2에 나와 있습니다.

메타트레이더 5에서 서버 애플리케이션으로 데이터 전송

그림 2: 메타트레이더 5에서 서버 애플리케이션으로 데이터 전송

아카이브에는 다음이 포함됩니다:

  • Expert Advisor;
  • 라이브러리 socket_mql5.dll(VisualStudio 2008로 작성된 소스 코드);
  • TCP 서버 및 TCP 클라이언트(델파이 7로 작성된 소스 코드).

MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/169

Time To Close v1.01 - MT5 Time To Close v1.01 - MT5

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

DailyHighLow Indicator for MQL5 DailyHighLow Indicator for MQL5

데일리하이로우 인디케이터는 지정된 기간을 기준으로 차트에 고가 및 저가 수준을 표시하도록 설계된 메타트레이더 5(MQL5)용 다용도 도구입니다. 이 지표는 사용자 지정 가능한 기간과 가격 계산 방법을 통해 유연성을 제공하므로 의사 결정을 위해 주요 가격 수준에 의존하는 트레이더에게 특히 유용합니다.

AlfO AlfO

가변 지수 동적 평균의 OsMA와 유사한 오실레이터입니다.

키워드 MQL5 키워드 MQL5

MQL5 언어 키워드