English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
캔들스틱 패턴 분석

캔들스틱 패턴 분석

MetaTrader 5트레이딩 시스템 | 5 7월 2021, 15:20
270 0
Dmitry Voronkov
Dmitry Voronkov


"오래된 것에 대한 탐구를 통해 우리는 새로운 것을 배웁니다"

소개

캔들스틱 차트 플로팅과 캔들스틱 패턴 분석은 놀라운 기술 분석 라인입니다. 캔들스틱의 장점은 데이터 내에서 모멘텀을 볼 수 있는 방식으로 데이터를 표현한다는 것입니다.

캔들스틱는 거래에 대한 생생한 마음에 그려보는 그런 그림을 제공합니다. 이 글을 읽어보고 약간의 연습을 마치면 캔들스틱은 당신의 분석 무기 중 일부가 될 것입니다. 일본 캔들스틱 차트는 다른 그래픽 방식으로 매우 어려운 금융 시장의 "내부"에 침투하는 데 도움이 될 수 있습니다. 모든 시장에 똑같이 적합합니다.

1. 캔들스틱의 종류

과거 가격을 기반으로 미래의 가격 변동을 예측하기 시작한 최초의 분석가 중 한 명은 전설적인 일본인 무네히사 호마 (Munehisa Homma)였습니다. 호마 가 쌀 시장 거래에 적용한 거래 원칙은 현재 일본과 해외에서 널리 사용되는 일본식 캔들스틱의 기술을 여는 장이 되었습니다.

캔들스틱의 구조

그림 1. 캔들스틱의 구조

캔들스틱의 구조를 고려해보세요 (그림 1). 시가와 종가의 차이를 나타내는 직사각형을 캔들스틱의 몸체라고 합니다. 몸체의 높이는 거래 기간의 시가와 종가 사이의 범위를 나타냅니다. 종가가 시가보다 높으면 캔들스틱 몸체는 흰색입니다 (그림 1a). 몸체가 검은색이면 (그림 1b) 종가가 시가보다 낮다는 의미입니다.

캔들스틱은 그림자를 가질 수 있습니다 - 상한과 하한, 그림자의 길이는 시가/종가와 최저/최고 가격 사이의 거리 (격차)에 따라 달라집니다.

캔들스틱는 차트에 하나씩 그려져 다양한 패턴을 형성합니다. 이론에 따르면 어떤 패턴은 추세가 변하고 있음을 특정 확률로 나타내거나 추세를 확인하거나 시장이 갈팡질팡하고 있다는 것을 보여줄 수 있습니다.

일반적으로 캔들스틱의 긴 몸체는 매수자 또는 매도자의 압력에 대해 알려줍니다 (캔들스틱의 색상에 따라 다름). 짧은 몸체는 강세장과 약세장 사이의 충돌이 약하다는 것을 의미합니다.

 캔들스틱 기술
 

"롱 캔들스틱 (Long Candlesticks)". 일본 캔들스틱에 관한 문헌에는 롱 캔들스틱에 대한 링크가 널리 퍼져 있습니다.
"롱 (long)"이라는 용어는 캔들스틱 본체 길이, 시가와 종가의 차이를 나타냅니다.
가장 최근의 가격 변동을 고려하여 무엇이 롱인지 아닌지를 결정하는 것이 좋습니다.
5 일 또는 10 일 전 - 올바른 결론에 도달하기에 적절한 기간입니다.
 

"숏 캔들스틱 (Short Candlesticks)". 짧은 캔들스틱의 결정은 롱 캔들스틱의 경우와 동일한 방법론을 기반으로 하여 비슷한 결과를 얻을 수 있습니다.
또한 이 두 가지 범주에 속하지 않는 많은 캔들스틱들이 있습니다.
"마루보즈 (Marubozu)". 일본어로 "마루보즈 (Marubozu)"는 대담함에 가까움을 의미합니다.
어쨌든 이 용어의 의미는 캔들스틱의 몸체에 위아래 그림자가 전혀 없거나 매우 작다는 사실을 반영합니다.

검은 마루 보즈 - 한 쪽에 그림자가 없는 긴 검은색 몸체. 이는 종종 약세 지속 패턴 또는 강세 반전 패턴의 일부가 되며 특히 하락세로 나타납니다. 긴 검은 캔들스틱는 베어장의 우세를 나타내므로 강세 특징에 대한 많은 반전 패턴이 나타나는 첫날 나타납니다.

흰색 마루 보즈 - 한쪽에 그림자가 없는 길고 하얀 몸체. 이것은 매우 강한 캔들입니다. 검은색 마루 보즈와는 달리 강세 패턴의 지속 또는 약세장 반전 패턴의 일부인 것으로 드러났습니다.
"도지 (Doji)". 캔들스틱의 몸체가 너무 작아서 시가와 종가가 같으면 이를 도지라고 합니다.
시가와 종가가 정확히 같아야 한다는 요구 사항은 데이터에 엄격한 제한을 가하며 도지 (Doji)는 거의 나타나지 않습니다.
시가와 종가 사이의 가격 차이가 몇 틱 (최소 가격 변동)을 초과하지 않는다면 이것으로 충분합니다.
"스피닝 탑 (Spinning Tops)" 는 몸체보다 위쪽 및/또는 아래쪽 그림자가 더 긴 짧은 캔들스틱입니다.
때때로 이는 "흰색"과 "검은" 도지라고도 불립니다. 코마 (Koma)는 강세장과 약세장의 우유부단함을 나타냅니다.
코마 몸체의 색과 그림자의 길이는 중요하지 않습니다. 그림자에 비해 작은 몸체가 팽이를 만드는 것입니다.
 

"행잉 맨 (Hanging man)"및 "해머 (Hammer)". 이것은 길고 낮은 그림자와 짧은 몸체를 가진 캔들스틱입니다. 몸체는 가격 범위의 최상위에 있습니다.
이 캔들스틱의 놀라운 특성은 나타나는 추세의 단계에 따라 강세 및 약세가 될 수 있다는 것입니다.
이 캔들스틱의 하락 추세는 시장에서의 지배력이 끝나가고 있다는 신호입니다. 이 경우 캔들스틱을 "해머"라고 합니다.
캔들스틱이 상승 추세 중에 나타나면 이는 가능한 끝을 나타내며, 캔들스틱은 불길한 이름인 "행잉 맨 (hanging man)"이라는 이름을 갖고 있습니다.
"어 스타트 (A start)"는 이전 긴 몸체에서 작은 몸체가 위아래로 열릴 때마다 작은 몸체가 나타날 때마다 나타나는데, 몸체의 색은 중요하지 않습니다.
이상적으로는 간격이 그림자도 포착해야 하지만 전적으로 필요한 것은 아닙니다. 별 (star)은 시장에서 지배적인 불확실성을 나타냅니다.
별은 많은 캔들스틱 패턴에 포함되며 대부분 반전됩니다.

 표 1. 캔들스틱의 종류

캔들스틱 조합 분석에 있어서 별도의 캔들스틱은 매우 중요합니다. 분석가가 별도로 사용하고 다른 캔들스틱와 결합하면 시장의 심리적 상태가 드러납니다.

2. 캔들스틱의 기본 유형 식별

2.1. 필요한 구조

캔들스틱 패턴은 별도의 캔들스틱이거나 그 중 몇 개로 구성될 수 있습니다. 캔들스틱 패턴의 경우 특정 인식 규칙이 있습니다.

예:이브닝 스타 (약세장 패턴). 상승 추세. 첫 번째와 세 번째 캔들스틱는 "롱"입니다. 별의 그림자는 짧고 색상은 중요하지 않습니다. 고전적인 패턴: 첫 번째 캔들스틱의 종가에서 별 분리, 외환 및 당일의 경우: 첫 번째 캔들스틱의 종가와 별의 시가는 동일합니다. 세 번째 캔들스틱는 첫 번째 캔들스틱의 몸체 내부에서 닫힙니다.

그래서 먼저 캔들스틱의 유형을 인식하는 방법을 배웁니다. 이를 위해 캔들스틱의 유형을 인식하고 필요한 정보를 반환하는 RecognizeCandle 함수를 작성합니다.

//+------------------------------------------------------------------+
//|   Function of candlestick type recognition                       |
//+------------------------------------------------------------------+
bool RecognizeCandle(string symbol,ENUM_TIMEFRAMES period, datetime time,int aver_period,CANDLE_STRUCTURE &res)
어디:
  • 기호 - 기호의 이름
  • 기간 – 차트 기간,
  • 시간 – 캔들스틱의 개장 시간,
  • aver_period - 평균 기간
  • res - 결과가 반환되는 구조체

캔들스틱 패턴 인식 규칙에 따라 필요한 결과를 정의해 보겠습니다.

  • 열기, 닫기, 높고 낮음;
  • 캔들스틱의 개장 시간;
  • 추세 방향;
  • 강세 또는 약세 캔들스틱;
  • 캔들스틱 몸체의 크기 – 절대 값;
  • 캔들스틱의 유형 (표 1에서).

구조를 만들어 보겠습니다.

//+------------------------------------------------------------------+
//| Structure CANDLE_STRUCTURE                                       |
//+------------------------------------------------------------------+
struct CANDLE_STRUCTURE
  {
   double            open,high,low,close; // OHLC
   datetime          time;     //Time
   TYPE_TREND       trend;    //Trend
   bool              bull;     //Bull candlestick
   double            bodysize; //Body size
   TYPE_CANDLESTICK  type;    //Type of candlestick
  };

추세와 유형은 열거 유형의 변수입니다.

//+------------------------------------------------------------------+
//|   ENUM TYPE CANDLESTICK                                          |
//+------------------------------------------------------------------+
enum TYPE_CANDLESTICK
  {
   CAND_NONE,          //Unrecognized
   CAND_MARIBOZU,       //Marubozu
   CAND_MARIBOZU_LONG, //Marubozu long
   CAND_DOJI,           //Doji
   CAND_SPIN_TOP,       //Spinning Tops
   CAND_HAMMER,         //Hammer
   CAND_INVERT_HAMMER, //Reverse hammer
   CAND_LONG,           //Long
   CAND_SHORT,          //Short
   CAND_STAR            //Star
  };
//+------------------------------------------------------------------+
//|   TYPE_TREND                                                     |
//+------------------------------------------------------------------+
enum TYPE_TREND
  {
   UPPER,   //Upward
   DOWN,    //Downward
   LATERAL  //Lateral
  }; 

RecognizeCandle 함수를 살펴 보겠습니다.

2.2. 캔들스틱 유형 인식

//+------------------------------------------------------------------+
//| Function of recognition of candlestick type                      |
//+------------------------------------------------------------------+
bool RecognizeCandle(string symbol,ENUM_TIMEFRAMES period, datetime time,int aver_period,CANDLE_STRUCTURE &res)
  {
   MqlRates rt[];
//--- Get data of previous candlesticks
   if(CopyRates(symbol,period,time,aver_period+1,rt)<aver_period)
     {
      return(false);
     }

먼저 CopyRates 함수를 사용하여 이전 aver_period +1 캔들스틱에서 데이터를 가져옵니다. 우리가 얻은 배열에 데이터가 저장되는 순서에 유의하십시오.

데이터가 오류없이 수신된 경우 반환 구조 CANDLE_STRUCTURE를 데이터로 채우기 시작합니다.

   res.open=rt[aver_period].open;
   res.high=rt[aver_period].high;
   res.low=rt[aver_period].low;
   res.close=rt[aver_period].close;
   res.time=rt[aver_period].time;

추세 정의. 추세란 무엇입니까? 이 질문에 꽤 완전한 답이 있었다면 시장의 비밀도 공개가 되었을 것입니다. 이 글에서는 이동 평균을 사용하여 추세를 결정하는 방법을 사용합니다.

MA=(C1+C2+…+Cn)/N,
여기서 C – 종가, N – 바 수.

L. 모리스 (Morris)는 그의 책 "캔들스틱 차트 작성에 대한 설명. 주식 및 선물 거래를 위한 시대를 초월한 기술"에서 단기 추세를 식별하기 위해 10주기의 이동 평균을 사용합니다. 종가가 평균 이상이면 추세는 상승하고 하락하면 하락합니다.

그것은 이렇게 생겼습니다:

//--- Define the trend direction
   double aver=0;
   for(int i=0;i<aver_period;i++)
   {
      aver+=rt[i].close;
   }
   aver=aver/aver_period;
   
   if(aver<res.close) res.trend=UPPER;
   if(aver>res.close) res.trend=DOWN;
   if(aver==res.close) res.trend=LATERAL;

다음으로 캔들이 강세 또는 약세인지 정의하고 캔들스틱 본체의 절대 값, 그림자 크기, aver_period 동안 캔들의 평균 본체 크기 및 기타 필요한 중간 데이터를 계산합니다.

//--- Define of it bullish or bearish
   res.bull=res.open<res.close;
//--- Get the absolute value of the candlestick body size
   res.bodysize=MathAbs(res.open-res.close);
//--- Get the size of shadows
   double shade_low=res.close-res.low;
   double shade_high=res.high-res.open;
   if(res.bull)
     {
      shade_low=res.open-res.low;
      shade_high=res.high-res.close;
     }
   double HL=res.high-res.low;
//--- Calculate the average body size of previous candlesticks
   double sum=0;
   for(int i=1; i<=aver_period; i++)
      sum=sum+MathAbs(rt[i].open-rt[i].close);
   sum=sum/aver_period;

이제 캔들스틱의 유형을 식별해 보겠습니다.

2.3. 캔들스틱 유형 식별 규칙

"롱" 캔들스틱. "롱"캔들스틱를 정의하려면 aver_period 이전 캔들의 평균 값에 상대적인 현재 캔들스틱의 값을 확인합니다.

(Body)> (지난 5일간 평균 몸체)*1.3

//--- long 
   if(res.bodysize>sum*1.3) res.type=CAND_LONG;

"숏" 캔들스틱. "숏"캔들스틱를 정의하려면 "롱"캔들스틱와 동일한 원칙을 사용하지만 조건이 변경됩니다.

(몸체) > (지난 X 일의 평균 몸체)*0.5

//--- short 
   if(res.bodysize<sum*0.5) res.type=CAND_SHORT;

도지 (Doji). 도지는 시가와 종가가 같을 때 발생합니다. 이것은 매우 엄격한 규칙입니다. 대부분의 데이터 유형의 경우 패턴을 찾는데 약간의 편차를 허용 할 수 있습니다. 공식을 사용하면 허용 가능한 한도 내에서 두 가격 간의 백분율 차이를 찾을 수 있습니다.

(도지 몸체) <(최고 가격부터 최저 가격까지) * 0.03

//--- doji
   if(res.bodysize<HL*0.03) res.type=CAND_DOJI;

"마루보즈 (Marubozu)". 이것은 높거나 낮지 않은 캔들스틱이거나 매우 작은 경우에 해당합니다.

(하단 그림자) < (몸체) * 0.03 또는 (상단 그림자) < (몸체) * 0.03

//--- maribozu
   if((shade_low<res.bodysize*0.01 || shade_high<res.bodysize*0.01) && res.bodysize>0)
     {
      if(res.type==CAND_LONG)
         res.type=CAND_MARIBOZU_LONG;
      else
         res.type=CAND_MARIBOZU;
     }

이 글에 대한 인디케이터를 작성할 때 "롱""마루보즈"를 분리해야 하는데 "롱"캔들스틱를 확인하는 조건을 추가해야 했습니다.

"해머 (Hammer)""행잉 맨 (Hanging Man)". 몸체는 일일 범위의 위쪽 부분에 위치하고 아래쪽 그림자는 몸체보다 훨씬 깁니다. 만약 있다면 상부 그림자의 길이도 고려할 필요가 있습니다. 몸체와 아랫 그림자의 비율은 몸체 길이와 아랫 그림자 길이의 비율로 정의됩니다.

(하부 그림자)>(몸체)*2 및 (상단 그림자)< (몸체)*0.1

//--- hammer
   if(shade_low>res.bodysize*2 && shade_high<res.bodysize*0.1) res.type=CAND_HAMMER;

"슈팅 스타 (Shooting Star)""인버티드 해머 (Inverted Hammer)" 는 "해머 (Hammer)"와 유사하지만 반대 조건을 가집니다.

(하부 그림자)<(본체)*0.1 및 (상부 그림자)> (본체)*2

//--- invert hammer
   if(shade_low<res.bodysize*0.1 && shade_high>res.bodysize*2) res.type=CAND_INVERT_HAMMER;

"스피닝 탑 (Spinning Tops)". 그림자가 몸체보다 긴 "숏"캔들스틱입니다.

(아래쪽 그림자) > (몸체) 및 (위쪽 그림자) > (몸체)

//--- spinning top
   if(res.type==CAND_SHORT && shade_low>res.bodysize && shade_high>res.bodysize) res.type=CAND_SPIN_TOP;

함수 및 구조 설명의 소스 텍스트는 첨부 파일 CandlestickType.mqh에 있습니다. 

A; 따라서 이 글에서는 Candlestick Type Color.mq5 인디케이터가 첨부되어 있으며 유형에 따라 차트에 캔들스틱를 그립니다.


 그림 2. 캔들스틱 유형 Color.mq5의 예

그래서 우리는 필요한 모든 데이터를 반환하는 함수를 만들었습니다.

이제 캔들스틱 패턴을 인식하는 인디케이터를 만들 수 있습니다.

3. 식별을 위한 캔들스틱 패턴 및 알고리즘

캔들스틱 패턴은 단일 캔들스틱 일 수도 있고 5 개 또는 6 개를 넘지 않는 여러 개의 캔들스틱로 구성 될 수 있습니다. 일본 서적에서 그들은 때때로 더 많은 수의 캔들스틱로 구성된 패턴을 언급합니다. 패턴을 고려할 순서는 그 중요성이나 예측 능력을 반영하지 않습니다. 

캔들스틱 패턴은 반전 패턴연속 패턴의 두 가지 유형으로 나뉩니다.

먼저 단순한 패턴(캔들스틱 하나)을 고려한 다음 복잡한 패턴(캔들스틱 여러 개)을 고려합니다. 패턴이 포함된 그림은 두 개의 작은 수직선으로 시작됩니다. 이 선은 단순히 시장의 이전 추세의 방향을 나타내며 패턴 간의 관계를 직접 표시하는 데 사용해서는 안됩니다.

패턴은 첫 번째 줄 - 약세장 패턴, 두 번째 - 반대 약세 패턴 (있는 경우)에 표로 표시됩니다.

3.1. 캔들스틱의 반전 패턴

3.1.1. 단일 캔들스틱으로 구성된 패턴

단일 캔들스틱에 대한 데이터를 얻습니다.

//--- calculation of candlestick patterns
   for(int i=limit;i<rates_total-1;i++)
     {
      CANDLE_STRUCTURE cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i],InpPeriodSMA,cand1))
         continue;
/* Checking patterns with one candlestick */

패턴을 인식합니다.

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
반전
해머
(강세)

매수

 하락 추세.
위쪽 그림자는 몸체의 2 배 이상 3 배 이하입니다.
낮은 그림자가 없거나 매우 짧습니다 (캔들스틱 범위의 10 % 이하).
긴 게임에서 몸체의 색은 중요하지 않습니다. 짧은 흰색 해머가 검은색 해머보다 훨씬 강합니다.
확인이 제안됩니다.

행잉 맨
(약세)

l

 상승세.
아래 그림자는 몸체의 2 배 이상 3 배 이하입니다.
상단 그림자가 없거나 매우 짧습니다 (캔들스틱 범위의 10 % 이하).
롱에서는 몸체의 색이 중요하지 않습니다. 짧은 쪽은 검은색 행잉 맨이 흰색보다 훨씬 강합니다.
확인이 제안됩니다.

      //------      
      // Inverted Hammer the bull model 
      if(cand1.trend==DOWN && // check the trend direction
         cand1.type==CAND_INVERT_HAMMER) // check the "inverted hammer"
        {
         comment=_language?"Inverted hammer";
         DrawSignal(prefix+"Inverted Hammer the bull model"+string(objcount++),cand1,InpColorBull,comment);
        }
      // Handing Man the bear model 
      if(cand1.trend==UPPER && // check the trend direction
         cand1.type==CAND_HAMMER) // check "hammer"
        {
         comment=_language?"Hanging Man";
         DrawSignal(prefix+"Hanging Man the bear model"+string(objcount++),cand1,InpColorBear,comment);
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
해머
(강세)

매수

 하락 추세.
아래 그림자는 몸체의 2 배 이상 3 배 이하입니다.
상단 그림자가 없거나 매우 짧습니다 (캔들스틱 범위의 10 % 이하).
긴 게임에서 몸체의 색은 중요하지 않습니다. 짧은 흰색 해머가 검은색 해머보다 훨씬 강합니다.
확인이 제안됩니다.
슈팅 스타
(약세)

l

 상승세.
위 그림자는 몸체보다 3 배 이상 큽니다.
낮은 그림자가 없거나 매우 짧습니다 (캔들스틱 범위의 10 % 이하).
별과 이전 캔들스틱 가격 차이.
외환: 이전 캔들의 종가와 스타의 시가가 같습니다.
몸체 색상은 중요하지 않습니다.
확인이 제안됩니다.

      //------      
      // Hammer the bull model 
      if(cand1.trend==DOWN && //check the trend direction
         cand1.type==CAND_HAMMER) // check the hammer
        {
         comment=_language?"Hammer";
         DrawSignal(prefix+"Hammer the bull model"+string(objcount++),cand1,InpColorBull,comment);
        }
      //------      
      // Shooting Star the bear model 
      if(cand1.trend==UPPER && cand2.trend==UPPER && //check the trend direction
         cand2.type==CAND_INVERT_HAMMER) // check the inverted hammer
        {
         comment=_language?"Shooting Star";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open) // close 1 less equal open 1
              {
               DrawSignal(prefix+"Shooting Star the bear model"+string(objcount++),cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close) // 2 candlestick detached from 1
              {
               DrawSignal(prefix+"Shooting Star the bear model"+string(objcount++),cand2,InpColorBear,comment);
              }
           }
        }

"슈팅 스타"의 경우 실제로 전날의 몸체를 인식하는 조건에 따라 두 개의 캔들스틱은 필요하다는 사실에 주목하고 싶습니다.

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
벨트 고정
(약세)



매수

패턴

구현되지 않음
 하락 추세.
추세 방향으로 큰 갭이 있는 캔들스틱 시가.
하얀 캔들스틱 — «마루보즈» «롱».
하얀 캔들스틱의 몸체가 이전 캔들스틱의 몸체보다 훨씬 더 큽니다.
확인이 제안됩니다.
벨트 고정
(약세)


l

패턴

구현되지 않음
 상승세.
추세 방향으로 큰 갭이 있는 캔들스틱 시가.
검은 캔들스틱 — «마루보즈» «롱».
 검은 캔들스틱의 몸체가 이전 캔들스틱의 몸체보다 훨씬 더 큽니다.
확인이 제안됩니다.

      //------      
      // Belt Hold the bull model 
      if(cand2.trend==DOWN && cand2.bull && !cand1.bull &&// check the trend direction and direction of the candlestick
         cand2.type==CAND_MARIBOZU_LONG && // check the "long" marubozu
         cand1.bodysize<cand2.bodysize && cand2.close<cand1.close) // the body of the first candlestick is smaller than the body of the second one, close of the second one is below the close of the first
        {
         comment=_language?"Belt Hold";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Belt Hold the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }
      // Belt Hold the bear model
      if(cand2.trend==UPPER && !cand2.bull && cand1.bull && // check the trend direction and direction of the candlestick
         cand2.type==CAND_MARIBOZU_LONG && // check the "long" marubozu
         cand1.bodysize<cand2.bodysize && cand2.close>cand1.close) // the body of the first candlestick is smaller than the body of the second one, close of the second one is above the close of the first
        {
         comment=_language?"Belt Hold";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Belt Hold the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
           }
        }

"슈팅 스타"의 경우와 마찬가지로, 전날의 몸체가 패턴 인식에 고려되기 때문에 두 개의 캔들스틱이 사용됩니다.

3.1.2. 두 캔들스틱을 고려하는 패턴

캔들 하나더 추가하기:

/* Checking patterns with two candlesticks */
      CANDLE_STRUCTURE cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-1],InpPeriodSMA,cand1))
         continue;

그리고 패턴 인식하기:

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
삼킴
(강세)

매수

 하락 추세.
두 번째 캔들스틱의 몸체는 첫 번째 캔들스틱의 몸체를 완전히 덮습니다.
 외환: 블랙 캔들스틱 종가와 화이트 원 매치 오픈.
그림자는 중요하지 않습니다.
확인이 제안됩니다.

삼킴
(약세)

l

 상승세.
두 번째 캔들스틱의 몸체는 첫 번째 캔들스틱의 몸체를 완전히 덮습니다.
외환: 흰색 캔들스틱 종가 및 검정색 원 경기 시작.
그림자는 중요하지 않습니다.
확인이 제안됩니다.

      //------      
      // Engulfing the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && cand2.bull && // check the trend direction and direction of the candlestick
         cand1.bodysize<cand2.bodysize) // the body of the second candlestick is larger than that of the first
        {
         comment=_language?"Engulfing";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Engulfing the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Engulfing the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
        }
      // Engulfing the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && // check the trend direction and direction of the candlestick
         cand1.bodysize<cand2.bodysize) // the body of the second candlestick is larger than that of the first
        {
         comment=_language?"Engulfing";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.open>cand2.close) //the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Engulfing the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.open>cand2.close) // close 1 less equal to open 2 or open 1 larger equal to close 2
              {
               DrawSignal(prefix+"Engulfing the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
하라미 크로스 (약세)

매수

 하락 추세.
패턴의 첫 번째 캔들스틱은 긴 검은색입니다.
도지는 음영을 포함하여 첫 번째 캔들스틱 범위 내에 있습니다.외환: 도지는 첫 번째 캔들스틱의 종가 수준에 있습니다. 도지 그림자가 짧으면 패턴을 외환의 도지 스타로 간주해야 합니다.
확인이 제안됩니다.

하라미 크로스
(약세)

l

 상승세.
패턴의 첫 번째 캔들스틱은 흰색이며 롱입니다.
도지는 음영을 포함하여 첫 번째 캔들스틱 범위 내에 있습니다.외환: 도지는 첫 번째 캔들스틱의 종가 수준에 있습니다. 도지 그림자가 짧으면 패턴을 외환의 도지 스타로 간주해야 합니다.
확인이 제안됩니다.

      //------      
      // Harami Cross the bull model
      if(cand1.trend==DOWN && !cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) // checking the "long" first candlestick and doji
        {
         comment=_language?""Harami Cross";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.close<=cand2.close && cand1.open>cand2.close) // doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close && cand1.open>cand2.close) // doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
        }
      // Harami Cross the bear model
      if(cand1.trend==UPPER && cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) //  checking the "long" candlestick and doji
        {
         comment=_language?"Harami Cross";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.close>=cand2.close && cand1.close>=cand2.close) //  doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close && cand1.open<cand2.close) //  doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
하라미
(강세)

매수

 하락 추세.
첫 번째 "롱"캔들스틱의 몸통은 두 번째 캔들스틱의 몸통을 완전히 감쌉니다.그림자는 중요하지 않습니다.
외환: 검은 캔들스틱 종가 및 흰색 경기 개장.확인이 제안됩니다.

하라미
(약세)

l

 상승세.
첫 번째 "롱"캔들스틱의 몸통은 두 번째 캔들스틱의 몸통을 완전히 감쌉니다.그림자는 중요하지 않습니다.
외환: 흰색 캔들스틱 종가 및 검정 경기 시작.
확인이 제안됩니다.

      //------      
      // Harami the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.bull &&// check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long"first candlestick
          cand2.type!=CAND_DOJI && cand1.bodysize>cand2.bodysize) // the second candlestick is not doji and the body of the first is larger than the body of the second
        {
         comment=_language?"Harami";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.close<=cand2.close && cand1.open>cand2.close) // body of the second candlestick is inside the body of the first
              {
               DrawSignal(prefix+"Harami the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close && cand1.open>cand2.close) // body of the second candlestick is inside the body of the first
              {
               DrawSignal(prefix+"Harami the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
        }
      // Harami the bear model
      if(cand1.trend==UPPER && cand1.bull && !cand2.bull &&// check the trend direction and direction of candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long" first candlestick
          cand2.type!=CAND_DOJI && cand1.bodysize>cand2.bodysize) // the second candlestick is not doji and body of the first candlestick is larger than that of the second
        {
         comment=_language?"Harami";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.close>=cand2.close && cand1.close>=cand2.close) // doji is inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close && cand1.open<cand2.close) //doji is inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
도지 스타
(강세)

매수

 하락 추세.
 패턴의 첫 번째 캔들스틱는 긴 검정색입니다.
 두 번째 세션 - 추세 방향에서 브레이크가 걸린 도지.
외환: 브레이크 없음.
도지의 그림자가 짧습니다.
확인이 제안됩니다.

도지 스타
(약세)

l

 상승세.
패턴의 첫 번째 캔들스틱은 흰색이며 롱입니다.
 두 번째 세션 - 추세 방향에서 브레이크가 걸린 도지.
외환: 브레이크 없음.
도지의 그림자가 짧습니다.
확인이 제안됩니다.

      //------      
      // Doji Star the bull model 
      if(cand1.trend==DOWN && !cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) // checking 1 "long" candlestick and 2 doji
        {
         comment=_language?"Doji Star";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open) // open of doji is below or equal to close of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);

              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close) // the body of doji is alienated from the body of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);

              }
           }
        }
      // Doji Star the bear model 
      if(cand1.trend==UPPER && cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) // checking 1 "long" candlestick and 2 doji
        {
         comment=_language?"Doji Star";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open) // // open of doji is above or equal to close of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);

              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close) // // the body of doji is alienated from the body of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);

              }
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
피어싱 패턴
(강세)

매수

 하락 추세.
두 캔들스틱 다 롱입니다.
화이트 캔들스틱 시가는 블랙 저점보다 낮습니다.
 외환: 검은 캔들스틱의 종가와 흰색의 시가가 같습니다.
흰색 캔들스틱는 검은색 캔들스틱 안에 닫혀 있으며 몸의 50% 이상을 덮고 있습니다. (주식 시장의 경우: 다크 클라우드 커버와 달리 이 요구 사항에는 예외가 없습니다.)
클래식 모델의 경우 확인이 필요하지 않으며 외환의 경우 확인이 필요합니다.
다크 클라우드 커버 (약세)

l

 상승세.
두 캔들스틱 다 롱입니다.
블랙 캔들스틱 시가는 화이트 캔들스틱 고점보다 높습니다.
외환 흰색 캔들스틱의 종가와 검정색의 시가가 같습니다.
검은 캔들스틱은 흰색 내부에서 닫히고 몸의 50 % 이상을 덮습니다.
클래식 모델의 경우 확인이 필요하지 않으며 외환의 경우 확인이 필요합니다.

            //------      
            // Piercing line the bull model 
            if(cand1.trend==DOWN  &&  !cand1.bull  &&  cand2.trend==DOWN  &&  cand2.bull && // check the trend direction and direction of the candlestick
               (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
               cand2.close>(cand1.close+cand1.open)/2)// close of the second is above the middle of the first
              {
               comment=_language?"Piercing Line";
               if(_forex)// if forex
                 {
                  if(cand1.close>=cand2.open && cand2.close<=cand1.open)
                    {
                     DrawSignal(prefix+"Gleam in clouds"+string(objcount++),cand1,cand2,InpColorBull,comment);
                    }
                 }
               else
                 {
                  if(cand2.open<cand1.low && cand2.close<=cand1.open) // open of the second candlestick is below LOW of the first, 
                    {
                     DrawSignal(prefix+"Piercing Line"+string(objcount++),cand1,cand2,InpColorBull,comment);
                    }
                 }
              }
            // Dark Cloud Cover the bear model 
            if(cand1.trend==UPPER  &&  cand1.bull  &&  cand2.trend==UPPER && !cand2.bull && // check the trend direction and direction of the candlestick
               (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
               cand2.close<(cand1.close+cand1.open)/2)// close 2 is below the middle of the body of 1
              {
               comment=_language?"Dark Cloud Cover";
               if(_forex)// if forex
                 {
                  if(cand1.close<=cand2.open && cand2.close>=cand1.open)
                    {
                     DrawSignal(prefix+"Dark Cloud Cover"+string(objcount++),cand1,cand2,InpColorBear,comment);
                     
                    }
                 }
               else
                 {
                  if(cand1.high<cand2.open && cand2.close>=cand1.open)
                    {
                     DrawSignal(prefix+"Dark Cloud Cover"+string(objcount++),cand1,cand2,InpColorBear,comment);
                     
                    }
                 }
              }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
회의 라인
(강세)

매수

패턴

구현되지 않음
 하락 추세.
 패턴의 첫 번째 캔들스틱는 긴 검정색입니다.
 흰색 캔들스틱 시가는 큰 갭이 있으며 검은 캔들스틱 저점보다 낮습니다.
 두 캔들스틱의 종가는 동일합니다.
 흰색 캔들스틱의 몸체가 검은 캔들스틱의 몸체보다 큽니다.
확인이 제안됩니다.
회의 라인
(약세)

l

패턴

구현되지 않음
 상승세.
패턴의 첫 번째 캔들스틱은 흰색이며 롱입니다.
 블랙 캔들스틱 시가는 큰 갭이 있고 화이트 캔들스틱 고점보다 위에 있습니다.
 두 캔들스틱의 종가는 동일합니다.
 검은 캔들스틱의 몸체가 흰색 캔들스틱의 몸체보다 큽니다.
확인이 제안됩니다.

      // Meeting Lines the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && cand2.bull && // check the trend direction and the candlestick direction
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close==cand2.close && cand1.bodysize<cand2.bodysize && cand1.low>cand2.open) // close prices are equal, size of the first one is less than of the second one, open of the second is below Low of the first
        {
         comment=_language?"Meeting Lines";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Meeting Lines the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }
      // Meeting Lines the bear model 
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && // check the trend direction and the candlestick direction
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close==cand2.close && cand1.bodysize<cand2.bodysize && cand1.high<cand2.open) // // close prices are equal, size of first is less than of second, open of the second is above High of the first
        {
         comment=_language?"Meeting Lines";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Meeting Lines the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
낮은 매칭
(강세)

매수

패턴

구현되지 않음
 하락 추세.
 패턴의 첫 번째 캔들스틱은 반드시 길어야 하는 것은 아닙니다.
 두 번째 캔들스틱 시가는 첫 번째 캔들스틱 내부에 있습니다.
두 가격의 종가가 동일합니다.
낮은 그림자가 없거나 매우 짧습니다.
확인이 제안됩니다.

      //------      
      // Matching Low the bull model 
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && !cand2.bull && // check the trend direction and the candlestick direction
         cand1.close==cand2.close && cand1.bodysize>cand2.bodysize) // close prices are equal, size of the first one is larger than of the second
        {
         comment=_language?"Matching Low";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Matching Low the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
호밍 피죤<br1(강세)
강세장의 호밍 피죤

매수

패턴

구현되지 않음
 하락 추세.
 패턴의 첫 번째 캔들스틱은 반드시 길어야 하는 것은 아닙니다.
 두 번째 캔들스틱 시가는 첫 번째 캔들스틱 내부에 있습니다.
두 가격의 종가가 동일합니다.
낮은 그림자가 없거나 매우 짧습니다.
확인이 제안됩니다.

      //------      
      // Homing Pigeon the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && !cand2.bull && // check the trend direction and the candlestick direction
        (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long" candlestick
         cand1.close<cand2.close && cand1.open>cand2.open) // body of the second is inside that of the first candlestick
        {
         comment=_language?"Homing Pigeon";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Homing Pigeon the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);   
           }
        }

 3.1.3. 세 개의 캔들스틱로 구성된 패턴

/* Checking patterns with three candlesticks */
      CANDLE_STRUCTURE cand3;
      cand3=cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-2],InpPeriodSMA,cand1))
         continue;
패턴의 이름  주문  클래식 패턴 외환 패턴 인식
버려진 아기
(강세)

 

매수

패턴

구현

 이것은 드물지만 중요한 반전 패턴입니다.
하락 추세.
 패턴의 첫 번째 캔들스틱은 긴 검정색입니다.
 두 번째 캔들스틱은 갭이 있는 도지이고 캔들스틱 본체 사이뿐만 아니라 그림자 사이에도 갭이 있습니다.
세 번째 캔들스틱은 그림자와 첫 번째 캔들스틱의 몸체 내부의 종가 사이에 같은 간격이있는 "롱" 흰색 캔들스틱입니다.

  버려진 아기
(약세)

 

l

  패턴

구현

 이것은 드물지만 중요한 반전 패턴입니다.
상승세.
 패턴의 첫 번째 캔들은 흰색이며 롱입니다.
 두 번째 캔들스틱은 갭이 있는 도지이고 캔들스틱 본체 사이뿐만 아니라 그림자 사이에도 갭이 있습니다.
세 번째 캔들스틱는 그림자와 첫 번째 캔들스틱의 몸체 내부의 종가 사이에 같은 간격이있는 "롱" 검은색 캔들스틱입니다.

      //------      
      // The Abandoned Baby, the bullish model
      if(cand1.trend==DOWN && !cand1.bull && cand3.trend==DOWN && cand3.bull && // check direction of trend and direction of candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // check of "long" candlestick
         cand2.type==CAND_DOJI && // check if the second candlestick is Doji
         cand3.close<cand1.open && cand3.close>cand1.close) // the third one is closed inside of body of the first one
        {
         comment=_language?"Abandoned Baby (Bull)":"Abandoned Baby";
         if(!_forex)// if it's not forex
           {
            if(cand1.low>cand2.high && cand3.low>cand2.high) // gap between candlesticks
              {
               DrawSignal(prefix+"Abandoned Baby the bull model"+string(objcount++),cand1,cand1,cand3,InpColorBull,comment);
              }
           }
        }
      // The Abandoned Baby, the bearish model
      if(cand1.trend==UPPER && cand1.bull && cand3.trend==UPPER && !cand3.bull && // check direction of trend and direction of candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // check of "long" candlestick
         cand2.type==CAND_DOJI && // check if the second candlestick is Doji
         cand3.close>cand1.open && cand3.close<cand1.close) // // the third one is closed inside of body of the second one
        {
         comment=_language?"Abandoned Baby (Bear)":"Abandoned Baby";
         if(!_forex)// if it's not forex
           {
            if(cand1.high<cand2.low && cand3.high<cand2.low) // gap between candlesticks
              {
               DrawSignal(prefix+"Abandoned Baby the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }
패턴의 이름  주문 클래식 패턴 외환 패턴 인식
모닝 스타
(강세)

매수


 하락 추세.
 첫 번째와 세 번째 세션은 "롱" 캔들스틱입니다.
별의 그림자는 짧고 색상은 중요하지 않습니다.
첫 번째 캔들스틱의 종가에서 별이 분리됩니다.
외환: 첫 캔들스틱의 종가와 스타의 시가가 동일합니다.
세 번째 캔들스틱는 첫 번째 캔들스틱의 몸체 내부에서 닫힙니다.
 이브닝 스타
(bearish
)

 

l

 

 

 상승세.
 첫 번째와 세 번째 세션은 "롱" 캔들스틱입니다.
별의 그림자는 짧고 색상은 중요하지 않습니다.
첫 번째 캔들스틱의 종가에서 별이 분리됩니다.
외환: 첫 캔들스틱의 종가와 스타의 시가가 동일합니다.
세 번째 캔들스틱는 첫 번째 캔들스틱의 몸체 내부에서 닫힙니다.
      // Morning star the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand3.trend==DOWN && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_SHORT && // checking "short"
         cand3.close>cand1.close && cand3.close<cand1.open) // the third candlestick is closed inside the body of the first one
        {
         comment=_language?"Morning star";
         if(_forex)// if forex
           {
            if(cand2.open<=cand1.close) // open of the second candlestick is below or equal to close of the first one
              {
               DrawSignal(prefix+"Morning star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else // another market
           {
            if(cand2.open<cand1.close && cand2.close<cand1.close) // separation of the second candlestick from the first one
              {
               DrawSignal(prefix+"Morning star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Evening star the bear model
      if(cand1.trend==UPPER && cand1.bull && cand3.trend==UPPER && !cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_SHORT && // checking "short"
         cand3.close<cand1.close && cand3.close>cand1.open) // the third candlestick is closed inside the body of the first one
        {
         comment=_language?"Evening star";
         if(_forex)// if forex
           {
            if(cand2.open>=cand1.close) // open of the second is above or equal to close of the first one
              {
               DrawSignal(prefix+"Evening star the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else // another market
           {
            if(cand2.open>cand1.close && cand2.close>cand1.close) //  separation of the second candlestick from the first one
              {
               DrawSignal(prefix+"Evening star the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }
패턴의 이름  주문 클래식 패턴 외환 패턴 인식
모닝 도지 스타
(강세)

매수



 하락 추세.
 패턴의 첫 번째 캔들스틱는 긴 검정색입니다.
 두 번째 세션 - 추세 방향에서 브레이크가 걸린 도지.
외환: 브레이크 없음.
도지의 그림자가 짧습니다.
세 번째 캔들스틱는 첫 번째 캔들스틱의 몸체 내부에서 닫힙니다.
이브닝 도지 스타
(약세)

l



 상승세.
패턴의 첫 번째 캔들스틱은 흰색이며 롱입니다.
 두 번째 세션 - 추세 방향에서 브레이크가 걸린 도지.
외환: 브레이크 없음.
도지의 그림자가 짧습니다.
확인이 제안됩니다.
      //------      
      // Morning Doji Star the bull model 
      if(cand1.trend==DOWN && !cand1.bull && cand3.trend==DOWN && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_DOJI && // checking "doji"
         cand3.close>cand1.close && cand3.close<cand1.open) // third cand. is closed inside body of first
        {
         comment=_language?"Morning Doji Star";
         if(_forex)// if forex
           {
            if(cand2.open<=cand1.close) // open of doji is below or equal to close of the first
              {
               DrawSignal(prefix+"Morning Doji Star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else // another market
           {
            if(cand2.open<cand1.close) // separation of doji from the first
              {
               DrawSignal(prefix+"Morning Doji Star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Evening Doji Star the bear model
      if(cand1.trend==UPPER && cand1.bull && cand3.trend==UPPER && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_DOJI && // checking "doji"
         cand3.close<cand1.close && cand3.close>cand1.open) // third cand. is closed inside body of first
        {
         comment=_language?"Evening Doji Star";
         if(_forex)// if forex
           {
            if(cand2.open>=cand1.close) // open of doji is above or equal to close of the first
              {
               DrawSignal(prefix+"Evening Doji Star the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else // another market
           {
            if(cand2.open>cand1.close) // separation of doji from the first
               // check close 2 and open 3
              {
               DrawSignal(prefix+"Evening Doji Star the bear model"+string(objcount++),cand1,cand3,cand3,InpColorBear,comment);
              }
           }
        }
패턴의 이름 주문 클래식 패턴 외환 패턴 인식
약세 업사이드 갭 투 크로우즈

l


패턴

구현되지 않음
 상승세.
첫 번째 캔들은 "롱" 흰색입니다.
흰색과 검은색 캔들스틱 사이의 간격입니다.
세 번째 캔들스틱은 두 번째 캔들스틱보다 높게 열리며 휩싸입니다.
확인을 제안합니다.
패턴의 의미: 4 차 세션에서 가격이 상승하지 않으면 가격이 하락할 것으로 예상해야 합니다.
투 크로우즈
(약세)

l


패턴

구현되지 않음
 상승세.
패턴의 첫 번째 캔들스틱은 흰색이며 롱입니다.
흰색과 첫 번째 검은 캔들스틱 사이의 간격.
세 번째 캔들스틱는 검은색이며 반드시 "롱"상태입니다. 두 번째 캔들스틱 내부 또는 위에 열리고 흰색 캔들스틱 내부 또는 아래에서 닫혀 간격을 덮습니다.
확인을 제안합니다.
두 번째 까마귀 (세 번째 캔들스틱)가 흰색 캔들스틱을 삼키면 확인이 필요하지 않습니다.
      //------      
      // Upside Gap Two Crows the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && cand3.trend==UPPER && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close<cand2.close && cand1.close<cand3.close && // separation of the second and third from the first one
         cand2.open<cand3.open && cand2.close>cand3.close) // the third candlestick engulfs second
        {
         comment=_language?"Upside Gap Two Crows";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Upside Gap Two Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }
      //------      
      // Two Crows the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && cand3.trend==UPPER && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG|| cand1.type==CAND_MARIBOZU_LONG) &&(cand3.type==CAND_LONG|| cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close<cand2.close && // separation of the second from the first one
         cand3.open>cand2.close && // third one opens higher than close of the second
         cand3.close<cand1.close) // third one closes than close of the first
        {
         comment=_language?"Two Crows";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Two Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
남쪽 세 개의 별
(강세)

매수



 하락 추세.
첫 번째 캔들스틱는 긴 그림자가 있는 긴 검은색 날입니다.
두 번째 캔들은 첫 번째 캔들보다 짧고 저가는 첫 번째 캔들보다 낮습니다.
세 번째 캔들스틱는 작은 검은색 마루 보즈 또는 별이며, 두 번째 세션과 관련된 내부 날입니다.
확인이 제안됩니다.
심의
(약세)

l



 상승세.
종가가 더 높은 세 개의 흰색 캔들스틱. 처음 두 개의 캔들스틱는 긴 날입니다.
각 캔들스틱의 시가는 앞의 캔들스틱의 몸체 안에 있습니다.
 외환: 흰색 캔들스틱의 시가/종가가 동일합니다.
세 번째 캔들스틱는 두 번째 캔들스틱의 종가 수준에서 열립니다.
 세 번째 캔들스틱는 별 또는 팽이입니다.
확인이 제안됩니다.

      //------      
      // Three Star in the South the bull model

      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_MARIBOZU || cand3.type==CAND_SHORT) && // checking the "long" candlestick and marubozu
         cand1.bodysize>cand2.bodysize && cand1.low<cand2.low && cand3.low>cand2.low && cand3.high<cand2.high)
        {
         comment=_language?"Three Star in the South";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Three Star in the South the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
         else // another market
           {
            if(cand1.close<cand2.open && cand2.close<cand3.open) // open is inside the previous candlestick
              {
               DrawSignal(prefix+"Three Star in the South the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Deliberation the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         (cand3.type==CAND_SPIN_TOP || cand3.type==CAND_SHORT)) // the third candlestick is a star or spinning top
        {
         comment=_language?"Deliberation";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Deliberation the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
         else // another market
           {
            if(cand1.close>cand2.open && cand2.close<=cand3.open) // open is inside the previous candlestick
               // check close 2 and open 3
              {
               DrawSignal(prefix+"Deliberation the bear model"+string(objcount++),cand1,cand3,cand3,InpColorBear,comment);
              }
           }
        }

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
세 명의 화이트 솔져
(강세)

매수



 하락 추세.
 세 개의 긴 흰색 캔들스틱은 차례로 나타나고 각각의 종가가 이전보다 높습니다.
각 병사의 시가는 이전 캔들스틱 몸체 내부에 있습니다.
 외환: 땜납의 마감/오프닝은 동일합니다..
 병사들 (솔져)의 위쪽 그림자가 짧습니다.
확인이 필요하지 않습니다.
검은 까마귀 세 마리
(약세)

l


패턴

구현되지 않음
 상승세.
 세 개의 긴 검은 캔들스틱이 잇달아 나타나며 종가가 종전보다 낮다.
각 까마귀의 시가는 이전 캔들스틱 내부에 있습니다.
외환: 패턴 동일한 세 까마귀에 해당합니다.
 까마귀의 아래 그림자가 짧습니다.
확인이 필요하지 않습니다.

      //------      
      // Three White Soldiers the bull model
      if(cand1.trend==DOWN && cand1.bull && cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick and marubozu
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG)) // checking the "long" candlestick and marubozu
        {
         comment=_language?"Three White Soldiers";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Three White Soldiers the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
         else // another market
           {
            if(cand1.close>cand2.open && cand2.close>cand3.open) // open inside the previous candlestick
              {
               DrawSignal(prefix+"Three White Soldiers the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Black Crows the bear model
      if(cand1.trend==UPPER && !cand1.bull && !cand2.bull && !cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick and marubozu
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick and marubozu
         cand1.close<cand2.open && cand2.close<cand3.open)
        {
         comment=_language?"Three Black Crows";
         if(!_forex) // non-forex
           {
               DrawSignal(prefix+"Three Black Crows the bear model"+string(objcount++),cand1,cand3,cand3,InpColorBear,comment);
           }
        }

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
쓰리 아웃사이드 업
(강세)

매수



 하락 추세.
먼저 집어삼키는 (강세) 패턴이 형성됩니다. 두 번째 캔들스틱의 몸체가 첫 번째 캔들스틱의 몸체를 완전히 덮습니다.
 외환: 검은 캔들스틱의 종가와 흰색 캔들스틱의 시가가 같습니다.
그림자는 중요하지 않습니다.
 그리고 셋째 날에는 더 높은 종가가 있습니다.
확인이 필요하지 않습니다. 패턴 자체는 황소를 확인하는 것입니다.
쓰리 아웃 사이드 다운
(약세)

l



 상승세.
첫 번째 캔들스틱 (약세) 패턴이 형성됩니다. 두 번째 캔들스틱의 몸체가 첫 번째 캔들스틱의 몸체를 완전히 덮습니다.
외환: 흰색 캔들스틱 종가 및 첫 번째 검정색 원 경기 시작.
그림자는 중요하지 않습니다.
 그리고 셋째 날에는 종가가 낮아집니다.
확인이 필요하지 않습니다. 패턴 자체가 곰을 휩쓸고 있다는 확인입니다.

      //------      
      // Three Outside Up the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         cand2.bodysize>cand1.bodysize && // the body of the second candlestick is larger than that of the first
         cand3.close>cand2.close) // the third day is closed higher than the second
        {
         comment=_language?"Three Outside Up";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Outside Down the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         cand2.bodysize>cand1.bodysize && // the body of the second candlestick is larger than that of the first
         cand3.close<cand2.close) // the third day is closed lower than the second
        {
         comment=_language?"Three Outside Down";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.open>cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.open>cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
쓰리 인사이드 업
(강세)

매수



 하락 추세.
처음 두 세션에서 하라 미 (강세) 패턴이 형성됩니다. 작은 흰색 몸체가 큰 검은색 몸체에 휩싸입니다..
세 번째 세션의 종가는 처음 두 캔들스틱 중 고가보다 높습니다.
확인은 필요하지 않습니다. 패턴 자체는 황소 Harami에 대한 확인입니다.
쓰리 인사이드 다운
(약세)

l



 상승세.
 처음 두 세션에서는 하라 미 (약세) 패턴이 형성됩니다. 작은 검은색 몸체가 큰 흰색 몸체에 휩싸입니다.
 세 번째 세션의 종가는 처음 두 캔들스틱 중 저점보다 낮습니다.
확인은 필요하지 않습니다. 패턴 자체는 곰하라 미에게 확인입니다.

      //------      
      // Three Inside Up the bull model
      if(cand1.trend==DOWN  &&  !cand1.bull  &&  cand2.bull && cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  //checking the "long" candlestick 
         cand1.bodysize>cand2.bodysize && // the body of the first candlestick is larger than that of the second one
         cand3.close>cand2.close) // the third day closes higher than the second
        {
         comment=_language?"Three Inside Up";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.close<=cand2.close && cand1.open>cand2.close) // the body of the second candlestick is inside the body of the first one
              {
               DrawSignal(prefix+"Three Inside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close && cand1.open>cand2.close) // the body of the second candlestick is inside the body of the first one
              {
               DrawSignal(prefix+"Three Inside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Inside Down the bear model
      if(cand1.trend==UPPER && cand1.bull && !cand2.bull && !cand3.bull &&//check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick 
         cand1.bodysize>cand2.bodysize && // the body of the first candlestick is larger than that of the second one
         cand3.close<cand2.close) // the third day closes lower than the second
        {
         comment=_language?"Three Inside Down";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.close>=cand2.close && cand1.close>=cand2.close) // inside the body of the first candlestick
              {
               DrawSignal(prefix+"Three Inside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close && cand1.open<cand2.close) // inside the body of the first candlestick
              {
               DrawSignal(prefix+"Three Inside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
쓰리 스타즈
(강세)

매수



 하락 추세.
첫 도지와 이전 캔들스틱 사이의 간격은 필요하지 않습니다
 세 개의 캔들스틱이 모두 도지입니다.
 중간 도지는 위아래로 갭이 있습니다.
 외환: 세 도지가 모두 한 수준에 있습니다.
확인이 제안됩니다.
쓰리 스타즈
(약세)

l



 상승세.
첫 도지와 이전 캔들스틱 사이의 간격은 필요하지 않습니다
 세 개의 캔들스틱이 모두 도지입니다.
 중간 도지는 위아래로 갭이 있습니다.
 외환: 세 도지가 모두 한 수준에 있습니다.
확인이 제안됩니다.

      //------      
      // Three Stars the bull model
      if(cand1.trend==DOWN  && // check the trend direction
         cand1.type==CAND_DOJI && cand2.type==CAND_DOJI && cand3.type==CAND_DOJI) // check doji
        {
         comment=_language?"Bullish Three Stars";
         if(_forex)// if forex
           {
               DrawSignal(prefix+"Three Stars the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
         else
           {
            if(cand2.open!=cand1.close && cand2.close!=cand3.open) // the second candlestick is on a different level
              {
               DrawSignal(prefix+"Three Stars the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Stars the bear model
      if(cand1.trend==UPPER && // check the trend direction
         cand1.type==CAND_DOJI && cand2.type==CAND_DOJI && cand3.type==CAND_DOJI) // check doji
        {
         comment=_language?"Bearish Three Stars";
         if(_forex)// if forex
           {
               DrawSignal(prefix+"Three Stars the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
         else
           {
            if(cand2.open!=cand1.close && cand2.close!=cand3.open) //  the second candlestick is on a different level
              {
               DrawSignal(prefix+"Three Stars the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
동일한 세 마리의 까마귀
(약세)

매도



 상승세.
 세 개의 긴 검은 캔들스틱이 잇달아 나타나며 종가가 종전보다 낮다.
각 까마귀의 시가는 이전 캔들스틱의 종가와 거의 같습니다.
까마귀의 아래 그림자가 짧습니다.
확인이 필요하지 않습니다.

      // Identical Three Crows the bear model
      if(cand1.trend==UPPER && !cand1.bull && !cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick or marubozu
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG)) // checking the "long" candlestick or marubozu
        {
         comment=_language?"Identical Three Crows";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Identical Three Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
         else // a different market
           {
            if(cand1.close>=cand2.open && cand2.close>=cand3.open) // open is less or equal to close of the preceding candlestick
              {
               DrawSignal(prefix+"Identical Three Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
유니크 쓰리 리버 바텀
(강세)

매수


패턴

구현되지 않음
 하락 추세.
모델의 첫 번째 캔들스틱은 짧은 그림자가 있는 긴 검정색입니다.
둘째 날 하라미가 등장하나 검은 몸체와 함께 등장합니다.
둘째 날의 낮은 그림자는 새로운 저점을 제공합니다.
셋째 날은 중간보다 낮은 짧은 화이트 데이입니다.
확인은 필요하지 않지만 바람직합니다.

      // Unique Three River Bottom the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && cand3.bull && // check the trend direction and the candlestick direction
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand3.type==CAND_SHORT && // check the "long" candlestick or "marubozu" third short day
         cand2.open<cand1.open && cand2.close>cand1.close && cand2.low<cand1.low && // body of the second candlestick is inside the first, Low is lower than the first
         cand3.close<cand2.close) // the third candlestick is below the second
        {
         comment=_language?"Unique Three River Bottom";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Unique Three River Bottom the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
        }

3.1.4. 네 개의 캔들스틱으로 구성된 패턴

/* Checking patterns with four candlesticks */      
      CANDLE_STRUCTURE cand4;
      cand4=cand3;
      cand3=cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-3],InpPeriodSMA,cand1))
         continue

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
숨겨진 아기 제비 (강세)


매수

패턴

구현되지 않음
 하락 추세.
처음 두 세션은 두 개의 검은색 마루보즈입니다.
세 번째 세션은 브레이크 다운으로 시작되지만 두 번째 캔들스틱 내부에서 거래가 진행되어 긴 위쪽 그림자가 형성됩니다.
 네 번째 검은 캔들스틱이 그림자를 포함하여 세 번째 캔들스틱을 완전히 덮습니다.
확인이 필요하지 않습니다.

      //------      
      // Concealing Baby Swallow the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand3.bull && !cand4.bull && // check the trend direction and the candlestick direction
         cand1.type==CAND_MARIBOZU_LONG && cand2.type==CAND_MARIBOZU_LONG && cand3.type==CAND_SHORT && // checking "marubozu"
         cand3.open<cand2.close && cand3.high>cand2.close && // third candlestick with a gap down, High is inside the 2nd candlestick
         cand4.open>cand3.high && cand4.close<cand3.low) // the fourth candlestick completely engulfs the third
        {
         comment=_language?"Concealing Baby Swallow";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Concealing Baby Swallow the bull model"+string(objcount++),cand1,cand2,cand4,InpColorBull,comment);
           }
        }

3.1.5. 두 개의 캔들스틱으로 구성된 패턴

/* Checking patterns with five candlesticks */
      CANDLE_STRUCTURE cand5;
      cand5=cand4;
      cand4=cand3;
      cand3=cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-4],InpPeriodSMA,cand1))
         continue

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
브레이크어웨이
(강세)

매수

패턴

구현되지 않음
 하락 추세.
 처음 두 세션 — "롱" 검은 캔들스틱와 간격이 있는 "숏"검은 캔들스틱 (별)
 세 번째 세션은 "숏"이며 모든 색상이 될 수 있습니다.
 네 번째 캔들은 "숏"블랙입니다.
 다섯 번째는 "롱" 흰색이며 갭 안에 닫기가 있습니다.
확인이 제안됩니다.
브레이크어웨이
(약세)

l

패턴

구현되지 않음
 상승세.
 처음 두 세션 — "롱" 흰색 캔들스틱와 간격이 있는 "숏" 흰색 캔들스틱 (별).
세 번째 세션은 "숏"캔들스틱이며 모든 색상이 될 수 있습니다.
넷째 날은 "숏" 흰색입니다.
 다섯 번째는 "롱" 검정색이며 갭 안에 닫기가 있습니다.
확인이 제안됩니다.

      //------      
      // Breakaway the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand4.bull && cand5.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG|| cand1.type==CAND_MARIBOZU_LONG) &&  //checking the "long" first candlestick
         cand2.type==CAND_SHORT && cand2.open<cand1.close && // the second is "short", separated from the first
         cand3.type==CAND_SHORT && cand4.type==CAND_SHORT && // third and fourth are "short"
         (cand5.type==CAND_LONG || cand5.type==CAND_MARIBOZU_LONG) && cand5.close<cand1.close && cand5.close>cand2.open) // fifth is "long" white with close inside the gap
        {
         comment=_language?"Bullish Breakaway";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Breakaway the bull model"+string(objcount++),cand1,cand2,cand5,InpColorBull,comment);
           }
        }
      // Breakaway the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && cand4.bull && !cand5.bull && //  check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG|| cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long" first candlestick
         cand2.type==CAND_SHORT && cand2.open<cand1.close && // the second is "short", separated from the first
         cand3.type==CAND_SHORT && cand4.type==CAND_SHORT && // third and fourth are "short"
         (cand5.type==CAND_LONG || cand5.type==CAND_MARIBOZU_LONG) && cand5.close>cand1.close && cand5.close<cand2.open) // fifth is "long" black with close inside the gap
        {
         comment=_language?"Bearish Breakaway";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Breakaway the bear model"+string(objcount++),cand1,cand2,cand5,InpColorBear,comment);
           }
        }

3.2. 연속 패턴

지속 패턴은 시장이 쉬고있는 시간입니다.

모델이 무엇이든, 아무것도 변경하지 않더라도 현재 포지션에 대한 결정을 내려야 합니다.

3.2.1. 단일 캔들스틱로 구성된 패턴

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
킥킹
(강세)

매수

패턴

구현되지 않음
 검은색 "마루보즈" 다음에 흰색 "마루보즈"가 옵니다.
몸체 사이에 갭이 있어요.
확인이 필요하지 않습니다.
킥킹
(약세)

l

패턴

구현되지 않음
 흰색 "마루보즈" 다음에 검은색 "마루보즈"가 옵니다.
몸체 사이에 갭이 있어요.
확인이 필요하지 않습니다.

      //------      
      // Kicking the bull model
      if(!cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
         cand1.type==CAND_MARIBOZU_LONG && cand2.type==CAND_MARIBOZU_LONG && // two marubozu
         cand1.open<cand2.open) // a gap between them
        {
         comment=_language?"Bullish Kicking";
         if(!_forex)// if non-forex
           {
            DrawSignal(prefix+"Kicking the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }
      // Kicking the bear model
      if(cand1.bull && !cand2.bull && // check the trend direction and direction of the candlestick
         cand1.type==CAND_MARIBOZU_LONG && cand2.type==CAND_MARIBOZU_LONG && // two marubozu
         cand1.open>cand2.open) // a gap between them
        {
         comment=_language?"Bearish Kicking";
         if(!_forex)// if non-forex
           {
            DrawSignal(prefix+"Kicking the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
           }
        }

3.2.2. 두 개의 캔들스틱으로 구성된 패턴

패턴의 이름  주문 클래식 패턴 외환 패턴 인식
 넥 라인에 약세

 

l

   패턴

구현되지 않음
 하락 추세.
패턴의 첫 번째 캔들스틱은 긴 검은색입니다.
 흰색 캔들스틱는 검은색 캔들스틱 저점 아래에서 마감되고 검은색 캔들스틱 약 저점에서 마감됩니다.
 흰색 캔들스틱 - 반드시 롱인 것은 아닙니다.
확인이 제안됩니다.
넥 라인
(약세)

l

패턴

구현되지 않음
 하락 추세.
패턴의 첫 번째 캔들스틱은 긴 검은색입니다.
 흰색 캔들스틱은 검은색 캔들스틱 저점 아래에서 시작되고 검은색 캔들스틱 종가보다 약간 높게 마감됩니다.
 흰색 캔들스틱 - 반드시 롱인 것은 아닙니다.
흰색 캔들스틱의 몸체가 검은 캔들스틱의 몸체보다 작습니다.
 하얀 캔들스틱의 위쪽 그림자가 매우 작습니다.
확인이 제안됩니다.
추력 선
(약세)

l


패턴

구현되지 않음
 하락 추세.
패턴의 첫 번째 캔들스틱은 긴 검은색입니다.
 흰색 캔들스틱는 검은색 캔들스틱 저점 아래에서 시작되고 검은색 캔들스틱 종가보다 약간 높게 마감됩니다.
 흰색 캔들스틱 - 반드시 롱인 것은 아닙니다.
확인이 제안됩니다.

이 세 가지 모델은 공통점이 많기 때문에 구현 방식이 다소 다르므로 주목 해주세요.

      //------ Check On Neck patterns
      if(cand1.trend==DOWN && !cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG)) // the first candlestick is "long"
        {
         // On Neck Line the bear model
         if(cand2.open<cand1.low && cand2.close==cand1.low) // the second candlestick opens below 1st and closes at Low of the first
           {
            comment=_language?"On Neck Line Bear";
            if(!_forex)// if not forex
              {
               DrawSignal(prefix+"On Neck Line the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            // In Neck Line the bear model
            if(cand1.trend==DOWN && !cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
               (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // the first candlestick is "long"
               cand1.bodysize>cand2.bodysize && // body of 2nd candlestick is smaller than that of the 1st one
               cand2.open<cand1.low && cand2.close>=cand1.close && cand2.close<(cand1.close+cand1.bodysize*0.01)) // the second candlestick opens lower than first and closes a little higher than Close of the first
              {
               comment=_language?"In Neck Line Bear";
               if(!_forex)// если не форекс
                 {
                  DrawSignal(prefix+"In Neck Line the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
                 }
              }
            else
              {
               // Thrusting Line the bear model
               if(cand1.trend==DOWN && !cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
                  (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // the first candlestick is "long"
                  cand2.open<cand1.low && cand2.close>cand1.close && cand2.close<(cand1.open+cand1.close)/2) //  the second candlestick opens lower than first and closes a higher than Close of the first but lower than middle
                 {
                  comment=_language?"Thrusting Line Bea";
                  if(!_forex)// if non-forex
                    {
                     DrawSignal(prefix+"Thrusting Line the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
                    }
                 }
              }
           }
        }

3.2.3. 세 개의 캔들스틱로 구성된 패턴

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
업사이드 갭 세 가지 방법
(약세)


매수


패턴

구현되지 않음
 상승세.
 처음 두 개의 캔들스틱는 간격이 있는 두 개의 "롱" 흰색 캔들스틱입니다.
 세 번째 캔들스틱는 두 번째 캔들스틱 내부에서 열리고 갭을 메웁니다.
확인이 제안됩니다.
업사이드 갭 세 가지 방법
(약세)


l


패턴

구현되지 않음
 하락 추세.
 처음 두 개의 캔들스틱는 간격이있는 두 개의 "롱" 검은색 캔들스틱입니다.
 세 번째 캔들스틱는 두 번째 캔들스틱 내부에서 열리고 갭을 메웁니다.
확인이 제안됩니다.

      //------      
      // Upside Gap Three Methods the bull model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // the first two candlesticks are "long"
         cand2.open>cand1.close && // a gap between the first and the second
         cand3.open>cand2.open && cand3.open<cand2.close && cand3.close<cand1.close) // the third candlestick opens inside the body of the second and fills in the gap
        {
         comment=_language?"Upside Gap Three Methods";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Upside Gap Three Methods the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
        }
      //------      
      // Downside Gap Three Methods the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // the first two candlesticks are "long"
         cand2.open<cand1.close && // a gap between the first and the second
         cand3.open<cand2.open && cand3.open>cand2.close && cand3.close>cand1.close) //the third candlestick opens inside the body of the second and fills in the gap
        {
         comment=_language?"Downside Gap Three Methods";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Downside Gap Three Methods the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
업사이드 타수키 갭
(약세)


매수


<
패턴

구현되지 않음
 상승세.
인접한 두 개의 캔들스틱 사이의 간격. 흰색 캔들스틱은 반드시 "롱"인 것은 아닙니다.
세 번째 세션은 두 번째 캔들스틱의 몸체에서 열립니다.
세 번째 세션은 갭 내부에서 닫히지만 갭은 부분적으로 채워지지 않습니다.
확인이 제안됩니다.
다운사이드 타수키 갭p
(약세)


l

패턴

구현되지 않음
 하락 추세.
인접한 두 개의 검은 캔들스틱 사이의 간격. 검은 캔들스틱은 반드시 "롱"인 것은 아닙니다.
세 번째 세션은 두 번째 캔들스틱의 몸체에서 열립니다.
세 번째 세션은 갭 내부에서 닫히지만 갭은 부분적으로 채워지지 않습니다.
확인이 제안됩니다.

      //------      
      // Upside Tasuki Gap the bull model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         cand1.type!=CAND_DOJI && cand2.type!=CAND_DOJI && // the first two candlesticks are not doji
         cand2.open>cand1.close && // a gap between the first and the second
         cand3.open>cand2.open && cand3.open<cand2.close && cand3.close<cand2.open && cand3.close>cand1.close) // 3rd candlestick opens inside 2nd and closes inside the gap
        {
         comment=_language?"Upside Tasuki Gap";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Upside Tasuki Gap the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
        }
      //------      
      // Downside Tasuki Gap the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         cand1.type!=CAND_DOJI && cand2.type!=CAND_DOJI && // the first two candlesticks are not doji
         cand2.open<cand1.close && // a gap between the first and the second
         cand3.open<cand2.open && cand3.open>cand2.close && cand3.close>cand2.open && cand3.close<cand1.close) // 3rd candlestick opens inside 2nd and closes inside the gap
        {
         comment=_language?"Downside Tasuki Gap";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Downside Tasuki Gap the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }

3.2.4. 네 개의 캔들스틱으로 구성된 패턴

패턴의 이름 주문 클래식 패턴 외환 패턴 인식
삼선 타격
(강세)

매수

 세 명의 화이트 솔져 패턴과 비슷한 3 개의 캔들스틱, 짧은 그림자가 있는 긴 흰색 캔들스틱로 강세 추세가 이어지고 있습니다.
 외환: 흰색 캔들스틱의 시가/종가가 동일합니다.
 네 번째 캔들스틱는 갭를 두고 열리고 첫 번째 흰색 캔들스틱 시가 아래에서 닫힙니다.
 외환: 3 일 종가와 4 봉 캔들스틱 시가는 동일합니다.
확인이 제안됩니다.
삼선 타격 (약세)

l

 약세 추세는 세 개의 검은 까마귀 패턴과 유사한 세 개의 캔들스틱로 계속되고 있습니다: 짧은 그림자가 있는 긴 검은색 캔들스틱
 외환: 흑 캔들스틱의 시가 / 종가가 동일 (동일한 세 까마귀와 유사).
 네 번째 캔들스틱는 갭이 있는 상태에서 시작되고 첫 번째 검은 캔들스틱 시가 위에서 닫힙니다.
 외환: 3 일 종가와 4 봉 캔들스틱 시가는 동일합니다.
확인이 제안됩니다.

      //------      
      // Three-line strike the bull model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && cand3.bull && !cand4.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // check the "long: candlestick or "maruozu"
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && //  check the "long: candlestick or "maruozu"
         cand2.close>cand1.close && cand3.close>cand2.close && cand4.close<cand1.open) // close of 2nd is higher than 1st, that of 3rd is higher than 2nd, the fourth candlestick closes lower than the 1st
        {
         comment=_language?"Three-line strike";
         if(_forex)// if forex
           {
            if(cand4.open>=cand3.close) // 4th opens higher than the 3rd
              {
               DrawSignal(prefix+"Three-line strike the bull model"+string(objcount++),cand1,cand3,cand4,InpColorBull,comment);
              }
           }
         else // a different market
           {
            if(cand4.open>cand3.close) // 4th opens higher than th 3rd
              {
               DrawSignal(prefix+"Three-line strike the bull model"+string(objcount++),cand1,cand3,cand4,InpColorBull,comment);
              }
           }
        }
      //------      
      // Three-line strike the bear model 
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand3.bull && cand4.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && //  check the "long: candlestick or "maruozu"
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && //  check the "long: candlestick or "maruozu"
         cand2.close<cand1.close && cand3.close<cand2.close && cand4.close>cand1.open) // close of 2nd is lower than 1st, close of 3rd is lower than 2nd, the fourth candlestick closes higher than 1st
        {
         comment=_language?"Three-line strike";
         if(_forex)// if forex
           {
            if(cand4.open<=cand3.close) // the fourth opens lower than or equal to the third
              {
               DrawSignal(prefix+"Three-line strike the bear model"+string(objcount++),cand1,cand3,cand4,InpColorBear,comment);
              }
           }
         else // a different market
           {
            if(cand4.open<cand3.close) // the fourth opens lower than 3rd
              {
               DrawSignal(prefix+"Three-line strike the bear model"+string(objcount++),cand1,cand3,cand4,InpColorBear,comment);
              }
           }
        }

4. 인디케이터의 구현

필수 입력 매개 변수를 선택하겠습니다.

캔들스틱 패턴 인디케이터의 입력 매개 변수

그림 3. 캔들스틱 패턴 인디케이터의 입력 매개 변수

첫 번째 매개 변수는 "평균 기간"입니다. 추세 방향을 결정하고 "장기"및 "단기"캔들스틱를 정의하는데 필요합니다.

다음 매개 변수는 신호 활성화/비활성화를 담당하는 "신호 활성화"입니다. 신호는 새로운 패턴이 나타났음을 알려줍니다.

캔들스틱 패턴 인디케이터에 의해 생성된 신호

그림 4. 캔들스틱 패턴 인디케이터에 의해 생성된 신호

매개 변수 "계산을 위한 바 수"는 인디케이터 작업을 용이하게 하기 위해 설계되었습니다. 그 값이 0보다 작거나 같으면 사용 가능한 전체 히스토리를 통해 캔들스틱 패턴이 검색되고, 그렇지 않으면 설정된 수의 바가 검색에 사용되어 인디케이터 작업이 상당히 용이 해집니다.

모든 것이 색으로 선명하다고 생각합니다...

"주석 사용"은 캔들스틱 패턴 이름 사용/사용 중지를 의미합니다.

"글꼴 크기"는 주석의 글꼴 크기를 설정합니다.

인디케이터의 구현은 매우 간단합니다.

새로운 바의 모습을 기대하십시오:

//--- Wait for a new bar
   if(rates_total==prev_calculated)
     {
      return(rates_total);
     }

그런 다음 카운터의 초기 값을 계산하여 사이클을 시작합니다.

   int limit;
   if(prev_calculated==0)
     {
      if(InpCountBars<=0 || InpCountBars>=rates_total)
         limit=InpPeriodSMA*2;
      else
         limit=rates_total-InpCountBars;
     }
   else
      limit=prev_calculated-1;

루프에서 캔들스틱의 조합을 확인하고 그림 5와 같이 표시합니다.

  • 하나의 캔들스틱와 결합: 위 또는 아래에 패턴 이름이있는 화살표.
  • 두 개의 캔들스틱와 결합: 첫 번째 캔들스틱 위 또는 아래에 패턴 이름이 있는 얇은 직사각형.
  • 세 개 이상의 캔들스틱와 조합: 마지막 캔들스틱 위 또는 아래에 패턴 이름이있는 두꺼운 직사각형.

캔들스틱 패턴 인디케이터 작동 방식의 예

그림 5. 캔들스틱 패턴 인디케이터 작동 방식의 예

함수 오버로딩 가능성으로 인해 다른 패턴의 부호 출력은 동일한 이름의 DrawSignal()을 사용하지만 매개 변수 수가 다른 함수를 통해 수행됩니다.

void DrawSignal(string objname,CANDLE_STRUCTURE &cand,color Col,string comment)
void DrawSignal(string objname,CANDLE_STRUCTURE &cand1,CANDLE_STRUCTURE &cand2,color Col,string comment)
void DrawSignal(string objname,CANDLE_STRUCTURE &cand1,CANDLE_STRUCTURE &cand2,CANDLE_STRUCTURE &cand3,color Col,string comment)

인디케이터의 전체 텍스트는 이 글에 첨부된 Candlestick_Patterns.mq5 파일에 있습니다.

결론

이 글에서 우리는 대부분의 캔들스틱 패턴,이를 감지하는 방법을 검토하고 MQL5 프로그래밍 언어로 구현하는 방법에 대한 예제를 제공했습니다. 글에 대한 첨부 파일에는 두 개의 인디케이터와 포함 파일이 있습니다. 이를 사용하려면 \Indicators 폴더에 인디케이터를 배치하고 \Include 폴더에 파일을 포함시킨 다음 컴파일하십시오.

캔들스틱 패턴 분석이 작업 결과를 개선하는 데 도움이 되기를 바랍니다.

앞으로는 필터링된 캔들스틱은 대부분의 기술 인디케이터보다 더 나은 결과를 제공한다는 점을 추가하고 싶지만 다음 글에서 이 주제를 고려할 것입니다. 여기에서 거래 시스템과 Expert Advisor 거래를 만들 것입니다. 캔들스틱 패턴.

MetaQuotes 소프트웨어 사를 통해 러시아어가 번역됨.
원본 기고글: https://www.mql5.com/ru/articles/101

여러 상품을 거래하는 Expert Advisor 생성 여러 상품을 거래하는 Expert Advisor 생성
금융 시장에서 자산 다각화의 개념은 꽤 오래된 것인데 항상 초보 트레이더를 끌어 들였습니다. 이 글에서 저자는 이러한 거래 전략 방향에 대한 초기 소개를 위해 다중 통화 Expert Advisor의 구성에 대한 최대한 간단한 접근 방식을 제안합니다.
Delphi로 MQL5용 DLL 짜는 법 Delphi로 MQL5용 DLL 짜는 법
이 문서는 Delphi 환경에서 인기좋은 언어 ObjectPascal을 이용해 DLL 모듈을 짜는 법에 대해서 알아볼 것입니다. 본 문서에서 제공하는 자료는 주로 외부 DLL 모듈을 연결하여 MQL5의 내장 프로그래밍 언어의 경계를 허문 초보자 프로그래머를 대상으로 합니다.
MQL5에서 이동 평균 계산 성능 테스트 MQL5에서 이동 평균 계산 성능 테스트
첫 번째 이동 평균 인디케이터 생성 이후 여러 많은 인디케이터가 나타났습니다. 그들 중 다수는 유사한 평활 방법을 사용하지만 다른 이동 평균 알고리즘의 성능은 연구되지 않았습니다. 이 글에서는 MQL5에서 이동 평균을 사용하는 가능한 방법을 고려하고 성능을 비교합니다.
Haiken-Ashi(평균족) 인디케이터에 기반한 매매 시스템 예시 Haiken-Ashi(평균족) 인디케이터에 기반한 매매 시스템 예시
이 문서에서 우리는 매매에서 Haiken-Ashi 인디케이터를 쓰는 법에 대해 알아보겠습니다 . 이 인디케이터를 기반으로 간단한 매매 시스템을 고안해보고 MQL5 Expert Advisor를 하나 짜보겠습니다. 매매 작업은 표준 클래스 라이브러리의 클래스들을 기반으로 구현되었습니다. 검토된 매매 전략의 과거 기력을 기반으로한 시험 결과는 내장 MetaTrader 5 전략 테스터를 이용하여 이루어졌으며, 이 문서 내에서 확인하실 수 있습니다.