English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
preview
MQL5 - 여러분도 이 언어의 마스터가 될 수 있습니다.

MQL5 - 여러분도 이 언어의 마스터가 될 수 있습니다.

MetaTrader 5 | 26 3월 2025, 09:44
197 0
Daniel Jose
Daniel Jose

소개

이 글에서 저는 이전 글에서 해왔던 것과는 다른 작업을 해보려고 합니다. 기본적으로 이 자료는 MQL5 또는 프로그래밍에 대한 지식이 거의 없거나 전혀 없는 분들을 위한 것입니다. 따라서 이 기사는 제 자신과의 인터뷰와 같은 방식일 것입니다. 이 기사에서는 MQL5를 처음부터 어떻게 배워야 하고 어떻게 전문가 되는 것인지에 대해 설명하겠습니다.


약간의 이야기

저는 MQL5 커뮤니티를 위한 글을 쓰기 시작한 이후 많은 피드백을 받았습니다. 많은 사람들이 저에게 연락하여 어떻게 MQL5로 프로그래밍하는 방법을 배우는 것인지 그래서 어떻게 기사에서 설명하는 작업을 수행할 수 있는지 묻습니다. 이들 대부분은 프로그래밍의 첫걸음을 내딛기 위한 기본 가이드를 찾는 매니아층 입니다. 이 글은 MQL5 프로그래밍을 배우고자 하는 매니아 및 초보 MQL5 프로그래머 여러분을 위한 글입니다.

이 주제를 진행하기 전에 한 가지 말씀드릴 것이 있습니다. 이 글의 목적은 여러분의 사기를 떨어뜨리는 것이 아니라 오히려 동기 부여를 더욱 높이기 위한 것입니다.

여러분은 제가 다년간의 MQL5 프로그래밍 경험이 있어야 한다고 생각할 수도 있습니다. 하지만 이 글을 쓰는 시점까지 저는 MQL5 언어를 사용한 지 1년 반 밖에 되지 않았습니다. 맞아요, 저는 MQL5 프로그래머 경력이 2년이 채 되지 않습니다. 저같이 MQL5 프로그래밍 경험이 거의 없는 사람이 어떻게 기사에서 소개한 MetaTrader 5의 작업을 수행할 수 있는지 궁금할 것입니다.

이는 MQL5 프로그래밍 언어 개발자들이 여러 측면에서 이 언어를 C/C++처럼 보이게 만들려는 훌륭한 아이디어를 가지고 있었기 때문입니다. 따라서 C/C++ 경험이 풍부한 프로그래머라면 모든 개념, 구문 및 명령을 다시 배울 필요가 없으므로 MQL5를 매우 쉽게 배울 수 있습니다.

왜 제가 이런 말을 하는 걸까요? 저는 2000년대 초반부터 전문 C/C++ 프로그래머로 일해왔기 때문에 23년 넘게 C/C++로 프로그래밍을 해왔습니다. 제가 MetaTrader 5에서 무언가를 하기 위해 새로운 언어를 배워야 한다면 결국 포기했을 것입니다.

많은 사람이 좋은 프로그래머가 되려면 몇 가지 코스를 수강해야 한다고 생각합니다. 프로그래밍을 제대로 배우려면 실수하는 것을 두려워해서는 안 됩니다. 코드나 아이디어에 집착해서는 안 됩니다. 항상 새로운 것을 실험하고 시도하는 자세를 가져야 합니다.

많은 사람들은 항상 같은 방식으로 같은 일을 하고 싶어하기 때문에 조금 이상하게 들릴 수 있습니다. 하지만 훌륭한 프로그래머가 되고자 하는 사람은 항상 같은 일을 다르게 할 수 있는 방법을 찾고 있습니다. 많은 사람들은 프로그래머가 항상 다른 사람에게서 영감을 받는다는 사실을 이해하지 못합니다. 숙련된 프로그래머가 개발한 작업 소스 코드를 가져와 조금씩 변경하면서 실험하고 결과를 지켜봅니다. 이렇게 하면 프로그램이 실제로 어떻게 만들어지는지 배울 수 있습니다.

어떤 사람들은 MQL5를 배우려면 뭔가 공부를 시작해야 한다고 생각합니다. 사실 사전 지식이 전혀 없는 사람이 학습 방법을 묻는다면 저는 항상 가장 간단한 것부터 시작하라고 권합니다. 다시 말해 명령어 뿐만 아니라 구문과 프로그래밍 로직을 제대로 알기 위해 C에 대해 조금만 배우면 됩니다. C 언어의 기본을 이해했다면 C++를 공부하는 동시에 MQL5를 연습해 보세요. 이미 기본적인 C 지식이 있다는 사실만으로도 MQL5에서 프로그래밍을 시작하는 데 큰 도움이 됩니다.

어떤 사람들은 C가 구식이라고 생각할 수도 있지만 사실 C는 매우 잘 문서화되어 있고 널리 사용되는 언어입니다. 여러분은 C 사용법을 배울 수 있는 많은 자료를 찾을 수 있습니다. C를 깊이 파고들어야 한다는 말은 아닙니다. 기본적인 명령어와 구문, 명령만 익히면 MQL5를 시작하기에 충분할 것입니다.

MQL5를 더 발전시키기 위해 C를 배운다는 것이 다소 어려울 수 있습니다. 그러나 여러분 스스로 많은 노력을 기울이고 여러분에게 가르쳐 줄 사람을 찾으면 MQL5로 바로 시작할 수도 있습니다. 그러나 제 경험으로 그리고 다른 사람들의 의견으로 볼 때 작업이 그렇게 쉽지 않을 것 같습니다. 좋은 자료는 거의 모두 이곳 MQL5 커뮤니티에 있습니다. 나머지 인터넷에서는 자료가 흩어져 있고 품질이 좋지 않아 득보다 실이 많을 수 있습니다. C와 C++ 언어는 훌륭하고 접근하기 쉬운 자료가 엄청나게 많이 있습니다. 어디서부터 시작해야 할지 선택하는 것은 사용자의 몫입니다.


MQL5의 첫 번째 코드

여러분은 제가 이미 C/C++로 프로그래밍하는 방법을 알고 있기 때문에 바로 MQL5로 복잡하고 정교한 프로젝트를 시작 할수 있었다고 생각할지 모릅니다. 하지만 그렇게 시작된 것은 아닙니다. 현실은 전혀 달랐습니다.

우리는 자체 솔루션 개발을 위한 첫걸음을 내딛을 때마다 이미 알고 있다고 생각하는 것부터 시작하는 경우가 많습니다. 제 경우에는 MQL5를 사용하기 시작했을 때 언어 문서만 가지고 있었고 프로그래머를 돕는 커뮤니티가 있는지조차 몰랐습니다.

그래서 설명서를 공부하고 MetaEditor와 함께 제공되는 소스 코드를 검토하면서 실험을 시작했습니다. 아래는 제가 이해한 내용을 바탕으로 만든 첫 번째 실제 코드입니다.

01. //+------------------------------------------------------------------+
02. #property copyright "Daniel Jose"
03. #property version   "1.00"
04. #property description "Modify special chart properties"
05. #property script_show_inputs
06. //+------------------------------------------------------------------+
07. enum eWhat  {
08.                eScaleDate  = CHART_SHOW_DATE_SCALE,   //Time scale
09.                eScalePrice = CHART_SHOW_PRICE_SCALE   //Price scale
10.             };
11. enum eOp    {
12.                eFalse,                                //Makes hidden
13.                eTrue                                  //Makes visible
14.             };
15. //+------------------------------------------------------------------+
16. input eWhat user00 = eScaleDate;                      //Graphic property
17. input eOp   user01 = eFalse;                          //What to do?
18. //+------------------------------------------------------------------+
19. void OnStart()
20. {
21.    ChartSetInteger(0, (ENUM_CHART_PROPERTY_INTEGER) user00, user01);
22. }
23. //+------------------------------------------------------------------+

첫 번째 MQL5 프로그램의 소스 코드

특별하거나 혁신적인 것은 없습니다. 이것은 그냥 코드이며 그 목적은 제가 문서를 올바르게 이해했는지, 요소를 어떻게 정의하고 사용할 수 있는지 확인하는 것이었습니다. 다음 동영상은 코드의 실행 결과를 보여줍니다.


데모 비디오

이것은 매우 기본적인 것입니다. 하지만 제가 MetaEditor의 문서와 소스 코드의 도움 이외에는 다른 사람의 도움 없이 완전히 자율적인 방식으로 이 코드를 만들 수 있었다는 것은 제가 그 너머의 일을 할 수 있을 것이라는 가능성을 보여줬습니다. 저는 기존에 알고 있던 C와 C++에 대한 지식을 MQL5에 적용하기만 하면 되었고 여기서부터 본격적으로 일이 진행되기 시작했습니다.

위의 간단한 코드를 보면 여러분은 그다지 가치 있는 코드를 발견하지 못할 수도 있습니다. 하지만 프로그래밍 언어 초보자의 첫 번째 작업은 일반적으로 다음과 같은 코드를 만드는 것입니다. "HELLO WORLD"라는 코드를 작성하는 것입니다.

하지만 저는"HELLO WORLD" 코드의 단계는 지났습니다. 그래서 조금 더 복잡한 방법을 시도해 보았습니다. 하지만 저는 MQL5의 실제 작동 방식에 대한 경험과 이해가 많지 않았기 때문에 스크립트 개발부터 시작했습니다. 스크립트는 실제로 어떻게 일이 벌어지는지에 대한 경험과 지식이 거의 없는 저에게는 훨씬 쉬운 일이었습니다.

그리고 얼마 지나지 않아 MQL5가 실제로는 절차적 언어가 아니라 이벤트 기반 언어라는 사실을 깨닫기 시작했습니다. 이 사실은 프로그래밍과 코드 분석에 대한 저의 접근 방식을 근본적으로 바꾸어 놓았습니다. 저는 기술을 향상시키고 싶어서 MQL5 커뮤니티에서 공부하고 글을 읽기 시작했는데 많은 사람들이 코드를 작동시킬 수는 있지만 적어도 제 생각에는 비교적 기본적인 방식으로 MQL5를 배우고 있다는 생각이 들었습니다. 그래서 저는 MetaTrader 5 플랫폼과 MQL5 언어의 기능을 더 깊이 탐구할 수 있는 더 복잡한 솔루션을 개발하고 실험하기 시작했습니다.

그리고 어느 순간부터 실험 결과를 공유하기로 결심했습니다. 이렇게 저의 첫 번째 기사가 나오게 된 것입니다. 코드를 작성하는 것과 코드가 어떻게 구축되고 설계되었는지를 설명하는 것은 서로 전혀 다른 작업입니다. 저는 숙련자와 초보자 모두 이 글을 읽을 것이라는 것을 알고 있었습니다.

기사의 형식과 내용이 모두 변경되었는데 이는 경험이 적은 분들도 정보를 이해할 수 있도록 하기 위해서였습니다. 여러분이 자료에 제시된 모든 지식을 즉시 이해할 수 없다고 하더라도 시간이 지남에 따라 프로그래밍 기술을 향상시키게 되면 기사에서 전달하려는 내용을 모두 이해할 수 있을 것입니다.

지식은 공유되어야 합니다. 가치 있는 것, 누군가의 세계관을 바꿀 수 있는 것, 많은 사람이 깨닫지 못하는 것을 일깨워줄 수 있는 것을 남기지 않고 생을 다하는 것은 영광스러운 일이 아니라고 생각합니다.

다시 코드로 돌아가 보겠습니다. 몇 줄의 코드에 수천 줄의 코드보다 훨씬 많은 정보와 지식이 담겨 있다는 것을 보여드리고 싶습니다. 원래 C/C++ 구문의 일부로서가 아닌 MQL5는 영어로 되어 있지 않았습니다. 하지만 이것은 단순한 세부 사항일 뿐입니다. 이 작은 코드를 보고 작동 원리를 이해해 보겠습니다. 주로 살펴볼 내용: 작동하는 이유에 대해서 입니다.


코드 분석

코드에서 두 번째, 세 번째, 네 번째 줄을 삭제할 수 있습니다. 실제로 이들 라인은 MetaTrader 5는 사용자에게 코드의 목적을 알리기 위한 목적으로 작성됩니다. 사용자는 학습 코드에서 이러한 줄을 간단히 제거할 수 있습니다.

5번째 줄은 매우 중요합니다. 이 줄이 없으면 MetaTrader 5는 사용자가 어떤 종류의 입력 구조를 통해 스크립트를 사용자 지정할 수 있다는 것을 이해하지 못하기 때문입니다(이 경우 16번째와 17번째 줄에 표시된 'input'). 곧 살펴볼 것입니다.

이제 많은 사람이 이해하지 못할 수도 있는 내용이 나옵니다. 특히 MQL5만 공부했거나 C/C++가 아닌 다른 언어 출신인 경우 더욱 그렇습니다. 저는 07번과 11번 줄에 있는 열거형에 대해 이야기하고 있는 것입니다.

이러한 구조를 보면 혼란스러울 수 있습니다. 너무 복잡하다고 생각할 수도 있습니다. 하지만 MQL5는 C/C++ 프로그래머를 끌어들이기 위해 만들어졌기 때문에 C/C ++에 대한 경험이 조금이라도 있는 사람들이라면 쉽게 사용할 수 있습니다. 하지만 열거형에 대해 표면적으로나마 이해해 볼 필요가 있습니다.

열거형은 값을 할당하거나 할당하지 않을 수 있는 데이터의 시퀀스라고 이해할 수 있습니다. 값을 지정하지 않으면 카운트는 항상 가능한 첫 번째 값(이 경우 0)으로 시작됩니다. 따라서 11번째 줄에 정의된 열거형은 0 또는 1 값과 동일한 원리를 따릅니다. C/C++에서는 MQL5와 마찬가지로 0 값은 거짓으로 간주하고 1 값은 참으로 간주합니다.

따라서 eFalse 값이 정의된 12줄에는 0이 표시되고 열거형의 두 번째 값인 13줄에는 1의 값이 표시됩니다. 정의된 항목이 더 많으면 순서에 따라 다음 항목이 두 개, 세 개가 되는 식입니다. 이것이 가장 간단한 경우입니다.

이제 저는 여러분의 관심을 다른 곳으로 돌리고 싶습니다. 12번째 줄의 끝에는 C/C++에서 주석이 될 만한 내용이 있습니다. 다른 라인에도 같은 유형의 항목이 있습니다. 12번 라인에 집중해 보겠습니다. 이것은 다른 모든 곳에도 적용됩니다.

차트에 스크립트가 실행될 때를 보면 우리는 그림 01을 볼 수 있습니다. 그 안에서 저는 12번째 줄의 코멘트와 정확히 일치하는 내용을 강조 표시합니다.

그림 01

그림 01 - 사용자 상호 작용 창


이러한 기능은 MQL5 코딩을 크게 간소화합니다. 다른 언어였다면 MQL5에서 이렇게 간단하고 실용적인 방식으로 작업을 수행하기 위해서는 몇 가지의 작업을 더 수행해야 했을 것입니다. 따라서 코드에 주석을 작성하는 것이 코드를 더 이해하기 쉽게 만들 수 있을 뿐만 아니라 여러분이 사용자에게 주고자 하는 메시지를 사용자 지정할 수 있기 때문에 이는 올바른 작업이라는 것을 이해해야 합니다.

이제 다른 열거형이 있는 07행으로 돌아가 보겠습니다. 이 열거는 방금 설명한 것과는 다릅니다. 완전히 다른 것은 아니지만 이제 각 요소에 값을 할당한다는 점에서 차이가 있습니다. 즉 컴파일러는 우리가 지정한 값을 사용하며 이 경우에 이 값은 MQL5에 정의된 상수입니다. 여러분은 궁금해 할지도 모릅니다: 상수를 열거형에 할당하는 대신 직접 사용하지 않는 이유는 무엇일까요? 그 이유는 구현의 용이성 때문입니다. 상수를 직접 사용하려면 배열이나 구조체와 같은 다른 것을 만들어야 하는데 이는 훨씬 더 어렵습니다. 저의 접근 방식을 사용하면 어떤 위치나 시퀀스에든 값을 삽입할 수 있습니다. 제가 선언한 시퀀스에 관심을 둔 상수가 나타나게 되면 저는 해당 상수를 할당하거나 선언할 필요가 없습니다; 열거형에 콘텐츠를 추가하기만 하면 언어가 올바른 값을 사용하고 적절하게 할당하도록 처리해 줍니다.

C/C++와 같은 언어와 관련해 기초가 튼튼하다면 MQL5 코드를 작성할 때 어떤 도움이 되는지 보세요. 여기에서 다루는 내용은 MQL5 코드에서는 흔히 보기 어려운 내용입니다. 저는 실제로 많은 사람들이 여기에서 얻은 것과 동일한 결과를 얻기 위해 훨씬 더 복잡하고 시간이 많이 걸리는 구조에 의존하는 것을 보았습니다. 저는 한 줄의 코드(21줄)만 작성했습니다.

이제 다음 사항에 주목하세요; 실제로 실행될 유일한 행인 21번 라인 자체에서 명시적 타입 변환을 수행해야 합니다. 이는 컴파일러가 이를 이해하고 그에 따라 최종 코드를 올바르게 생성하는 데 필요합니다. 그렇다면 명시적 전환이 중요한 이유는 무엇일까요? 그 이유는 컴파일러에 있습니다. 우리는 숫자만 사용하기 때문에 프로세서에게는 중요하지 않으며 실제로 프로세서가 보는 것은 숫자입니다. 유형은 프로세서의 관심 대상이 아닙니다. 프로세서는 숫자만 관찰합니다. 그러나 21번째 줄의 두 번째 인수는 숫자 값임에도 불구하고 우리가 ChartSetInteger 함수에서 예상하는 것과는 다릅니다. 이 함수는 숫자 값이 아닌 특정 유형을 기대합니다. 값이 예상되는 유형을 나타내더라도 즉 값이 우리가 사용 중인 상수와 정확히 일치하더라도 컴파일러는 이를 오류로 인식합니다. 따라서 이 문제를 해결하기 위해 숫자 값을 ChartSetInteger 함수가 예상하는 유형으로 변환하도록 명시적으로 강제합니다. 따라서 컴파일러는 우리가 함수에 전달하는 값을 인식할 수 있게 됩니다.


파이썬에 대한 몇 가지 생각

독자 여러분 그리고 초보 프로그래머 여러분 이제 대화를 마무리하기 전에 제가 몇 년 동안 다양한 프로그래밍 언어로 작업하면서 얻은 경험과 지식의 결과인 몇 가지 마지막 생각을 공유하고자 합니다. 이는 여러분이 MetaTrader 5에서 특정 작업을 수행하려고 할 때 발생할 수 있는 향후의 좌절감을 방지하는 데 목적이 있습니다.

이글의 주요 주제는 MQL5이지만 저는 파이썬을 공부할지 여부에 대한 질문도 자주 받습니다. 특히 금융 시장에서 거래하기 위해 프로그래밍을 배우기 시작한 사람들에은 MetaTrader 5를 사용하기 위해 파이썬에 대한 지식을 심화할 가치가 있는지 의문을 가지게 됩니다. 이 질문은 매우 적절합니다. 파이썬의 경우는 C를 배우고 C++를 배우고 마지막으로 MQL5로 전문적인 작업을 하기 위한 견고하고 통합된 기반을 얻는것 보다 훨씬 쉽고 빠르게 배울수 있기 대문입니다. 하지만 여러분이 파이썬을 배우는(또는 배우지 않는) 시간을 낭비했다고 생각하지 않도록 한 가지 명심해야 할 점이 있습니다.

파이썬 프로그래밍 언어(일부에서는 스크립팅 언어라고 부르기도 하지만)는 MQL5에서 수행될 수 있는 작업과 비교할 수는 있는 대상이 아닙니다. 일부에서는 이를 프로그래밍 언어로 간주하지 않지만 여기서는 이 논쟁에 들어가지 않겠습니다. 마약 여러분의 목표가 순수한 수학적 방식으로 무언가를 테스트, 검증, 분석하기 위한 코드를 배우고 생성하는 것이라면 가장 짧고 쉬운 해결책은 파이썬을 배우는 것입니다. 이는 이와 같은 작업을 MQL5에서 하는 것보다는MetaTrader 5를 사용하여 백테스트 등을 실행하는 것이 더 쉽기 때문입니다.

어떤 사람들에게는 이상하게 보일 수 있지만 약간의 교육과 많은 노력을 기울이면 훨씬 더 많은 경험을 가진 프로그래머가 MQL5로 할 수 있는 것과 동일한 작업을 수행할 수 있는 Python 스크립트는 쉽게 만들어질 수 있습니다. 프로그래머는 전략 테스터를 실행하는 것 외에도 지표와 EA를 만들어야 하는 경우가 많으며 소위 셋업이라고도 불리우는 특정 운영 체제가 수익성이 있는지 여부를 확인해야 합니다. 모든 것을 제대로 설정하지 않을 경우 모든 것을 위험에 빠뜨릴 수 있게 되는 위험이 존재합니다.

여러분은 MetaTrader 5를 사용하면 차트와 아름답게 표시되는 결과를 볼 수 있어 분석이 더 쉬워질 것이라고 생각할지 모릅니다. 하지만 간단한 백테스트를 수행하는 데 필요한 모든 함수를 여러분이 MetaTrader 5에서 직접 프로그래밍하려면 얼마나 많은 지식이 필요한지 고려해야 합니다.

파이썬으로 작업하면 패키지를 사용하여 MetaTrader 5 데이터에 액세스할 수 있습니다. 파이썬에서 할 수 있는 모든 것을 사용하면 MQL5 프로그래머가 하는 것과 동일한 연구를 더 쉽게 수행할 수 있습니다. 분석이 완료되면 데이터를 Excel 또는 다른 프로그램으로 내보내 MetaTrader 5에서 할 수 있는 모든 그래픽 표현을 할 수 있고 결과를 더 쉽게 분석할 수 있습니다.

저는 여기에 간단한 설명을 덧붙일 필요가 있습니다. 결과를 Excel로 플로팅할 수 있는데 왜 Excel 대신 Python을 사용해야 하나요? 그 이유는 간단합니다: MetaTrader 5 데이터를 사용할 때 VBA(Visual Basic for Application)를 사용하면 파이썬을 통해 얻을 수 있는 것과 동일한 데이터에 직접 액세스할 수 없습니다. Excel에서 이 작업을 수행하려면 여러분은 이러한 기능을 지원하는 DLL을 만들거나 동일한 데이터를 가져오기 위해 많은 파일을 CVS 형식으로 내보내야 하고

Excel에 들어가면 파이썬에서 수행할 수 있는 모든 계산을 수행해야 하는 작업이 훨씬 더 많아질 것입니다. 단점은 데이터베이스를 변경하기로 결정한 경우 Excel에서 모든 작업을 다시 수행해야 한다는 것입니다. 하지만 파이썬을 사용하는 경우에는 파이썬에 데이터베이스를 변경하도록 지시하기만 하면 별도의 작업 없이 파이썬은 MetaTrader 5에 직접 데이터베이스를 제공합니다.

각 도구마다 장단점이 있기 때문에 가능한 한 많은 것을 배우려고 노력하는 것이 좋습니다. 파이썬은 매우 유용하지만 차트에 표시할 보조지표나 트레이딩에 도움이 되는 Expert Advisor를 만들 수 없습니다. 이는 MQL5를 통해서만 구현할 수 있습니다. 따라서 여기에는 더 좋거나 나쁜 도구가 없습니다. 이들은 서로를 보완하며 서로 다른 용도로 사용됩니다. 여러분은 나중에 필요할 때를 위해 두 가지를 모두 공부하세요.


결론

모든 것이 간단하지만 항상 다음 사항을 기억해야 합니다: 여러분은 이제 막 시작하는 단계입니다. 당장 복잡한 일을 하려고 하지 마세요. 제대로 작동하는 것을 만들어 보세요. 언뜻 보기에는 전혀 쓸모없어 보일지라도 간단한 것부터 시작하세요.

함수를 조금씩 실험해 보세요. C/C++ 언어를 학습하여 MQL5 프로그래밍 역량을 확장하세요. 아무리 복잡해 보이는 작업이라도 항상 더 잘할 수 있는 방법이 있기 때문에 많은 사람들이 항상 하는 방식과 다르게 자신만의 방식으로 연습하고 시도해 보세요.

코드를 단순화하고 인내심을 갖고 끈기 있게 작업하는 방법을 배워보세요. 자신이 잘 알지 못하는 문제를 발견하더라도 포기하지 마세요. 문제가 생기면 더 많은 것을 알아보고 이미 알고 있는 내용을 바탕으로 솔루션을 만들어 보세요. 이미 문제를 해결했다면 더 나은 해결책을 찾아보세요. 여러분의 궁극적인 보상은 누구도 빼앗을 수 없는 방대하고 깊은 지식, 즉 여러분의 부와 관련된 것입니다. 지식은 빌릴 수는 있어도 훔칠 수는 없습니다.

겸손한 자세로 자신의 지식을 다른 사람들과 공유하세요. 이를 통해 새로운 것을 배우고 또 다른 솔루션에 집중하는 사람들에게 새로운 가능성을 보여줄 수 있습니다. 오늘은 여기까지입니다.


MetaQuotes 소프트웨어 사를 통해 포르투갈어가 번역됨
원본 기고글: https://www.mql5.com/pt/articles/12071

패턴 검색에서 무자비 대입 방식(5부): 새로운 시각 패턴 검색에서 무자비 대입 방식(5부): 새로운 시각
이 글에서는 제가 꽤 오랜만에 찾은 알고리즘 트레이딩에 관한 완전히 색다른 접근법을 보여드리겠습니다. 물론 이 모든 것은 여러 문제를 동시에 해결할 수 있도록 여러 가지 변경을 거친 저의 무자비 대입 프로그램과 관련이 있습니다. 그럼에도 불구하고 이 기사는 더 일반적이고 가능한 한 간단한 것으로 밝혀 졌기 때문에 무자비 대입에 대해 아무것도 모르는 사람들에게도 적합합니다.
데이터 과학 및 머신 러닝 - 신경망(1부): 피드 포워드 신경망에 대한 이해 데이터 과학 및 머신 러닝 - 신경망(1부): 피드 포워드 신경망에 대한 이해
많은 사람들이 신경망을 좋아하지만 신경망의 전체 작동 원리를 이해하는 사람은 많지 않습니다. 이 글에서 저는 피드 포워드 멀티 레이어 인식의 이면에 있는 모든 것을 평이하게 설명하려고 합니다.
MQL5를 사용하여 맞춤형 실제 강도 지수 지표를 만드는 방법 MQL5를 사용하여 맞춤형 실제 강도 지수 지표를 만드는 방법
이글은 맞춤형 지표를 만드는 방법에 대한 새로운 글입니다. 이글에서 우리는 실제 강도 지수(TSI)를 기반으로 Expert Advisor를 만들 것입니다.
앨런 앤드류스의 시계열 분석 방법 앨런 앤드류스의 시계열 분석 방법
앨런 앤드류스는 현대의 트레이딩 세계에서 가장 유명한 '교육자' 중 한 명입니다. 그의 '피치포크'는 거의 모든 최신 분석 프로그램에 포함되어 있습니다. 그러나 대부분의 트레이더는 이 도구가 제공하는 기회 중 일부도 사용하지 않고 있습니다. 게다가 앤드류스의 오리지널 교육 과정에는 피치포크(여전히 주요 도구이지만)뿐만 아니라 이외의 다른 유용한 구조에 대한 설명도 포함되어 있습니다. 이 글은 Andrews가 원래 강의에서 가르쳤던 놀라운 차트 분석 방법에 대한 인사이트를 제공합니다. 이미지가 많으니 주의하세요.