몇 분 안에 MT4 표시기를 MT5로 바꾸는 방법
게시 됨: 2021-02-03몇 분 안에 MT4 지표를 MT5로 바꾸는 방법: MT4에서 작동하도록 만들어진 전문 고문을 변환하여 MT5 플랫폼에서도 작동할 수 있도록 하시겠습니까?
여기에는 긴 방법이 없습니다!
MQL4 코드를 MQL5 언어 코드로 쉽게 변환하는 방법을 안내해 드립니다. 기뻐할거야! 혁신적인 MetaTrader 시리즈 성공의 공은 Metaquotes Inc에 있으며 이제 그들은 마침내 MT5를 미래를 위한 소프트웨어로 표시하기로 결정했습니다.
회사는 대부분의 노력을 MetaTrader 5 플랫폼(MT5)에 집중하는 것으로 보이며 의심할 여지 없이 MT4보다 나은 것입니다.
그렇다면 어떻게 이주할 것인가? 계속 읽으세요!
몇 분 안에 MT4에서 MT5로 전환하는 이유
이 계획된 마이그레이션으로 프로그래머와 트레이더가 직면하는 가장 큰 질문은 MT4와 MT5 가 동시에 실행될 수 없다는 사실을 고려할 때 MT5 플랫폼에서 MQL4 언어로 코딩된 전문가를 어떻게 효율적으로 실행할 수 있느냐는 것입니다.
이 질문에 대해 더 깊이 들어가면 다음과 같은 사실을 알게 됩니다.
- MT4와 MT5는 동일한 프로그래밍 언어를 사용하여 실행할 수 없습니다. 따라서 MT4에서 작업하도록 코딩된 전문가는 MT5에서 작동하지 않아 장면을 어렵게 만듭니다.
- MT4는 매우 지루하고 지루한 미래를 가지고 있으며 MT4의 향후 업데이트에 대한 발표 이후에 인용할 수 있습니다. 따라서 소프트웨어는 지금 충분한 주스를 가지고 있지 않습니다.
- Metaquotes는 MT5의 기능에 많은 변경을 가하여 MT4와 달리 더 많은 기능적 이점을 얻습니다.
MT4 지표를 MT5로 성공적으로 전환하는 방법: 핵심 프로세스
MT5에서 MT4 EA를 사용하는 것은 기술적으로 불가능해 보이며 MT5에서 완벽하게 작동하려면 기존 MQ4 EA의 소스 파일(일부 요소)을 수정해야 합니다.
MQL4의 언어 및 환경이 MQL4의 언어 및 환경 과 어떻게 다른지에 대해 잘 알고 있다면 모든 수정을 수행할 수 있습니다.
여기서는 Average.mq4 EA의 MT4 EA를 사용하여 MT4 EA를 MT5 형식으로 변환하는 방법을 보여줍니다. 그것을 선택한 이유는 첫째, 모든 MT4 설치에 사전 설치되어 제공되고 둘째, 대다수의 프로그래머가 이 EA에 익숙하기 때문입니다.
"Moving Average.mq4" 예제 사용 및 MT4 EA를 MT5 EA로 변환
- MetaEditor 4에서 열어야 하는 "MQL4\Experts\Moving Average.mq4"라는 소스 파일을 찾을 수 있습니다.
- Ctrl + A, Ctrl + C를 눌러 + 모든 텍스트 복사를 선택합니다.
- F4 키를 누르고 MT4 클라이언트 터미널이 열려 있는 MetaEditor를 엽니다.
- 원하는 브로커에서 MT5 데스크탑 터미널을 성공적으로 다운로드한 후 MT5 클라이언트의 인스턴스를 엽니다.
- 이제 MetaEditor 5를 열고 아래에서 시연한 것과 같은 새 EA(템플릿)를 만듭니다.
- "이름" 필드를 채우고 EA 템플릿에 적절한 이름을 지정합니다. 이 작업을 완료하면 곧 출시될 EA가 MT5를 기반으로 구축될 것입니다.
- 이제 Ctrl + A를 눌러 템플릿의 모든 텍스트를 선택하고 모두 삭제 한 후 MT4에서 복사 한 텍스트를 붙여 넣습니다.
MetaTrader 5는 다른 주문 시스템(예: 열기, 닫기, 선택, 보내기 등) 방법과 함께 제공됩니다. 그러나 MT4에서 MT5 EA로의 변환을 위해 전문가에 따르면 가장 쉬운 방법은 mq4.mqh라는 하나의 라이브러리를 사용하는 것입니다.
더 나아가…
프로그래머가 MQL4에서와 동일한 방식으로 MQL5에서 명령으로 작업할 수 있도록 하기 때문에 이 라이브러리를 제안합니다. 요컨대, 라이브러리는 OLS(주문 언어 시스템)가 MQL4와 유사하도록 허용합니다.
선택한 프로그래머로부터 온라인으로 mq4.mqh 라이브러리 파일을 얻을 수 있습니다 . 우리는 그러한 프로그래머로부터 우리의 것을 얻은 후에 약간의 기능을 추가했습니다. 우리는 모든 것을 하나의 파일로 결합했습니다. 이 라이브러리는 주문 시스템만 다루기 위한 것입니다.
- MT5 플랫폼의 인스턴스가 열려 있는지 확인
- MT5 플랫폼을 연 후 파일 -> 데이터 폴더 열기” …\MQL5\Include”를 탭합니다.
- 라이브러리 파일(mq4.mqh)을 이 폴더에 드롭합니다.
- 이제 MT5 플랫폼을 새로 고치는 것이 중요합니다. 닫았다가 다시 엽니다.
- 이제 MetaEditor5와 전문 고문의 소스 코드를 엽니다.
- SimpleEA.mq5의 소스 코드에서 #include <mq4.mqh> 문자열을 추가합니다.
- 소스 코드에 문자열을 추가한 후 "F7" 버튼을 눌러 SimpleEA.mq5의 소스 코드를 어셈블합니다. 또한 MetaEditor 5의 도구 모음에 언급된 "컴파일" 옵션이 있습니다.
- 조립을 완료하면 두 가지 오류가 발생합니다. MT4와 MT5 플랫폼의 차이점이 강조되는 부분입니다.
MetaEditor 4에서 iMA를 작성하기만 하면 됩니다. 여기서 "shift"는 가격 초의 숫자입니다. MetaEditor5의 모든 단일 EA 및 기능에 대해 핸들을 생성해야 해당 핸들에 의해 EA/지시자에서 값을 얻을 수 있습니다.
MT4 지표를 MT5로 바꾸는 방법 : 소스 코드 변경
이 부분에서는 MT5에서 완벽하게 작동하도록 MT4의 소스 코드를 편집하는 데 중점을 둘 것입니다. 이러한 소스 코드 변경 사항은 표시기에만 적용됩니다. 소스 코드의 한 줄만 여기서 변경하는 것이기 때문입니다.
이제 이러한 변경을 수행하는 단계를 설명하겠습니다. 할까요?
- MA 표시기 핸들에 대한 변수 정수 유형을 생성하여 프로세스를 시작합니다.
- INVALID_HANDLE이라는 값을 할당합니다. 아래 그림도 같은 내용을 설명합니다.
전문 고문 및 표시기는 런타임 초기화를 위한 OnInit() 섹션과 함께 제공됩니다. 형식은 다음과 같습니다.
도움말 파일을 사용하여 이를 읽을 수 있습니다. MetaEditor5의 도움말 파일에 액세스하려면 "F1" 키를 누르십시오. 또한 MQL5 커뮤니티에서 도움말 파일에서 찾을 수 있는 많은 정보를 제공하는 문서 하나를 찾을 수 있습니다. 이 문서에 액세스하려면 이 링크를 사용하십시오.
https://www.mql5.com/en/docs/basis/function/events
- 또한 이 코드(소스 코드)를 EA 텍스트에 추가합니다. 이 섹션이 없으면 MetaEditor 5에서 Alt + M을 누릅니다.
- 5개의 함수가 함수 목록에 표시되지만 OnInit() 함수는 기본적으로 여기에 표시되지 않습니다. 따라서 수동으로 설명해야 하며 아래 이미지에서 만드는 방법을 보여줍니다.
- 소스 코드와 쌍을 이루는 OnInit() 함수를 보려면 Alt + M을 누르십시오.
- 이제 OnInit() 섹션에 다음 코드를 작성합니다.
MT4 MetaEditor에서는 일반적으로 다음 코드를 작성해야 합니다.
반면에 코드는 MT5에 대한 표시기의 핸들로 설명되며, MT5에서 다음 코드를 작성하는 이유는 다음과 같습니다.
- 이제 이동 평균 EA에서 가치를 얻으려면 다음 이미지에서 볼 핸들을 사용하여 함수를 작성하십시오.
이전에 논의한 바와 같이 MetaEditor5를 사용하여 EA/indicator의 값을 가져오려면 함수를 생성해야 하며 값을 가져오는 데 사용하는 함수에는 CopyBuffer()라고 하는 문자열이 있습니다.
그 작업은 표시기에서 배열로 데이터를 복사하고 특정 수량의 지정된 표시기의 지정된 버퍼 데이터를 가져옵니다.
사용 가능한 문서를 읽으려면 -https://www.mql5.com/en/docs/series/copybuffer 링크로 이동하십시오.
코드는 다음과 같습니다.
MA에는 "0"으로 번호가 매겨진 1개의 버퍼가 있습니다. 이제 MA에서 하나의 값을 복사합니다. MetaTrader4에는 다음과 같이 작성되어 있습니다.
마지막 "0"은 차트의 마지막 캔들(제로 캔들)의 MA 값과 일치합니다. MT5 MetaEditor에서는 다음과 같이 작성됩니다.
- 인덱스 위치에서 MA 배열에 하나의 값을 복사해야 합니다.
- 코드를 컴파일하는 동안 처음에 두 오류를 모두 지우도록 이동합니다. 이렇게 하려면 첫 번째 기록 오류를 가리키고 두 번 클릭합니다.
- 이제 EA의 MT5 소스 코드에서 오류 위치로 이동합니다. 이 경우 114행에 오류 코드가 표시됩니다.
- 오류를 나타내는 줄을 삭제하고 아래에 표시된 대로 MaGet(0) 코드가 포함된 문자열로 바꿔야 합니다.
오류 코드는 항상 빨간색 잉크로 밑줄이 그어져 있으며 바로 아래에 MaGet(0) 코드가 있습니다.
- 오류 코드를 제거하고 MaGet(0) 문자열을 넣은 후 F7 키를 누르고 코드를 다시 한 번 컴파일할 수 있습니다.
- 소스 코드를 컴파일한 후에는 이제 하나의 오류만 나타나는 것을 알 수 있습니다.
- 이 마지막 오류 코드를 교체하려면 이전 오류 코드를 지울 때 채택한 동일한 순서를 따라야 합니다. 오류 코드 줄에 도달하여 두 번 클릭하고 주석을 달고 교체하십시오! 그게 다야!
- 오류 코드에 밑줄이 그어진 녹색 잉크를 찾을 수 있습니다. 바로 아래에서 오류 부분을 대체할 코드를 찾을 수 있습니다. 이것이 우리가 오류를 제거하는 방법입니다.
교체를 위해 다음 문자열을 사용해야 하며 바로 직전입니다.
if (열기[1]>MAGet(0) && 닫기[1]<MAGet(0)
- 오류 코드를 주석 처리하고 교체한 후에는 코드 컴파일이 필수입니다. F7 키를 눌러 이전에 했던 방식으로 소스 코드를 컴파일한 후 모든 오류가 제거된 것을 볼 수 있습니다.
- MT4 EA를 MT5에서 사용할 수 있는 적합한 버전으로 변환하는 전체 프로세스를 다루었습니다. 그 결과 이제 MT5 플랫폼에서 편리하게 실행할 수 있습니다!
MT4 지표를 MT5로 바꾸는 방법: 결론
언뜻 보기에 MT4 지표를 MT5로 전환하는 방법은 대답하기 어려운 질문처럼 보이지만 위에서 언급한 방법이 이를 가능하게 합니다. MetaEditor 5 프로그래밍 인터페이스에서 전체 프로그램을 빌드하는 것이 얼마나 한심한지 상상해 보십시오.
운 좋게도 바로 가기를 사용할 수 있었고 여기에서도 동일하게 설명했습니다. 최근 MT5의 사용이 크게 증가하고 있으며 MT4에서 MT5로의 전환에 대해서도 새로운 방법이 나올 것으로 예상된다. MT5 플랫폼은 지속적으로 발전하고 있습니다.
MT5 플랫폼은 수많은 수정을 거쳤으며 앞으로 몇 가지 기능이 더 추가될 것으로 기대하고 있습니다. 의심할 여지 없이 MT4보다 훨씬 낫습니다.
Forex 거래가 처음이거나 현재 Forex VPS 호스팅 계획에 불만이 있습니까?
음, Accuweb 호스팅의 Forex 계획은 Forex VPS 호스팅에 대한 새로운 벤치마크를 설정하여 6가지 가격대에서 매우 편리한 계획을 제시합니다.
사용자는 이러한 계획을 통해 Forex 거래 경험에 만족하며 Forex를 처음 접하는 경우 기회를 놓치지 마십시오! 7일 무료 평가판도 제공됩니다. 자세히 알아보려면 여기 를 탭 하세요.