MetaTrader5
MetaTrader 5를 위한 UltraCCI 지표 소개
실제 저자: dm34@mail.ru 안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 사용할 수 있는 UltraCCI 지표에 대해 알아보려고 합니다. 이 지표는 CCI(상품 채널 지수)를 기반으로 하며, 여러 신호선의 트렌드 방향을 분석합니다. 신호선 계산 알고리즘은 다음과 같습니다. 지표 입력 매개변수는 다음과 같은 소스 데이터를 가지고 있습니다: StartLength - 첫 번째 신호선의 최소 초기 값; Step - 기간 변화 단계; StepsTotal - 기간 변화의 수. 각 신호선의 기간 값은 산술 수열을 이용하여 계산됩니다: SignalPeriod(Number) = StartLength + Number * Step 여기서 Number 변수의 값은 0에서 StepsTotal까지입니다. 계산된 기간 값들은 변수 배열에 추가되어, 각 지표 틱에서 부드러운 RSI 지표 값의 배열을 얻는 데 사용됩니다. 각 부드러움의 현재 트렌드 방향과 CCI 부드러운 값 전체에 대한 긍정적 및 부정적 트렌드 수를 결정합니다. 최종 긍정적 및 부정적 트렌드 수는 다시 부드럽게 처리되어, DRAW_FILLING 스타일 클래스를 통해 표시되는 색상 구름을 형성합니다. 이 지표에서 트렌드 방향은 구름의 색상으로 결정되며, 구름의 너비는 트렌드의 강도를 나타냅니다. 과매수(UpLevel) 및 과매도(DnLevel) 수준은 지표 최대 진폭의 백분율 값으로 설정할 수 있습니다. 또한, 이 지표는 색상 점으로 표시되는 트렌드 강도 변화 속도를 결정할 수 있는 가능성을 제공합니다. 트렌드 강도가 증가할 경우, 이 점의 색상은 구름 색상과 일치하며, 그렇지 않으면 반대 색상으로 표시됩니다. 부드럽게 처리하는 알고리즘은 총 10가지 버전 중에서 선택할 수 있습니다: SMA - 단순 이동 평균; EMA - 지수 이동 평균; SMMA - 부드러운 이동 평균; LWMA - 선형 가중 이동 평균; JJMA - JMA 적응 평균; JurX - 초선형 스무딩; ParMA - 포물선 스무딩; T3 - 틸슨의 다중 지수 스무딩; VIDYA - 투샤르 찬드의 알고리즘을 이용한 스무딩; AMA - 페리 카우프만의 알고리즘을 이용한 스무딩. 각 스무딩 알고리즘에 대한 Phase 매개변수는 완전히 다른 의미를 갖습니다. JMA의 경우 외부 Phase 변수는 -100에서 +100까지 변합니다. T3의 경우 이는 시각화를 위해 100배 곱해진 스무딩 비율이며, VIDYA는 CMO 오실레이터 기간이고, AMA는 느린 EMA 기간입니다. 다른 알고리즘에서는 이러한 매개변수가 스무딩에 영향을 미치지 않습니다. AMA의 빠른 EMA 기간은 고정 값으로 기본값은 2입니다. AMA의 힘 비율도 2입니다. 이 지표는 SmoothAlgorithms.mqh 라이브러리 클래스를 사용합니다(터미널 데이터 폴더의 MQL5\Include에 복사해야 함). 클래스 사용법은 "추가 버퍼 없이 중간 계산을 위한 가격 시리즈 평균화"라는 기사에서 자세히 설명되어 있습니다. 지표 입력 매개변수: //+----------------------------------------------+
//| 지표 입력 매개변수 |
//+----------------------------------------------+
input int CCI_Period=13; // CCI 지표 기간
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // 적용 가격
//----
input Smooth_Method W_Method=MODE_JJMA; // 스무딩 방법
input int StartLength=3; // 초기 스무딩 기간
input int WPhase=100; // 스무딩 매개변수
//----
input uint Step=5; // 기간 변화 단계
input uint StepsTotal=10; // 기간 변화의 수
//----
input Smooth_Method SmoothMethod=MODE_JJMA; // 스무딩 방법
input int SmoothLength=3; // 스무딩 깊이
input int SmoothPhase=100; // 스무딩 매개변수
//----
input uint UpLevel=80; // 과매수 수준, %%
input uint DnLevel=20; // 과매도 수준, %%
input color UpLevelsColor=DarkViolet; // 과매수 수준 색상
input color DnLevelsColor=DarkViolet; // 과매도 수준 색상
input STYLE Levelstyle=DASHDOTDOT_; // 수준 스타일
input WIDTH LevelsWidth=Width_1; // 수준 너비
//+----------------------------------------------+
2012.02.02