English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
MACD을 기반으로 한 거래 시스템을 설계하는 방법 배우기

MACD을 기반으로 한 거래 시스템을 설계하는 방법 배우기

MetaTrader 5트레이딩 | 19 8월 2022, 10:47
300 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

소개

이 기사에서는 우리는 가장 인기 있고 일반적으로 사용되는 거래 도구 중 하나에 대해 알아볼 것입니다. 우리는 MACD(Moving Average Convergence Divergence) 지표에 대해 알아볼 것입니다. 우리는 MACD에 대해 자세히 연구하고 이를 사용해서 거래에서 어떻게 이익을 얻을 수 있는지를 살펴볼 것입니다. 이전 기사에서 우리는 시장의 추세 또는 방향을 식별하는 것이 적절한 거래 결정을 내리고 올바른 방향에 있기 위해 매우 중요하다는 것을 배웠습니다.

첫 번째 단계는 시장의 방향을 결정하는 것입니다. 방향에 따라 두 가지 유형의 움직임이 있습니다:

  • 추세적인 움직임.
  • 비 추세적인 움직임

추세적인 움직임: 위 또는 아래로 이동하는 가격의 방향을 명확하게 찾을 수 있음을 의미합니다. 따라서 이러한 유형의 움직임에서는 두 가지의 서로 다른 유형의 추세를 식별할 수 있습니다: 상승 추세와 하락 추세입니다.

  • 상승 추세: 가격의 방향이 위쪽을 향하는 것으로 가격이 상승하고 있음을 의미합니다. 일반적으로 이것은 매수자나 매수세의 컨트롤이 있음을 의미하며 이러한 시장의 상태를 종종 강세장이라고 합니다. 이 움직임은 다음 그림에 나와 있습니다. 그림에서 가격은 더 높은 저점과 더 높은 고점을 만들고 있습니다.


추세

  • 하락 추세: 가격의 방향이 아래쪽을 향하는 것으로 가격이 하락하고 있음을 의미합니다. 매도자나 매도세의 컨트롤이 있다고 할 수 있으므로 이러한 시장의 상태를 종종 약세장이라고 합니다. 이 상태는 가격이 더 낮은 고점과 더 낮은 저점을 생성하는 아래 그림에 나와 있습니다.


추세추세 하락

비 추세적인 움직임: 가격의 움직임의 방향을 명확하게 찾을 수 없음을 의미합니다. 즉 가격이 상승 또는 하락하는지 여부를 결정할 수 없습니다. 이러한 유형의 움직임을 횡보라고 부를 수 있습니다. 따라서 일반적으로 상승추세나 하락추세를 제외한 모든 움직임은 횡보라고 할 수 있습니다. 횡보의 형태라 불릴 수 있는 많은 형태가 있습니다.

가격의 움직임을 확인하고 방향을 결정하는 방법을 찾았으므로 이제 여기서 언급해야 할 또 다른 사항이 있습니다. 가격 움직임과 관련한 더 진보된 것입니다: 가격의 움직임의 속도를 알아보기 위해 모멘텀을 식별해야 합니다. 거래의 세계에는 모멘텀을 결정하고 방향이 강한지 여부를 결정하는 데 도움이 되는 많은 도구가 있습니다.

이러한 도구 중 하나가 기술적인 트레이더들 사이에서 가장 인기 있고 일반적으로 사용되는 지표 중 하나인 MACD(Moving Average Convergence Divergence) 지표입니다. 이 기사에서는 이 지표에 대해 더 자세히 알아보고 이를 기반으로 한 거래 시스템을 설계하는 방법을 배웁니다. 이를 위해 다음의 주제를 살펴보겠습니다:

MACD 지표에 대해 더 자세히 알아볼 것입니다: 무엇을 측정하는 것인지 계산 방법이 무엇인지 그리고 그 예를 살펴볼 것입니다 - 이들 내용은 'MACD 정의' 부분에 있습니다. 그런 다음 MACD와 함께 사용할 수 있는 간단한 전략에 대해 알아 보고 거래에 도움이 되는지 알아 보겠습니다 - 'MACD 전략' 부분에서 알아볼 것입니다. 그런 다음 'MACD 청사진' 부분에서는 앞서 언급한 MACD 전략과 관련한 거래 시스템을 설계할 때 도움이 되는 시스템의 청사진을 설계하는 방법을 배우게 됩니다. 그런 다음 이러한 전략을 사용한 거래 시스템을 설계하는 방법을 배웁니다.

다시 말하지만 우리는 이 거래 시스템을 설계하기 위해 MetaTrader 5 거래 플랫폼과 MetaTrader 5에 통합되어 있는 MetaQuotes 언어 편집기를 사용할 것입니다. 다음 링크에서 MetaTrader 5를 다운로드할 수 있습니다. https://www.metatrader5.com/en/download

MetaTrader 5를 다운로드하고 설치한 후 열게 되면 다음과 같은 창이 나옵니다.

 MT5 트레이딩 터미널

그런 다음 열린 MetaTrader 5에서 F4를 누르거나 다음 창과 같이 도구 메뉴 -> MetaQuotes 언어 편집기를 사용하여 MetaQuotes 언어 편집기를 열 수 있습니다.

MQL5 오프닝

또는 IDE 버튼을 누르십시오.

MT5 단자 IDE 버튼

그러면 MetaQuotes 언어 편집기와 관련하여 다음과 같은 창이 열립니다.

메타에디터 - 새 파일 창

이 창은 MQL5 언어 편집기를 사용하여 수행할 수 있는 다양한 옵션을 제공합니다.

1. 새 파일을 열어 프로그램 된 조건들을 자동으로 실행할 수 있는 Expert Advisor를 생성합니다.

2. 새 파일을 열어 사용자 지정 지표를 생성합니다. 사용자 지정 지표는 차트를 명확하게 읽고 무엇이 차트에 표시되지 않는지를 확인하는 데 도움이 됩니다.

3. 새 파일을 열어 스크립트를 생성합니다. 스크립트는 일회성 명령을 실행할 수 있습니다.

이 기사에서는 프로그램의 명령을 자동으로 실행하는 Expert Advisor를 만들기 위한 첫 번째 옵션을 선택할 것입니다.

실제로 사용하기 전에 배운 모든 것을 테스트하는 것이 좋습니다. 지식을 넓히고 싶은 경우 학습한 내용을 연습하고 직접 적용해 보아야 거래에 유용한 더 많은 새로운 아이디어와 통찰력을 얻을 수 있습니다.

면책: 모든 정보는 정보 제공의 목적으로만 '있는 그대로' 제공되며 거래의 목적이나 조언을 위해 준비된 것이 아닙니다. 어떤 종류의 결과도 보장하지 않습니다. 귀하의 거래 계정에서 이들 자료를 사용하기로 한 경우 귀하는 이에 대한 위험을 감수해야 하며 이에 대한 책임은 귀하에게만 있습니다.

이제 글의 주제를 살펴보고 거래에 대해 자세히 알아보고 새로운 지식을 기반으로 한 거래 시스템을 만드는 방법을 알아보겠습니다.


MACD 정의

이 부분에서는 거래에 사용할 수 있는 가장 인기 있고 유용한 도구 중 하나인 MACD(일반적으로 MACD 또는 MAC - Dee로 발음됨, 중요한 것은 아니지만)로 알려진 이동 평균 전환 다이버전스에 대해 자세히 알아볼 것입니다. 중요한 것은 이 지표가 어떻게 사용될 수 있는지, 무엇을 측정하고 어떻게 계산되는지를 배우는 것입니다. 지식을 습득한다는 것은 유용한 것입니다. 이를 통해 트레이딩의 결과를 좋게 하고 거래에 도움이 될 수 있는 새로운 아이디어에 눈을 뜰 수 있기 때문입니다.

MACD란?

이동 평균 전환 다이버전스(Moving Average Conversion Divergence)는 Gerald Appel이 만든 오실레이터 지표입니다. MACD를 계산하는 데에는 두 개의 지수 이동 평균을 사용합니다. 이동 평균과 그 유형에 대해 더 알고 싶다면 제 이전 기사 다양한 이동 평균 시스템을 설계하는 방법 알아보기를 읽어보세요. MACD는 추세를 추종하고 확인시켜주는 추세 추종 지표이기도 합니다.

지표는 두 줄로 구성됩니다:

  • MACD 라인, 더 빠른 라인입니다. 이는 두 지수 이동 평균 간의 차이의 결과입니다. 첫 번째 기간은 12이고 두 번째 기간은 기본적으로 26이지만 필요에 따른 설정에 따라 변경할 수 있습니다.
  • 시그널 라인, 더 느린 라인입니다. 이 라인은 MACD 라인의 9주기 지수 평활화 평균의 결과이며 이 라인이 더 느린 이유는 이 라인이 두 이동 평균 간의 차이의 이동 평균이기 때문입니다.

MACD 지표의 또 다른 구성 요소로서 MACD 히스토그램이 있습니다. MACD 라인과 시그널 라인의 차이로 인한 결과입니다. 그것은 두 MACD와 시그널 라인의 차이와 그것이 얼마나 넓거나 좁은지를 보여줍니다. 이 기사에서는 우리는 두 줄과 그것들을 해석해서 사용할 수 있는 전략에 초점을 맞출 것입니다.

따라서 MACD 지표를 계산하는 방법은 다음과 같은 단계로 구성됩니다:

  1. 12 기간 지수 이동 평균(12 EMA)을 구합니다.
  2. 26 기간 지수 이동 평균(26 EMA)을 구합니다.
  3. 12 EMA와 26 EMA의 차이를 구하면 = MACD 라인
  4. MACD 라인에 대한 9 기간 이동 평균을 구하면 = 시그널 라인

EMA = (종가*(2/(n+1)))+(이전 MA*(1-(2/(n+1)))). 첫 번째 계산된 이동 평균은 단순하고 지수 이동 평균이 뒤따릅니다.

이 계산을 적용하는 방법의 예를 살펴보겠습니다:

최소 기간 34의 데이터가 필요합니다. 12 EMA를 계산하는 데 12 기간이 필요하고 26 EMA를 계산하는 데 26 기간이 필요하고 그 차이가 MACD 라인이고 시그널 라인을 계산하기 위해 MACD 라인의 9 기간이 더 필요합니다. 따라서 필요한 기간에 대해 다음과 같은 데이터가 있는 경우:

기간 종가
1 100
2 130
3 140
4 130
5 120
6 140
7 160
8 170
9 155
10 140
11 160
12 180
13 190
14 200
15 210
16 200
17 190
18 185
19 195
20 200
21 210
22 220
23 215
24 225
25 230
26 235
27 230
28 225
29 220
30 215
31 225
32 235
33 240
34 245

이제 MACD 지표를 계산할 수 있습니다. 먼저 12 EMA를 계산하면 다음과 같습니다:

12 EMA

그런 다음 26 EMA를 계산합니다:

26 EMA

그런 다음 12 EMA와 26 EMA의 차이를 계산하여 MACD 라인을 계산하면 다음과 같을 것입니다.

MACD 라인

그런 다음 MACD 라인을 계산합니다:

신호선

이와 같이 상기의 예에서 MACD 라인을 계산했습니다. 이 지표는 Meta Trader 5에서 바로 사용할 수 있는 내장 지표이므로 수동으로 계산할 필요가 없습니다. 그러나 이와 같이 지표의 모든 세부 사항을 이해함으로써 개념을 더 잘 배울 수 있습니다. 그런데 실제 MetaTrader 5에서 지표를 사용하면 다소 다르게 나타나는 것을 알 수 있습니다. 왜냐하면 앞서 언급했듯이 두 개의 라인(MACD 라인과 시그널 라인)이 있지만 다음과 같이 다르게 나타날 것이기 때문입니다:

  • MACD 라인을 나타내는 바
  • 시그널 라인을 나타내는 선

하지만 외형상의 차이를 제외하고는 차이가 없는 것입니다. 이제 지표를 삽입하는 방법과 차트에 표시되는 방법을 살펴보겠습니다.

MetaTrader 5 터미널을 열고 삽입 메뉴를 클릭하고 지표 -> 오실레이터 -> MACD를 선택하십시오.

MACD 인서트

그러면 MACD 매개변수 창이 열립니다.

MACD 삽입 창

이 창에는 다음과 같은 MACD 매개변수가 있습니다.

1,2,3: MACD 계산에 사용할 기간을 결정합니다.

4: MACD 계산에 사용할 가격 유형을 결정합니다.

5: MACD 라인의 색상과 바의 두께를 설정합니다.

6: 시그널 라인의 색상, 선 스타일, 굵기를 설정합니다.

원하는 매개변수를 결정하고 확인을 누르면 다음과 같이 차트에 지표가 나타납니다.

MACD 부착

이제 우리는 MACD 지표가 무엇인지, 어떻게 계산하는지, 차트에 어떻게 표시되는지를 배웠습니다.


MACD 전략

이 부분에서는 MACD 지표를 기반으로 거래에 사용할 수 있는 두 가지 간단한 전략을 배웁니다. MACD 지표는 오실레이터 지표이며 0 부근에서 진동한다고 언급했듯이 전략은 교차에 따라 달라집니다. MACD 자체는 두 줄로 구성되며 이 두 개념에 따라 우리의 전략을 사용할 것입니다.

  • 전략 1: MACD 설정 감지기.

이 전략에 따라 우리는 시장 상태를 결정해야 합니다: 매수할 상태일지 매도할 상태일지 다시 말해 시장 방향이 강세장인지 약세장인지 판별해야 하며 이는 MACD에 의해 가능합니다. MACD 메인 라인이 0 레벨을 넘으면 매수 또는 강세장으로 해석하며 그 반대의 경우도 마찬가지 입니다. MACD 메인 라인이 0 레벨 아래로 떨어지면 매도 또는 약세장으로 해석 합니다.

그래서,

MACD 메인 라인 > 0 = 강세장

MACD 메인 라인 < 0 = 약세장

  • 전략 2: MACD 라인 교차

이 전략에 따르면 우리는 MACD 메인 라인과 시그널 라인의 교차에 따라 매수 신호 또는 매도 신호를 식별할 수 있어야 합니다. MACD 메인 라인이 시그널선을 상향 돌파하면 매수 신호가 되고 MACD 본선이 시그널선을 하향 돌파하면 매도 신호가 됩니다.

그래서,

MACD 메인라인 > MACD 시그널 라인 = 매수 신호

MACD 메인라인 < MACD 시그널 라인 = 매도 신호

이것이 MACD 지표를 기반으로 사용할 수 있는 두 가지 간단한 전략입니다. 일반적으로 MACD에서 사용할 수 있는 전략은 많이 있습니다. 그리고 매우 유용합니다. 그러나 우리는 MACD의 개념을 이해하는 데 도움이 되는 간단한 전략만 살펴봅니다. 다음 주제는 우리가 이러한 간단한 전략을 사용하여 거래 시스템을 설계하는 방법에 대한 것입니다.


MACD 청사진

이 부분에서 우리는 설계한 시스템이나 프로그램을 통해서 우리의 컴퓨터가 무엇을 해야 하는지를 알려주어 언급된 두 가지 전략이 반영된 트레이딩 시스템을 설계하는 데 도움이 되는 청사진을 만들어야 합니다. 이 청사진은 시스템을 만들기 위해 우리가 필요로 하는 것을 단계별로 도와주는 역할을 합니다.

  • 전략 1: MACD 시장 종류 감지기.

이 전략에 따르면 우리는 매 틱마다 MACD 메인 라인의 값을 확인하고 0 레벨과 비교한 값을 기반으로 시장의 종류를 출력하도록 컴퓨터에 지시해야 합니다. MACD 메인 라인이 0보다 클 경우 차트에 이를 표시해 주는 프로그램이 필요합니다. "강세장, MACD 메인라인이...." 라고 표시해주며 현재 MACD 기본 라인 값이 표시됩니다. 또는 MACD 메인 라인이 0보다 낮으면 현재 MACD 메인 라인의 값을 표시하고 "약세장 MACD 메인라인이..." 와 같은 표시를 차트에 해주는 프로그램이 필요합니다.

다음 그림은 이 전략의 청사진을 보여줍니다.

설정 전략 청사진

  • 전략 2: MACD 라인 교차

이 전략에 따르면 우리는 MACD 라인(메인 라인과 시그널 라인) 사이이 교차할 경우 적절한 신호를 제공하도록 컴퓨터에 지시해야 합니다. 따라서 프로그램은 매 틱마다 MACD 라인을 확인하고 MACD 메인 라인이 MACD 시그널 라인을 상형 돌파 할때 프로그램은 차트에 "MAD 메인라인이 MACD 시그널 라인의 위에 있음으로 매수 신호"로 표시를 해주고 다음 줄에 "MACD 메인 라인의 값......"이 추가적으로 표시되도록 해야 합니다. MACD 시그널 라인의 경우도 마찬가지 입니다.

다음 그림은 이 전략의 청사진을 보여줍니다.

신호 전략 청사진

MACD 거래 시스템

이 부분에서는 MQL5 프로그래밍 언어를 사용하여 거래 시스템을 만들기 위해 이러한 전략을 코딩하는 방법을 배웁니다. 최종 프로그램은 MetaTrader 5 거래 플랫폼에서 실행되며 사전에 결정된 조건에 따라 사전에 결정된 결과를 제공해야 합니다. 그러나 이 두 가지 간단한 전략을 만들기 전에 차트에 MACD 값을 주석으로 표시할 수 있는 프로그램을 만드는 방법을 배웁니다.

MACD 메인라인 값과 함께 주석을 표시하는 프로그램의 코드:

//+------------------------------------------------------------------+
//|                                  Simple MACD MainLine System.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //cretaing an array for prices
   double MACDMainLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data
   ArraySetAsSeries(MACDMainLine,true);
   
   //Storing results after defining MA, line, current data
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   
   //Get values of current data
   float MACDMainLineVal = (MACDMainLine[0]);
   
   //Commenting on the chart the value of MACD
   Comment("MACD Value is ",MACDMainLineVal);
  }
//+------------------------------------------------------------------+

그리고 이 Expert Advisor는우리에게 필요한 것들을 생성할 것입니다: 차트에 표시할 MACD 메인 라인의 값이 필요합니다. 다음과 같습니다:

Simple MACD MainLine System Signal

이제 MACD 메인 라인의 값을 자동으로 생성하기 위해 차트에 파일을 첨부해야 합니다. 열려 있는 MetaTrader 5에서 ctrl+N을 눌러 탐색기에서 프로그램을 찾으십시오.

MACD Navi 1


그런 다음 이제 이 파일을 실행해야 하며 차트에 파일을 끌어다 놓거나 파일을 두 번 클릭하여 수행할 수 있습니다. 그러면 다음과 같은 창을 찾을 수 있습니다.

Simple MACD MainLine System 창

"시스템 트레이딩 허용" 옵션을 활성화하고 확인을 클릭하면 Expert Advisor가 차트에 첨부되고 다음과 같이 MACD 메인 라인을 자동으로 생성합니다.

Simple MACD MainLine System 부착

이제 MACD 메인 라인 뿐만 아니라 MACD 시그널 라인도 생성할 수 있는 코드를 작성하여 더 많은 작업을 수행하도록 해야 합니다. 다음은 MACD 메인 라인이 있는 차트와 MACD 시그널 라인이 있는 새 라인에 주석을 표시할 수 있는 프로그램을 만드는 코드입니다.

//+------------------------------------------------------------------+
//|                                      Simple MACD TwoLines System |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //cretaing an array for prices for MACD main line, MACD signal line
   double MACDMainLine[];
   double MACDSignalLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data for MACD main line, MACD signal line
   ArraySetAsSeries(MACDMainLine,true);
   ArraySetAsSeries(MACDSignalLine,true);
   
   //Storing results after defining MA, line, current data for MACD main line, MACD signal line
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   CopyBuffer(MACDDef,1,0,3,MACDSignalLine);
   
   //Get values of current data for MACD main line, MACD signal line
   float MACDMainLineVal = (MACDMainLine[0]);
   float MACDSignalLineVal = (MACDSignalLine[0]);
   
   
   //Commenting on the chart the values of MACD main line and MACD signal line
   Comment("MACD Main Line Value is ",MACDMainLineVal,"\n" 
   "MACD Signal Line Value is ",MACDSignalLineVal);
  }
//+------------------------------------------------------------------+

이 코드를 작성하고 이 코드를 테스트하면 다음 이미지와 같이 MACD 메인 라인과 MACD 시그널 라인이 생성됩니다.

단순 MACD TwoLines 시스템 신호

이제 이 Expert Advisor 파일을 차트에 첨부하여 차트에 MACD 라인과 MACD 시그널 라인의 값을 자동으로 생성해야 합니다. 따라서 탐색기에서 프로그램을 선택하십시오.

MACD 내비 2

그런 다음 파일을 두 번 클릭하거나 차트로 끌어다 놓습니다. 그 후 다음 Expert Advisor 창이 열립니다.

단순 MACD TwoLines 시스템 창

확인을 누르면 EA가 첨부되고 차트에 값이 자동으로 생성됩니다. 다음 그림은 이를 나타냅니다.

Simple MACD TwoLines 시스템 연결

이제 0 레벨의 MACD 메인 라인 교차와 MACD 메인 라인과 MACD 시그널 라인 간의 교차라는 두 가지 전략을 코딩해야 합니다. 여기에서는 이익을 취하지 않고 생성된 신호에 대해서만 다룬다는 점에 유의하십시오. 다른 여러 지표등 이러한 목적으로 사용할 수 있는 많은 도구가 있습니다. 여기서 우리는 생성된 신호에 초점을 맞출 것입니다. 이 전략을 수행하는 코드를 작성해 보겠습니다.

  • 전략 1: MACD 시장종류 감지기 - 0 레벨의 MACD 메인 라인 크로스오버에 따라 현재 시장 종류를 나타냅니다.

MACD 메인 라인 > 0 = 강세장

MACD 메인 라인 < 0 = 약세장

다음은 MACD 메인 라인과 제로 레벨 간의 교차 및 MACD 메인 라인 값에 따라 시장 종류를 주석을 생성하는 프로그램의 코드입니다.

//+------------------------------------------------------------------+
//|                                         MACD Setup Dectector.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //cretaing an array for prices for MACD main line
   double MACDMainLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data
   ArraySetAsSeries(MACDMainLine,true);
   
   //Storing results after defining MA, line, current data
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   
   //Get values of current data
   float MACDMainLineVal = (MACDMainLine[0]);
   
   //Commenting on the chart the value of MACD
   if (MACDMainLineVal>0)
   Comment("Bullish Setup As MACD MainLine is ",MACDMainLineVal);
   
   if (MACDMainLineVal<0)
   Comment("Bearish Setup As MACD MainLine is ",MACDMainLineVal);
  }
//+------------------------------------------------------------------+

이 코드를 작성하고 테스트한 후 다음 그림은 MACD 메인 라인과 제로 레벨 간의 교차에 따라 현재의 시장 종류를 생성하는 방법을 보여줍니다.

강세장 신호:

MACD 설정 감지기 강세 신호

약세장 신호:

MACD 설정 감지기 약세 신호

이제 이 EA를 차트에 연결하여 차트에 파일을 끌어다 놓거나 탐색기 창에서 파일을 두 번 클릭하여 이러한 신호를 자동으로 생성해야 합니다.

MACD 내비 3

그러면 다음 Expert Advisor 창이 열립니다.

MACD 설정 감지기 창

확인을 누르면 차트에 EA가 첨부되고 차트에 자동으로 주석이 나타납니다.

MACD MainLine 값과 강세장 신호:

MACD 설정 감지기 창

MACD MainLine 값과 강세장 신호:

MACD 설정 감지기 창

  • 전략 2: MACD 라인 교차 - MACD 메인 라인과 MACD 신호 라인 간의 교차를 통해 매수 및 매도 신호를 생성합니다.

MACD 메인라인 > MACD 시그널 라인 = 매수 신호

MACD 메인라인 < MACD 시그널 라인 = 매도 신호

다음 코드는 MACD 메인 라인 및 MACD 시그널 라인의 값이 있는 새로운 두 라인으로 MACD 메인 라인 및 MACD 시그널 라인의 교차에 따라 매수 또는 매도의 신호를 차트에 주석으로 나타내 주는 프로그램을 생성합니다.

//+------------------------------------------------------------------+
//|                          MACD Lines Crossover Signals System.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //cretaing an array for prices for MACD main line, MACD signal line
   double MACDMainLine[];
   double MACDSignalLine[];
   
   //Defining MACD and its parameters
   int MACDDef = iMACD(_Symbol,_Period,12,26,9,PRICE_CLOSE);
   
   //Sorting price array from current data for MACD main line, MACD signal line
   ArraySetAsSeries(MACDMainLine,true);
   ArraySetAsSeries(MACDSignalLine,true);
   
   //Storing results after defining MA, line, current data for MACD main line, MACD signal line
   CopyBuffer(MACDDef,0,0,3,MACDMainLine);
   CopyBuffer(MACDDef,1,0,3,MACDSignalLine);
   
   //Get values of current data for MACD main line, MACD signal line
   float MACDMainLineVal = (MACDMainLine[0]);
   float MACDSignalLineVal = (MACDSignalLine[0]);
   
   
   //Commenting on the chart the value of MACD
   if (MACDMainLineVal>MACDSignalLineVal)
   Comment("Buying Signal As MACD MainLine is Above MACD SignalLine","\n"
   "MACD Main Line Value is ",MACDMainLineVal,"\n" 
   "MACD Signal Line Value is ",MACDSignalLineVal);
   
   if (MACDMainLineVal<MACDSignalLineVal)
   Comment("Shorting Signal As MACD MainLine is Below MACD SignalLine","\n"
   "MACD Main Line Value is ",MACDMainLineVal,"\n" 
   "MACD Signal Line Value is ",MACDSignalLineVal);
  }
//+------------------------------------------------------------------+

이 코드를 작성하고 테스트한 후에 신호와 라인의 값을 생성하는 프로그램을 얻을 것입니다.

MACD 메인 라인이 표시된 매수 시그널은 MACD 시그널 라인과 MACD 메인 라인과 MACD 시그널 라인 값 위에 있습니다:

MACD 라인 크로스오버 신호 매수 신호

MACD 메인 라인이 MACD 시그널 라인 아래에 있고 라인 값이 있는 새 라인이 있는 표시가 나타날 경우 매도 신호:

MACD 라인 크로스오버 신호 짧은 신호

코드를 작성한 후 EA 파일을 차트에 첨부하여 파일을 두 번 클릭하거나 탐색기 창에서 차트로 끌어다 놓아 자동으로 신호를 생성하도록 합니다.

MACD 내비 4


그 후 EA가 차트에 첨부되고 이후 차트에 신호를 표시합니다.

전략에 따른 매수 신호와 MACD 라인 값이 주석으로 있는 새 라인:

MACD 라인 크로스오버 신호 첨부

전략에 따른 매도 신호와 MACD 라인 값과 새로운 두 라인이 주석으로 있는 새 라인:

MACD 라인 크로스오버 신호 첨부 - 단락


결론

MACD(Moving Average Convergence Divergence) 지표는 거래에 도움이 될 수 있는 가장 유용한 도구 중 하나이며 이 지표와 관련한 거래에서 더 나은 결과를 얻는 데 도움이 될 수 있는 유용한 전략이 많이 있습니다. 이 훌륭한 도구를 자동화하고 거래를 보다 쉽고 효과적이고 수익성 있게 만드는 데 도움이 될 수 있는 거래 시스템을 만드는 방법을 배우는 것이 매우 중요하며 이 기사에서 몇 가지의 개념을 공유하고자 했습니다.

MACD 지표 자체에 대한 의미와 계산하는 방법에 대해 자세히 살펴보고 이 지표에 대한 이해를 심화한 다음 교차의 개념에 따라 MACD에서 사용할 수 있는 간단한 전략에 대해 알아보고 청사진을 만들었습니다. 청사진을 통해 이러한 전략을 기반으로 한 거래 시스템을 설계하는 방법을 배운 다음 MACD를 코딩하고 이러한 전략에 따라 거래 시스템을 만드는 방법을 알아보았습니다. 저는 배운 내용이 여러분의 거래와 계획에 적합한지 확인하기 위해 실제 계정으로 사용하기 전에 알고 있는 모든 것을 테스트해야 한다고 조언 드립니다.

그리고 저는 여러분이 세부 사항을 알게 됨으로 해서 주제와 관련되거나 관련되지 않은 새로운 통찰력과 아이디어로 이어질 수 있으며 차별점을 만들 수 있는 새로운 아이디어에 눈을 뜨기 위해 이 기사를 읽은 후 어떤 좋은 일이 일어나기를 희망한다고 믿습니다. 이러한 과정은 더 나은 결과를 얻기 위해 우리의 거래에 유용할 수 있습니다. 이 기사가 귀하와 귀하의 거래에 유용하기를 바랍니다.

MetaQuotes 소프트웨어 사를 통해 영어가 번역됨
원본 기고글: https://www.mql5.com/en/articles/10674

데이터 과학 및 기계 학습(파트 01): 선형 회귀 데이터 과학 및 기계 학습(파트 01): 선형 회귀
이제 우리는 트레이더로서 우리의 시스템과 우리 자신이 숫자가 나타내는 것에 따라 결정을 내리도록 훈련해야 할 때입니다. 우리의 눈과 우리의 직감이 우리에게 확신을 주는 것이 아닙니다. 세상은 그렇게 흘러 가는 것이니 파도의 방향에 맞서 봅시다.
하나의 차트에 여러개의 지표 넣기(파트 06): MetaTrader 5를 RAD 시스템으로 전환하기(II) 하나의 차트에 여러개의 지표 넣기(파트 06): MetaTrader 5를 RAD 시스템으로 전환하기(II)
이전 기사에서 저는 MetaTrader 5 객체를 사용하여 차트 거래를 생성하고 플랫폼을 RAD 시스템으로 전환하는 방법을 보여드렸습니다. 시스템은 매우 잘 작동하며 많은 독자분들은 제가 제안한 시스템에서 여러가지 확장된 기능들을 할 수 있는 라이브러리를 만드는 것에 대해 생각해 봤을 것입니다. 그렇게 하면 보다 멋지고 사용하기 쉬운 인터페이스로 보다 직관적인 Expert Advisor를 개발할 수 있을 것입니다.
스토캐스틱으로 거래 시스템 설계 하는 방법 알아보기 스토캐스틱으로 거래 시스템 설계 하는 방법 알아보기
이 기사에서는 기존의 학습 시리즈를 계속합니다. 이번에는 가장 인기 있고 유용한 지표 중 하나인 스토캐스틱 오실레이터 지표를 사용하여 거래 시스템을 설계해 볼 것입니다. 여러분들이 기존에 가지고 있던 기본적인 지식에 새로운 지식을 쌓는 기회가 되기를 바랍니다.
Expert Advisor가 실패하는 이유 분석 Expert Advisor가 실패하는 이유 분석
이 기사는 왜 Expert Advisor가 특정 지역에서는 좋은 성과를 보이고 다른 지역에서는 저조한 성과를 낼 수 있는지를 이해하기 위해 통화 데이터를 분석하는 것에 대해 살펴봅니다.