English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
preview
일목균형 지표로 트레이딩 시스템을 설계하는 방법 알아보기

일목균형 지표로 트레이딩 시스템을 설계하는 방법 알아보기

MetaTrader 5트레이딩 | 1 2월 2023, 15:12
968 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

소개

이 시리즈는 가장 일반적인 기술 지표로 거래 시스템을 설계하는 방법에 대한 기사입니다. 이 시리즈의 새로운 기사에 오신 것을 환영합니다. 이 기사에서는 이 지표의 주요 개념이나 아이디어를 기반으로 간단한 전략을 기반으로 간단한 거래 시스템을 만드는 방법을 배우기 위해 새로운 기술 도구에 대해 자세히 배울 것입니다.

다음의 주제를 통해 이 지표를 다룹니다.

  1. 일목균형 정의
  2. 일목균형 전략
  3. 일목균형 전략 청사진
  4. 일목균형 거래 시스템
  5. 결론

일목균형 정의 주제 전반에 걸쳐 일목균형 지표가 무엇인지, 지표가 어떻게 구성되며 어떻게 계산할 수 있으며 무엇을 측정하는지에 대해 알아봅니다. 따라서 지표를 효과적으로 사용할 수 있도록 지표의 주요 개념에 대해 세부적으로 학습할 것입니다. 일목균형 전략은 우리가 기사를 배울 주제가 될 것입니다. 지표의 기본 개념을 기반으로 한 간단한 전략에 대해 알아볼 것입니다. 그런 다음 일목 균형 전략 청사진이라는 주제를 통해 각 전략을 실행하는 거래 시스템을 만드는 데 도움이 되는 단계별 전략 청사진을 설계하고 학습할 것입니다. 그 외에도 이 기사에서 가장 흥미로운 부분과 그 핵심은 언급된 각 전략을 MetaTrader 5 거래 플랫폼에서 실행하기 위해 MQL5로 거래 시스템을 만드는 방법입니다.

우리는 MetaTrader 5에 내장된 편집기인 MetaQuotes Language(MQL5)를 사용할 것입니다. MetaEditor를 사용하기 위해 MetaTrader 5를 다운로드하는 방법을 알아보려면 이전 기사에서 메타에디터에서 MQL5 코드 작성하기란 주제를 읽어 보시기 바랍니다.

모든 것을 테스트하고 읽은 내용을 연습하는 것이 좋습니다. 여러분의 이해를 돕고 새로운 아이디어에 눈을 뜨는 데 매우 도움이 될 것입니다.

면책: 이 기사의 내용은 다른 어떤 목적도 아닌 교육의 목적으로만 만들어졌습니다. 따라서 이 글의 내용이 어떠한 결과도 보장하지 않으므로 이 글의 내용에 근거하여 취하는 모든 행동에 대한 책임은 귀하에게 있습니다.

이제 이 새로운 기사를 통해 우리의 학습의 여정을 시작하겠습니다.


일목균형 정의

이 부분에서는 일목균형 지표가 무엇인지, 무엇을 측정하는지, 그 구성은 어떻게 되는지, 어떻게 계산할 수 있는지를 파악하여 일목균형 지표에 대해 자세히 알아봅니다. 이를 통해 지표의 효과적인 사용을 위해 지표에 대해 우리가 필요로 하는 모든 것을 깊이 이해할 수 있을 것입니다.

일목균형 지표는 Goichi Hosoda가 개발했습니다. 추세의 방향, 지지 및 저항, 모멘텀 및 거래 신호를 식별할 수 있으므로 금융 상품에 대한 더 많은 통찰력을 얻는 데 사용할 수 있는 일본의 도구 중 하나입니다. 추세를 식별하는 방법에 대해 자세히 알고 싶다면 이전 기사에서 추세의 정의를 읽어 보시기 바랍니다.

지표에는 5개의 플롯이 있습니다:

  • 덴칸센(환산선)
  • 기준센(기준선)
  • 센코우 스팬 A(리딩 스팬 A)
  • 센코우 스팬 B(리딩 스팬 B)
  • 치코우 스팬(지연 스팬)
센코우 스팬 A(Leading Span A) 및 센코우 스팬 B(Leading Span B)는 구름(Kumo)을 형성합니다.

지표를 효과적으로 사용하기 위해 일목균형 지표를 수동으로 계산하는 방법을 배워보도록 합니다. 우리는 일목 균형 지표에서 모든 요소를 계산하여 배워 볼 것입니다.

텐칸센(전환선)= (고점 9일 + 저점 9일)/2

기준센(기준선)= (26일 고점 + 26일 저점)/2

센코우 스팬 A (Leading Span A) = (텐칸센 + 기준센)/2 이고 이후 26 기간으로 표시됩니다.

센코우 스팬 B (Leading Span B)= (52 기간의 고점 + 52 기간의 저점)/2 이후 26 기간으로 표시됩니다.

치코우 스팬(후행 스팬)= 오늘의 종가이지만 과거 26개 기간으로 표시됩니다.

요즘에는 지표를 수동으로 계산할 필요가 없지만 지표의 이면에 있는 개념을 알아보기 위해 지금 학습해 봅니다. 우리는 거래 플랫폼을 가지고 있으며 우리에게 필요한 것은 계산을 굳이 하지 않아도 차트에 표시할 사용 가능한 지표 중에서 일목균형 지표를 선택하는 것입니다. MetaTrader5의 차트에 일목균형지표를 삽입하면됩니다. 삽입 탭 --> 지표 --> Ichimoku Kinko Hyo를 누릅니다.

덧붙여서 이치모쿠는 이치모쿠 긴코효라고도 불렸습니다.

 이치모쿠 인서트

그러면 다음과 같이 지표 창이 나타납니다:

 일목균형삽입 매개변수.

이전 그림은 여러분이 원하는 지표의 매개변수를 설정하는 것입니다.

1- 텐칸센의 기간을 설정

2- 기준센 기간을 설정

3- 선행 스팬 B의 기간을 설정

색상 탭에서 지표의 원하는 스타일과 모양을 설정할 수도 있습니다.

일목 인서트 색상

1- 텐칸센의 색상을 선택

1A- 텐칸센 선의 스타일을 선택

1B- 텐칸센 선의 두께를 선택


2- 기준센의 색상을 선택

2A- 기준센의 스타일을 선택

2B- 기준센의 두께를 선택


3- 치코우 스팬의 색상을 선택

3A- 치코우 스팬의 스타일을 선택

3B- 치코우 스팬의 두께 선택


4- 상승하는 경우 구름의 색상을 선택(상승 구름)

4A- 상승하는 경우 구름의 스타일을 선택(상승 구름)

4B- 상승 경우 구름의 두께를 선택(상승 구름)


5- 하향(하락 구름)의 경우 구름의 색상을 선택

5A- 하향(하락 구름)의 경우 구름의 스타일을 선택

5B- 하향(하락 구름)의 경우 구름의 두께를 선택


기본 설정을 지정하면 차트에서 다음과 같은 지표를 찾을 수 있습니다.

이치모쿠 첨부

이전 그림의 차트에 있는 지표에서 볼 수 있듯이 파란색과 빨간색 선은 덴칸센과 기준센에 대한 것이고 녹색 선은 치코우 스팬과 관련한 것으로 과거 26시간 동안 표시된 종가입니다. 차트 주기에 미래 26시간으로 표시된 구름(센코우 스팬 A 및 센코우 스팬 B)이 있고 빨간색이며 이는 구름이 아래로 이동하고 있음을 의미하는 것입니다.


일목균형 전략

이 주제에서는 지표의 기본 개념을 사용한 간단한 전략을 기반으로 일목균형 지표를 사용하는 방법을 배웁니다. 일목균형 추세 식별자를 통해 추세를 식별하는 데 사용할 수 있는 전략을 살펴보겠습니다. 일목균형 강도 전략을 통해 추세의 강도를 알려주는 전략을 배운 다음 일목균형 가격-키 신호 전략과 일목균형 텐 키 신호 전략과 동일한 크로스오버의 두가지 메서드를 기반으로 강세 또는 약세 신호의 경우를 알려주는 전략을 배웁니다.

모든 사람에게 공통적으로 적합한 전략은 없기 때문에 모든 전략을 사용하기 전에 테스트해야 합니다. 우리 모두는 개인의 특성에 따라 거래하고 개인마다 거래의 스타일이 있습니다. 저에게 적합한 전략이라고 해서 여러분에게도 적합하다는 의미는 아닙니다.

전략이 적합하다고 생각하더라도 그것이 유용하려면 최적화가 필요합니다. 따라서 테스트하기 전에 실제 계정에서 사용하지 말아야 합니다.

  • 전략 1: 일목균형 트렌드 식별자:

이 전략에 따르면 우리는 추세의 유형이 상승 추세인지 하락 추세인지 알려주는 데 사용할 수 있는 트리거가 필요합니다. 이를 위해 우리는 세 가지 값을 확인해야 합니다. 이 값들은 종가, 센코우 스팬 A 및 센코우 스팬 B입니다. 종가가 센코우 스팬 B보다 크면서 동시에 종가가 센코우 스팬 A보다 큰 경우 이것은 추세가 상승함을 알 수 있는 신호가 될 것입니다. 반대로 종가가 센코우 스팬 B보다 낮고 동시에 종가가 센코우 스팬 A보다 낮으면 이것은 하락세의 신호가 됩니다.

종가 > 센코우 스팬 B 및 종가 > 센코우 스팬 A --> 상승추세

종가 < 센코우 스팬 B 및 종가 < 센코우 스팬 A --> 하락추세

  • 전략 2: 일목균형 추세 강도:

이 전략을 기반으로 현재의 추세가 강함을 알릴 수 있는 트리거가 필요합니다. 이를 위해 세 가지 값을 확인해야 합니다. 이 값들은 현재 센코우 스팬 A, 이전 센코우 스팬 A 및 센코우 스팬 B입니다. 현재 센코우 스팬 A가 이전 센코우 스팬 A보다 크고 동시에 현재 센코우 스팬 A가 센코우 스팬 B보다 크면 추세가 상승하고 강하다는 신호입니다. 반대로 현재 센코우 스팬 A가 이전 센코우 스팬 A보다 낮고 동시에 현재 센코우 스팬 A가 센코우 스팬 B보다 낮으면 추세가 하락하고 강하다는 신호가 됩니다.

현재 센코우 스팬 A > 이전 센코우 스팬 A 및 현재 센코우 스팬 A > 센코우 스팬 B --> 상승세가 강함

현재 센코우 스팬 A < 이전 센코우 스팬 A 및 현재 센코우 스팬 A < 센코우 스팬 B --> 하락세가 강함 

  • 전략 3: 일목균형 가격-키 신호:

이 전략에 따르면, 상승 추세 동안에는 강세 신호라고 알려줄 수 있는 트리거가 필요하고 하락 추세 중에는 약세 신호라고 알려줄 트리거가 필요합니다. 이 전략을 기반으로 종가와 기준센의 값을 확인합니다. 종가가 기준센 값보다 크면 강세 신호의 트리거가 됩니다. 반대로 종가가 기준센 값보다 낮으면 약세 신호가 됩니다.

상승세 종가 > 기준센 --> 강세 신호

하락추세 중 종가 < 기준센 --> 약세 시그널

  • 전략 4: 일목균형 텐-키 신호:

이 전략에 따르면, 상승 추세 동안 강세 신호가 있거나 하락 추세 중 약세 신호가 있을 때 알려주는 또 다른 트리거 또는 방법이 필요합니다. 이 전략을 기반으로 텐칸센과 기준센 이 두 가지 값을 확인합니다. 텐칸센 값이 기준센보다 크면 강세의 신호가 됩니다. 반대로 텐칸센이 기준센보다 낮다면 이것은 약세의 신호가 될 것입니다.

텐칸센 > 기준센 --> 강세 신호

텐칸센 < 기준센 --> 약세 신호


일목균형 전략 청사진

이제 우리는 각 전략에 대한 청사진을 만들 것입니다. 이 단계는 우리가 무엇을 이해하는 데 도움이 될 단계별 청사진을 설계하는 데 도움이 될 것이기 때문에 거래 시스템을 만드는 단계에서 가장 중요하다고 할 수 있습니다

  • 전략 1: 일목균형 트렌드 식별자:

이 전략을 바탕으로 우리는 종가, 센코우 스팬 A, 센코우 스팬 B의 값을 지속적으로 확인할 수 있는 거래 시스템을 만들어야 합니다. 상승 추세 또는 하락 추세가 있는지 결정하기 위해 이러한 값을 비교하여 어느 것이 더 크거나 작은지 결정하고 종가 및 일목균형 라인 값이 차트에 설명으로 표시되는 거래 시스템이 필요합니다. 종가가 스팬 B보다 크고 종가가 스팬 A보다 크면 추세가 상승합니다. 종가가 스팬 B보다 낮고 종가가 스팬 A보다 낮으면 하락 추세입니다.

일목 추세 식별자 청사진

  • 전략 2: 일목균형 추세 강도:

이 전략을 바탕으로 현재 추세의 강도를 알려주는 거래 시스템을 만들어야 합니다. 따라서 현재 센코 스팬 A, 이전 센코 스팬 A, 센코 스팬 B의 값을 지속적으로 확인하는 거래 시스템이 필요합니다. 이를 기반으로 어느 것이 더 크거나 작은지 결정하기 위해 이러한 값을 비교하여 현재 추세의 강도를 반환하는 거래 시스템이 필요합니다. 현재 스팬 A가 이전 스팬 A보다 크고 현재 스팬 A가 스팬 B보다 크면 추세가 상승하고 강하다는 것과 일목균형 값이 차트에 주석으로 나타납니다.

일목 추세 강도 청사진

  • 전략 3: 일목균형 가격 - 키 신호:

이 전략에 따르면 강세 또는 약세의 신호와 종가 및 기준센 라인의 값을 차트에 표시하는 거래 시스템을 만들어야 합니다. 따라서 종가와 기준센의 값을 지속적으로 확인하여 어느 크고 작은지 비교하는 거래 시스템이 필요합니다. 종가가 기준센보다 크면 강세 신호, 종가, 기준센 값이 차트에 표시됩니다. 종가가 기준센보다 낮으면 약세 시그널, 종가, 기준센 값이 차트에 표시됩니다.

 일목균형가격-키 신호 설계도

  • 전략 4: 일목균형 텐-키 신호:

이 전략에 따르면 우리는 덴칸센의 값과 기준센의 값을 비교하여 이중 어느 것이 더 크거나 작은지 결정하고 이를 기반으로 강세 또는 약세 신호를 차트에 표시하는 거래 시스템을 만들어야 합니다. 따라서 이 두 값을 지속적으로 확인하는 거래 시스템이 필요합니다. 텐칸 센 값이 기준 센보다 크면 강세 신호와 텐칸 센의 현재 값과 기준 센의 현재 값을 표시하고, 텐칸 센 값이 기준 센 값보다 낮으면 약세 신호와 함께 텐칸 센의 현재 값과 기준센의 현재 값을 을 표시하도록 합니다.

일목천기 신호도

일목균형 거래 시스템

이 부분에서는 앞서 살펴본 전략을 기반으로 일목균형 지표로 거래 시스템을 설계하는 방법을 배웁니다. 따라서 텐칸센 및 기준센 전략 외에도 일목균형추세 식별자 전략, 추세 강도 전략, 가격 및 기준센 전략을 기반으로 거래 시스템을 설계하는 방법을 배웁니다.

이제 앞에서 살펴본 전략을 사용하기 위해 차트에 대한 모든 일목균형 값을 보여주는 간단한 시스템을 설계할 것입니다.

파일 이름 Indicators/Trend.mqh에 #include 명령을 배치한 다음 일목균형 지표의 데이터를 사용하기 위해 CiIchimoku 클래스를 사용합니다.

#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;

void OnInit()를 통해 지표를 호출한 다음 텐칸센, 기준센, 센코우 스팬 A, 센코우 스팬 B, 치코우 스팬의 double인 변수 값을 생성합니다.

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

차트에 이러한 값을 나타내고 별도의 줄에 나타나도록 합니다.

   Comment("Tenkan Sen Value is: ",TenkanVal,"\n",
           "Kaijun Sen Value is: ",KijunVal,"\n",
           "Senkou Span A Value is: ", SpanAVal,"\n",
           "Senkou Span B Value is: ",SpanBVal,"\n",
           "Chikou Span Value is: ",ChikouVal);

그러면 전체 코드는 다음과 같을 것입니다.

//+------------------------------------------------------------------+
//|                                       Simple Ichimoku 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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   Comment("Tenkan Sen Value is: ",TenkanVal,"\n",
           "Kaijun Sen Value is: ",KijunVal,"\n",
           "Senkou Span A Value is: ", SpanAVal,"\n",
           "Senkou Span B Value is: ",SpanBVal,"\n",
           "Chikou Span Value is: ",ChikouVal);
  }
//+------------------------------------------------------------------+

이 코드를 컴파일하면 탐색기 창에서 EA를 찾을 수 있습니다.

내비 - 이치

이를 실행하기 위해 EA를 더블 클릭하거나 차트에 드래그 앤 드롭하면 일목균형 시스템 창이 나타납니다.

단순 일목 체계 창

확인을 누르면 파일이 차트에 첨부됩니다:

간이일목제 부착

다음 그림은 이 시스템에서 생성된 신호의 예입니다.

단순일목계 신호

이전 그림에서 볼 수 있듯이 차트에 다음 값이 있는 주석이 있음을 알 수 있습니다.

  • 텐칸 센 값
  • 기준센 값
  • 센코우 스팬 A 값
  • 센코우 스팬 B 값
  • 치커우 스팬 값
이러한 이전의 값들은 일목균형 요소를 나타냅니다.
  • 전략 1: 일목균형 트렌드 식별자:

이제 우리는 이 전략을 기반으로 현재 추세 정의에 대한 정보를 알려주는 거래 시스템을 설계해야 합니다. 다음은 이러한 전략을 작성하는 전체 코드입니다.

//+------------------------------------------------------------------+
//|                                    Ichimoku trend identifier.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates PArray[];
   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);


   if(PArray[0].close>SpanBVal&&PArray[0].close>SpanAVal)
     {
      Comment("The trend is up","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

   if(PArray[0].close<SpanBVal&&PArray[0].close<SpanAVal)
     {
      Comment("The trend is down","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }
  }
//+------------------------------------------------------------------+

이 코드의 차이점은 다음과 같습니다:

가격 정보를 저장하는 MqlRates 함수를 사용하여 가격 배열을 생성합니다.

MqlRates PArray[];

Data에 대한 정수 변수를 생성한 후 CopyRates 함수를 사용하여 가격 배열을 채웁니다. CopyRates 함수는 MqlRates의 히스토리 데이터를 가져옵니다.

int Data=CopyRates(_Symbol,_Period,0,1,PArray);

추세 유형에 따른 일목균형 추세 식별자 전략의 조건,

상승 추세의 경우:

   if(PArray[0].close>SpanBVal&&PArray[0].close>SpanAVal)
     {
      Comment("The trend is up","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

하락세의 경우:

   if(PArray[0].close<SpanBVal&&PArray[0].close<SpanAVal)
     {
      Comment("The trend is down","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

이 코드를 컴파일한 후 Expert Advisors 폴더의 탐색기 창에서 찾을 수 있으며 다음과 같습니다.

내비 - 이치 2

두 번 클릭하거나 차트에 끌어다 놓으면 일목균형 추세 식별자 창이 다음과 같이 나타납니다.

일목균형트렌드 식별자 창.

확인을 누르면 파일이 차트에 첨부됩니다:

일목 추세 식별자 첨부

다음은 전략 조건에 따라 상승추세와 하락추세 신호를 생성하는 예입니다.

상승 추세 신호:

일목 추세 식별자 상승 신호

이전 그림에서 볼 수 있듯이 차트에는 다음과 같은 주석이 나타납니다:

  • 상승 추세
  • 종가 값
  • 텐칸 센 값
  • 기준센 값
  • 센코우 스팬 A 값
  • 센코우 스팬 B 값
  • 치커우 스팬 값

이 전략은 가격 및 일목균형 요소의 값과 상승 추세 유형을 제공합니다.

하락추세 신호:

일목 추세 식별자 하향 신호

이전 그림에서 볼 수 있듯이 차트에는 다음과 같은 주석이 나타납니다:

  • 하락 추세
  • 종가 값
  • 텐칸 센 값
  • 기준센 값
  • 센코우 스팬 A 값
  • 센코우 스팬 B 값
  • 치커우 스팬 값

이 전략은 가격 및 일목균형 요소의 값과 상승 추세 유형을 제공합니다.

  • 전략 2: 일목균형 추세 강도:

이 전략에 따르면 상승추세 또는 하락추세가 강할 경우 추세의 강도를 차트에 주석으로 표시하는 매매 시스템을 만들어야 합니다. 다음 코드는 이를 수행할 수 있는 MQL5에서 이 거래 시스템을 작성하기 위한 것입니다:

//+------------------------------------------------------------------+
//|                                      Ichimoku trend strength.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanAPrevVal= Ichimoku.SenkouSpanA(-25);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(SpanAVal>SpanAPrevVal&&SpanAVal>SpanBVal)
     {
      Comment("The trend is up and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

   if(SpanAVal<SpanAPrevVal&&SpanAVal<SpanBVal)
     {
      Comment("The trend is down and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }
  }
//+------------------------------------------------------------------+

이 코드에서의 차이점은 전략의 조건입니다.

강한 상승 추세의 경우:

   if(SpanAVal>SpanAPrevVal&&SpanAVal>SpanBVal)
     {
      Comment("The trend is up and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

강한 하락 추세의 경우:

   if(SpanAVal<SpanAPrevVal&&SpanAVal<SpanBVal)
     {
      Comment("The trend is down and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

이 코드를 컴파일하면 탐색기 창에서 EA를 찾을 수 있습니다.

내비 - 이치 3

두 번 클릭하여 실행하면 다음과 같은 창을 찾을 수 있습니다.

 일목 추세 강도 창

확인을 누르면 파일이 차트에 첨부됩니다.

일목추세 강세 첨부

다음은 테스트 하면 강력한 상승 추세의 경우 생성된 신호의 예입니다.

일목 추세 강도 상승 및 강한 신호

이전 그림에서 볼 수 있듯이 차트에서 다음과 같은 값을 가진 주석을 찾을 수 있습니다:

  • 트렌드가 강해지고 있습니다.
  • 텐칸 센 값
  • 기준센 값
  • 센코우 스팬 A 이전 값
  • 센코우 스팬 A 값
  • 센코우 스팬 B 값
  • 치커우 스팬 값

여기서 우리는 상승 추세가 강하다는 것을 주석을 통해 알 수 있습니다. 다음은 강력한 하락 추세의 경우 테스트시 생성된 신호의 예입니다:

 일목 추세 강도 하락 및 강한 신호

이전 그림에서 볼 수 있듯이 차트에서 다음과 같은 값을 가진 주석을 찾을 수 있습니다:

  • 추세는 하락하고 강합니다
  • 텐칸 센 값
  • 기준센 값
  • 센코우 스팬 A 이전 값
  • 센코우 스팬 A 값
  • 센코우 스팬 B 값
  • 치커우 스팬 값

반대로 이러한 주석은 하락 추세가 강하다는 것을 알려주는 것입니다.

  • 전략 3: 일목균형 가격-키 신호:

이 전략에 따르면 가격과 기준센 간의 교차를 기반으로 강세 또는 약세 신호를 차트에 주석으로 생성하는 거래 시스템을 만들어야 합니다. 다음은 이를 위한 전체 코드입니다.

//+------------------------------------------------------------------+
//|                                     Ichimoku Price-Ki signal.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates PArray[];

   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(PArray[0].close>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

   if(PArray[0].close<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }
  }
//+------------------------------------------------------------------+

이 코드에서의 차이점:

가격 배열 생성 및 채우기,

   MqlRates PArray[];

   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

 일목균형가격-키 전략의 조건, 강세 신호의 경우,

   if(PArray[0].close>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

일목균형가격-키 전략의 조건, 약세 신호의 경우,

   if(PArray[0].close<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

이 코드를 컴파일하면 탐색기 창에서 EA를 찾을 수 있습니다:

내비 - 이치 5

EA를 실행하기 위해 차트에 드래그 앤 드롭하면 EA 창이 나타납니다.

 일목균형가격-키 신호 창

확인을 누르면 파일이 차트에 첨부됩니다:

일목균형가격-키 신호 부착

다음은 테스트시 나타나는 강세 신호의 예입니다.

일목균형가격-키 신호 강세

이전 예에서 볼 수 있듯이 차트에는 다음과 같은 설명이 있습니다:

  • 강세 신호
  • 종가 값
  • 기준센 값

이 강세 신호는 가격과 기준센의 교차점을 기반으로 생성됩니다. 다음은 테스트에서 생성된 약세 신호의 예입니다.

 일목균형가격-키 신호 약세

이전 예에서 볼 수 있듯이 차트에는 다음과 같은 설명이 있게 됩니다:

  • 약세 신호
  • 종가 값
  • 기준센 값

이 약세 신호는 가격과 기준센의 교차점을 기반으로 생성됩니다.

  • 전략 4: 일목균형 텐-키 전략:

이 전략에 따르면 텐칸센과 기준센 사이의 교차를 기반으로 강세 또는 약세 신호를 차트에 주석으로 생성하는 거래 시스템을 만들어야 합니다. 다음은 이를 위한 전체 코드입니다.

//+------------------------------------------------------------------+
//|                                       Ichimoku ten-Ki signal.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(TenkanVal>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

   if(TenkanVal<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }
  }
//+------------------------------------------------------------------+

이 코드의 차이점은 일목균형 텐-키 전략의 조건입니다.

강세 신호의 경우:

   if(TenkanVal>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

약세 신호의 경우:

   if(TenkanVal<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kaijun Sen Value is: ",KijunVal,"\n");
     }

이 코드를 컴파일한 후 탐색기에서 EA를 찾을 수 있습니다.

내비 - 이치4

두 번 클릭하면 해당 창이 나타납니다.

신호창

확인을 누르면 파일이 차트에 첨부됩니다.

일목천기 신호 부착

다음은 이 전략을 기반으로 한 테스트를 할 경우 생성된 강세 신호의 예입니다:

일목균형텐-키 신호 강세

이전 예에서 볼 수 있듯이 차트에는 다음과 같은 설명이 있게 됩니다:

  • 강세 신호
  • 덴칸센 값
  • 기준센 값

이 강세 신호는 텐칸센과 기준센 사이의 교차를 기반으로 생성됩니다. 다음은 이 전략을 기반으로 한 테스트에서 생성된 약세 신호의 예입니다:

일목균형텐-키 신호 약세   

이전 예에서 볼 수 있듯이 차트에는 다음과 같은 설명이 있게 됩니다:

  • 약세 신호
  • 덴칸센 값
  • 기준센 값

이 약세 신호는 텐칸센과 기준센 사이의 교차를 기반으로 생성됩니다.


결론

일목균형지표는 추세와 추세의 강도를 식별하고 거래와 관련한 강세 신호나 약세 신호를 얻을 수 있으므로 이 기사에서 알아본 것처럼 차트에서 한가지 이상의 관점을 판별할 수 있는 완전한 시스템으로 사용할 수 있습니다. 따라서 거래에 매우 유용하며 하나의 지표로 여러 관점에서 보고 더 나은 결정을 내림으로써 결과를 향상시킬 수 있습니다.

가능한 한 많이 다루기 위해 이 지표에 대한 많은 주제를 다루었다고 생각하지만 이 지표에 대해 더 알아봐야 할 수도 있습니다. 이는 우리가 일목균형에 대한 기본 사항을 살펴보았기 때문에 당연한 것이고 그렇게 하시는 것이 좋습니다.

우리는 일목균형과 관련한 이 기사에서 많은 주제를 다루었습니다. 우리는 그것이 무엇인지, 무엇을 측정하는지, 그것의 구조, 그리고 우리가 그것을 계산하는 방법을 일목균형 정의란 주제를 통해 배웠습니다. 우리는 다음과 같은 전략을 살펴보았고 기본 개념을 기반으로 간단한 전략을 통해 어떻게 사용할 수 있는지를 알아봤습니다.

  • 일목균형추세 식별자: 상승 추세인지 하락 추세인지 추세의 유형을 알려줍니다.
  • 일목균형추세 강도: 추세가 강할 때 알려줍니다.
  • 일목균형 가격-키 신호: 강세 또는 약세 신호가 있을 때 알려줍니다.
  • 일목균형 텐-키 신호: 또 다른 방법을 기반으로 강세 또는 약세 신호가 있을 때 알려줍니다.

우리는 앞에서 살펴본 전략을 기반으로 거래 시스템을 만드는 데 도움이 되는 단계별 청사진도 만들었습니다. MetaTrader 5에서 사용하기 위해 MQL5을 틍해 만들 수 있는 여러 전략을 실행 하기 위한 거래 시스템을 만들었습니다. 실습은 모든 교육 과정에서 매우 중요한 요소이므로 이 기사에서 배운 내용을 직접 적용해 보시기 바랍니다. 모든 사람에게 공통적으로 적합한 것은 없기 때문에 실제 계정에서 사용하기 전에 전략을 테스트할 것을 다시 한 번 말씀드립니다.

알고리즘 트레이딩은 거래에 안좋은 영향을 미칠 수 있는 인간의 감정을 피하는 데 도움이 되므로 거래를 잘하도록 하는 데 도움이 되는 놀라운 도구입니다. 따라서 승리를 가져다 주는 전략에 따라 거래를 자동으로 실행할 수 있는 도구를 찾으면 말 그대로 보물이 될 것입니다. 그 외에도 거래 시스템이 우리를 위해 작동하는 동시에 우리는 다른 유용한 일을 할 수 있는 시간을 얻게 됩니다.

이제 이 기사의 끝에 왔습니다. 거래를 향상시키는 데 도움이 되기를 바랍니다. 이와 비슷한 내용을 다루는 기사를 읽으려면 가장 인기 있는 기술 지표로 거래 시스템을 설계하는 방법에 대한 이 시리즈의 또 다른 기사를 살펴보시기 바랍니다.

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

Williams PR로 트레이딩 시스템을 설계하는 방법 알아보기 Williams PR로 트레이딩 시스템을 설계하는 방법 알아보기
이 기사는 MetaTrader 5 MQL5의 가장 인기 있는 기술 지표를 사용하여 거래 시스템을 설계하는 방법을 알아보는 시리즈의 새로운 기사입니다. 이 기사에서는 Williams의 %R 지표로 거래 시스템을 설계하는 방법에 대해 알아봅니다.
Expert Advisor 개발 기초부터 (파트 15): 웹에서 데이터 액세스 하기(I) Expert Advisor 개발 기초부터 (파트 15): 웹에서 데이터 액세스 하기(I)
MetaTrader 5를 통해 온라인 데이터에 어떻게 액세스할 수 있을까요? 웹에는 엄청난 양의 정보를 제공하는 많은 웹사이트가 있습니다. 여러분이 알아야 할 것은 어디에서 이 정보를 가장 잘 사용할 수 있을까 하는 점입니다.
CCI 지표. 업그레이드 및 새로운 기능 CCI 지표. 업그레이드 및 새로운 기능
이 기사에서는 CCI 지표를 업그레이드 하는 가능성에 대해 알아봅니다. 또한 저는 지표의 수정을 제시할 것입니다.
MFI로 거래 시스템을 설계하는 방법 알아보기 MFI로 거래 시스템을 설계하는 방법 알아보기
가장 인기 있는 기술 지표를 기반으로 거래 시스템을 설계하는 방법에 대한 시리즈 중 이번 기사에서는 새로운 기술 지표인 MFI(Money Flow Index)를 사용할 것입니다. 우리는 MFI에 대해 자세히 알아보고 MetaTrader 5에서 실행할 수 있도록 MQL5로 간단한 거래 시스템을 개발할 것입니다.