거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Telegram에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
당사 팬 페이지에 가입하십시오
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
- 조회수:
- 38
- 평가:
- 게시됨:
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
Visual C++ 2010 프로젝트에는 CMemMapApi와 CMemMapFile이라는 두 개의 클래스가 있습니다.
이 클래스는 일반적인 파일 작업 스타일로 가상 메모리(메모리 매핑) 작업을 수행하는 동일한 기능을 수행합니다.
- 메모리에 파일을 만듭니다;
- 데이터를 쓰고 읽습니다;
- 애플리케이션 간 데이터 교환 기능. 메타트레이더 4와 메타트레이더 5 사이를 포함합니다.
주요 응용 프로그램은 물론 정보 교환입니다:
- 동일한 컴퓨터의 단말기 간 거래 복사에서
- 차익거래 전문가를 만들기 위한 시세 교환 등.
하지만 전문가 어드바이저의 데이터를 임시 저장하는 용도로도 사용할 수 있습니다.
CMemMapFile과 CMemMapApi 클래스의 차이점은 CMemMapApi는 WinApi 함수의 래퍼에 불과하다는 것입니다.
파일 이름, 핸들, 현재 읽기/쓰기 위치를 저장하고 파일 크기 자체에 대해 필요한 모든 검사를 수행한다는 점이 CMemMapFile의 편리함입니다.하지만 CMemMapApi 객체는 한 번에 여러 메모리 파일을 처리할 수 있는 반면, CMemMapFile 객체는 단일 파일만 처리합니다.
현재 DLL 프로젝트에서는 여러 메모리 파일에 대한 작업을 구성하기 위해 내보낸 모든 함수를 CMemMapApi에서 그대로 가져옵니다.
CMemMapFile 클래스는 다른 C++ 프로젝트에서 메모리 작업을 위해 만들어졌습니다.
DLL에서 익스포트된 함수:
int MemOpen(string path,int size,int mode,int &err[]); // 메모리에서 파일을 열/생성하고 핸들을 반환합니다. void MemClose(int hmem); // 메모리에서 파일을 닫습니다. int MemGrows(int hmem,string path,int newsize,int &err[]); // 메모리에서 파일 크기를 늘립니다. int MemGetSize(int hmem, int &err[]); // 메모리에 있는 파일의 크기를 반환합니다. int MemSetSize(int hmem, int size, int &err[]); // 메모리에서 파일 크기를 설정합니다. int MemWrite(int hmem,int &v[], int pos, int size, int &err[]); // 지정된 위치 pos, 크기 크기에서 벡터 v를 메모리에 쓰기 int MemRead(int hmem, int &v[], int pos, int size, int &err[]); // 지정된 위치 pos에서 벡터 v를 크기 크기와 함께 읽습니다. int MemWriteStr(int hmem, string buf, int pos, int size, int &err[]); // 지정된 바이트 수만큼 지정된 위치에서 메모리에 데이터를 씁니다. int MemReadStr(int hmem, string buf, int pos, int &size, int &err[]); // 지정된 위치에서 지정된 바이트 수만큼 메모리에서 데이터를 읽습니다.
메타트레이더 5에서 DLL 사용 예시 - 호가 모니터링(매핑용 예시)
MemWriteStr 함수 작동 수정
MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/816
견적 모니터링(예: 매핑용)
DLL을 사용하여 파일 매핑 기능으로 작업하는 예제입니다. 이 예에서는 실행된 Expert Advisor가 메모리에 가상 파일을 생성하고 그 안에 있는 심볼 따옴표를 업데이트하기 시작합니다. 다른 터미널에서 EA를 시작할 때 이러한 EA는 생성된 파일을 열고 마찬가지로 그 안에 있는 견적을 업데이트하기 시작합니다. 따라서 전문가 어드바이저는 하나의 공통 파일을 통해 시세를 교환합니다.
스톱아웃 가격
이 스크립트는 스톱 아웃(포지션 강제 청산)이 발생할 수 있는 가격과 프리마진 값이 마이너스가 되는 가격을 계산합니다.
Simple_Session_가격_변경
현재 심볼에 거래 세션 시작 이후 가격 변동을 %로 표시하는 가장 간단한 지표입니다.
iForexSessions
외환 시장 세션 하이라이트(시드니, 도쿄, 런던, 뉴욕).