가정용 컴퓨터에 몇 개의 코어가 있습니까? 거래 전략을 최적화하기 위해 몇 대의 컴퓨터를 사용할 수 있습니까? 여기에서는 MQL5 클라우드 네트워크를 사용하여 마우스 클릭으로 전 세계의 컴퓨팅 성능을 받아 계산을 가속화하는 방법을 보여줍니다. "시간은 돈이다"라는 표현은 해가 갈수록 더욱 화제를 불러 일으키며 수십 시간 또는 며칠 동안 중요한 계산을 기다릴 여유가 없습니다.
MetaTrader 5의 세 가지 테스트 모드의 차이점은 무엇이며 특히 무엇을 찾아야 합니까? 여러 상품에서 동시에 거래되는 EA 테스트는 어떻게 이루어 집니까? 테스트 중 지표 값은 언제 어떻게 계산되며 이벤트는 어떻게 처리됩니까? "오픈 프라이스 전용" 모드에서 테스트하는 동안 다른 기기의 바를 동기화하는 방법은 무엇입니까? 이 글에서 저희는 이러한 질문과 다른 많은 질문에 대한 답변을 제공하는 것을 목표로 합니다.
MQL5 프로그램은 일상적인 계산을 자동화 할 뿐만 아니라 완전한 기능을 갖춘 그래픽 환경을 만들어 주기도 합니다. 진정한 인터랙티브 컨트롤을 만드는 기능은 이제 고전적인 프로그래밍 언어의 기능과 거의 동일합니다. MQL5에서 본격적인 독립 실행형 프로그램을 작성하려면 리소스를 사용하십시오. 리소스가 있는 프로그램은 유지 관리 및 배포가 더 쉽습니다.
MQL5의 Expert Advisors 프로그래밍은 간단하며 쉽게 배울 수 있습니다.
이 단계별 가이드를 통해 개발된 거래 전략에 따라 간단한 Expert Advisor를 작성할 때 필요한 기본 단계를 확인할 수 있습니다.
Expert Advisor의 구조, 내장 기술 인디케이터 및 거래 기능의 사용, 디버그 모드의 세부 사항 및 Strategy Tester의 사용 등이 소개되어 있습니다.
MQL5 프로그래밍 언어는 주로 자동화된 거래 시스템과 복잡한 기술 분석 수단을 만드는 것을 목표로 합니다. 하지만 이것 외에도, 그것은 우리가 시장 상황을 추적하기 위한 흥미로운 정보 시스템을 만들 수 있게 해주며, 거래자와의 반품 연결을 제공합니다. 본 문서는 MQL5 표준 라이브러리 구성요소를 다룰 것이며, 목표 달성을 위한 실전 사례 또한 적어두었습니다.
또한 차트 작성에 쓰인 구글 차트 API의 실제 예시 또한 실려있습니다.
거래 전략의 개발은 주로 시장 진입과 퇴출을 위한 패턴을 찾는 것뿐만 아니라 포지션을 유지하는 것에 초점을 맞추고 있습니다. 만약 일부 패턴을 자동 트레이딩을 위한 공식으로 만들 수 있다면, 투자자는 자동 투자 모드에서 오픈 포지션을 보장하기 위해서 안전한 수준의 모기지 자금뿐만 아니라 포지션의 양, 마진의 크기를 계산해야하는 문제에 직면하게 됩니다.
이 글에서 우리는 그러한 계산을 할 수 있는 간단한 예시를 보이기 위해 MQL5 언어를 사용할 것입니다.
MQL5은 인디케이터를 백지로부터 만들어갈 수 있게도 해주지만, 클라이언트 터미널에 이미 빌트인 된 것이나 커스텀 인디케이터 등 이미 존재하는 다른 인디케이터 기반으로 만들 수 있는 옵션 또한 제공합니다. 고르고 나면 여기서도 두가지 선택지가 있습니다 - 새 계산이나 그래픽 스타일을 추가하는 방식으로 인디케이터를 개선하는 것, 그리고 iCustom() 이나 IndicatorCreate() 함수를 써서 클라이언트 터미널에 내장된 것이나 커스텀 인디케이터를 쓰는 것.
본 문서는 매매시스템이 필요한 매매 신호를 어떻게 받는지 가르쳐줄 것입니다. 이 문서에서 다룰 20개의 매매 신호를 만드는 예시는 Expert Advisor 개발에 쓸 수 있는 별도의 커스텀 함수로 되어있습니다. 편의를 위해서, 본 문서에서 사용된 모든 함수는 미래에 Exper Advisor에 손쉽게 연결할 수 있도록 하나의 mqh include 파일에 들어 있습니다.
거래 계정의 현재 상태를 모니터링한다는 것은 오픈 포지션과 주문을 통제한다는 것을 의미합니다. 거래 신호가 진정한 거래가 되기 전, 이는 거래 서버로의 요청으로써 클라이언트 터미널에서 전송되어야 하며, 이 때 거래 서버는 처리 대기 중인 주문 대기열에 배치될 것입니다. 거래 서버에 의한 수락하거나, 만료 시 삭제하거나, 거래 기준으로 거래를 수행하는 등과 관련된 이러한 모든 조치에는 거래 이벤트가 뒤따르게 되고, 이 때 거래 서버는 터미널에 이런 사항에 대해 알려주게 됩니다.
MQL5는 다양한 유형의 이벤트 (타이머 이벤트, 거래 이벤트, 맞춤 이벤트 등) 작업을 포함하여 많은 혁신을 제공했습니다. 이벤트 처리 기능을 통해 자동 및 반자동 거래를 위한 완전히 새로운 유형의 프로그램을 만들 수 있습니다. 이 기사에서는 거래 이벤트를 고려하고 거래 이벤트를 처리할 OnTrade() 함수에 대한 코드를 작성합니다.
새로운 버전의 MQL 프로그래밍 언어를 사용할 수 있게 됨에 따라 지표 처리 방식이 변경되었을 뿐만 아니라 지표를 만드는 새로운 방법도 있습니다. 또한 인디케이터 버퍼로 작업 할 수 있는 추가적인 유연성이 있습니다. 이제 원하는 인덱싱 방향을 지정하고 원하는 만큼의 인디케이터 값을 얻을 수 있습니다. 이 문서에서는 인디케이터를 호출하고 인디케이터의 버퍼에서 데이터를 검색하는 기본 방법을 설명합니다.
이 글에서는 가격을 틱 차트로 나타내는 틱 인디케이터와 특정 개수의 틱을 이용해 캔들을 그리는 캔들 인디케이터 두 가지의 작성 방법을 다룰 겁니다. 두 인디케이터 모두 가격 정보를 파일로 만들어 인디케이터 재가동 시 저장된 데이터(다른 프로그램에서도 이용 가능)를 이용합니다.
전 세계 투자자들에게 사랑 받은 MetaTrader4는 그 자체로 정말 완벽해 보였죠. 빠른 처리 속도, 안정성, 다양한 인디케이터 작성 방법, 엑스퍼트 어드바이저, 거래 시스템, 그리고 선택 가능한 브로커의 수까지, 다른 터미널과는 비교가 불가능할 정도였으니까요. 하지만 시간이 흘러 이제 우리는 MetaTrader4와 MetaTrader5 사이의 선택의 길에 놓여 있는데요. 이 글에서는 MetaTrader5의 주요 차별점에 대해 이야기하도록 하겠습니다.
인디케이터란 무엇인가? 이는 우리가 간편하게 스크린에 표시하고싶은 계산값들의 집합을 일컫는 것 입니다. 값의 집합은 프로그램에서는 어레이로 표현되어있습니다. 따라서, 인디케이터의 생성이란 몇몇 어레이 (가격 어레이) 와 다른 어레이 (인디케이터 값) 를 다루는 알고리즘을 짜는 것을 말하는 것입니다.. 실제강도지수 인덱스의 생성을 설명하는 것으로, 저자는 MQL5에서 인디케이터를 쓰는 법에 대해서 안내합니다.
사용자 지정 개체, 동적 배열 또는 개체 배열 등 모든 개체는 특정 방식으로 MQL5 프로그램에서 생성 및 삭제됩니다. 종종 일부 개체는 다른 개체의 일부이며 초기화 해제시 개체 삭제 순서가 특히 중요합니다. 이 글에서는 개체 작업 메커니즘을 다루는 몇 가지 예를 제공합니다.
Expert Advisor에서 내장 또는 사용자 지정 인디케이터의 값을 얻으려면 먼저 해당 기능을 사용하여 핸들을 만들어야 합니다. 이 글에서의 예는 자신의 프로그램을 만드는 동안 이 또는 해당 기술 지표를 사용하는 방법을 보여줍니다. 이 글에서는 MQL5 언어로 빌드된 인디케이터에 대해 설명합니다. 트레이딩 전략 개발에 대한 경험이 많지 않은 사람들을 위해 제공되는 기능 라이브러리를 사용하여 지표로 작업하는 간단하고 명확한 방법을 제공합니다.
기본적으로 MQL5의 모든 오브젝트는 참조로 전달되지만 오브젝트 포인터를 사용할 가능성이 있습니다. 그러나 객체가 초기화되지 않을 수 있으므로 포인터 검사를 수행해야 합니다. 이 경우 MQL5 프로그램은 심각한 오류로 종료되고 언로드됩니다. 자동으로 생성된 객체는 이러한 오류를 일으키지 않으므로 이 점에서 매우 안전합니다. 이 글에서는 개체 참조와 개체 포인터의 차이점을 이해하고 포인터를 사용하는 보안 코드를 작성하는 방법을 고려합니다.
새로운 주제는 초보자에게 복잡하고 배우기 어려운 것 같습니다. 우리가 알고있는 주제는 우리에게 매우 간단하고 명확해 보입니다. 그러나 우리는 모든 사람이 처음부터 무언가를 심지어 우리의 모국어로 공부해야 한다는 걸 기억하지 못하는 것 같습니다. 자신의 거래 전략을 개발할 수있는 광범위한 가능성을 제공하는 MQL5 프로그래밍 언어도 마찬가지입니다. 기본 개념과 가장 간단한 예를 통해 학습을 시작할 수 있습니다. 기술 인디케이터와 MetaTrader 5 클라이언트 터미널의 상호 작용은 간단한 사용자 지정 인디케이터 SMA의 예에 대한 이 글에서 고려됩니다.
본 문서는 MetaTrader5의 간략 리뷰입니다. 짧은 시간 내에 시스템의 모든 세부 사항을 안내해드리기는 어렵습니다 - 테스트는 2009.09.09에 시작되었습니다. 이는 상징적인 일자로, 전 이것이 행운의 숫자가 될거라 믿어 의심치않습니다. 제가 새 MetaTrader 5 터미널과 MQL5 베타버전을 받은지 며칠이 지났습니다. 아직 모든 기능을 사용해본 것은 아니지만, 벌써부터 감명깊네요.
MetaTrader5와 MQL5의 새로운 기능 전체를 나열하지는 않겠습니다. 종류도 많은 데다가, 별도의 설명이 필요한 기능들도 있거든요. 객체 지향 프로그래밍을 이용한 코드 작성법 또한 다음에 알아보도록 하겠습니다. 다른 기능들과 함께 설명하기에는 조금 어려운 이야기일 수 있으니까요. 이 글에서는 인디케이터와 인디케이터의 구조, 드로잉 타입과 프로그래밍 디테일을 MQL4와 비교해 볼게요. 초보자 분들께 많은 도움이 되면 좋겠고 기존에 사용하시던 개발자 분들도 뭔가 새로운 걸 얻어 가실 수 있길 바랍니다.
함수는 모든 프로그래밍 언어에서 중요한 요소이며 DRY(반복하지 말라는 의미)의 개념을 적용하는 데 도움이 되는 등 여러 가지 이점이 있습니다. 이 글에서는 함수에 대한 자세한 정보와 복잡한 작업 없이 트레이딩 시스템을 강화하기 위해 모든 시스템에서 사용하거나 호출할 수 있는 간단한 애플리케이션으로 MQL5에서 우리만의 함수를 만드는 방법에 대해 자세히 설명합니다.
이 글에서는 MVC(모델-뷰-컨트롤러) 아키텍처 패턴을 사용하여 MQL5에서 테이블 모델을 개발하는 프로세스에 대해 살펴보겠습니다. 우리는 이를 통해 데이터 논리, 표현, 제어를 분리하고, 구조화되고 유연하며 확장 가능한 코드를 작성할 수 있습니다. 연결 리스트를 사용하여 데이터를 저장하는 것을 포함하여 테이블 모델을 구축하기 위한 클래스를 구현해 볼 것입니다.
Android와 iOS로 구동되는 장치는 우리가 알지도 못하는 많은 기능을 제공합니다. 이러한 기능 중 하나는 전화번호나 모바일 네트워크 운영자에 관계없이 개인 메시지를 수신할 수 있는 푸시 알림입니다. MetaTrader 모바일 단말기(터미널)는 이미 거래 로봇으로부터 이러한 메시지를 바로 받을 수 있습니다. 장치의 MetaQuotes ID를 알고 있어야 합니다. 이미 9000,000개 이상의 모바일 단말기가 이를 수신했습니다.
이 글의 두 번째 파트에서는 MVC(모델-뷰-컨트롤러) 아키텍처 패러다임을 사용하여 MQL5에서 테이블 모델을 구현하는 방법에 대해 알아봅니다. 이 문서에서는 이전에 만든 테이블 모델을 기반으로 테이블 클래스와 테이블 헤더를 개발하는 방법에 대해 알아봅니다. 개발된 클래스는 다음 글에서 설명할 뷰 및 컨트롤러 컴포넌트를 추가 구현하는 기반이 될 것입니다.