보조지표 게시글

UltraMFI: MetaTrader 5를 위한 머니 플로우 인덱스 지표

첨부파일
21750.zip (22.12 KB, 다운로드 0회)

작성자: Dmitriy.

UltraMFI는 머니 플로우 인덱스(MFI)를 기반으로 한 지표로, 여러 신호선 분석을 통해 시장의 흐름을 파악합니다. 이 지표의 신호선 계산 알고리즘은 다음과 같습니다. 입력 파라미터는 다음과 같습니다:

  • StartLength - 첫 번째 신호선의 최소 초기 값;
  • Step - 기간 변화의 단계;
  • StepsTotal - 기간 변화의 총 개수.

신호선의 기간 값은 산술급수를 통해 계산되며, 공식은 다음과 같습니다:

SignalPeriod(번호) = StartLength + 번호 * Step,

여기서 번호 변수는 0에서 StepsTotal까지의 값을 가집니다. 계산된 기간 값들은 변수 배열에 추가되어 각 지표 틱에서 스무딩된 Larry Williams의 Percent Range 지표 값을 얻는 데 사용됩니다. 각 스무딩의 현재 추세 방향과 전체 MFI 스무딩 값의 긍정적 및 부정적 추세 수를 결정합니다.

긍정적 및 부정적 추세의 최종 수치는 다시 스무딩되어 지표 라인을 형성하며, 이 라인은 DRAW_FILLING 스타일 클래스를 통해 색상 구름으로 표시됩니다.

이 지표에서 추세 방향은 구름의 색상으로 결정되며, 그 힘은 구름의 너비로 판단됩니다. 과매수(UpLevel) 및 과매도(DnLevel) 수준은 지표 최대 범위의 백분율로 설정할 수 있습니다.

스무딩 알고리즘은 총 10가지 버전 중에서 선택할 수 있습니다:

  1. SMA - 단순 이동 평균;
  2. EMA - 지수 이동 평균;
  3. SMMA - 스무딩 이동 평균;
  4. LWMA - 선형 가중 이동 평균;
  5. JJMA - JMA 적응 평균;
  6. JJurX - 초선형 평균;
  7. ParMA - 포물선 평균;
  8. T3 - 틸슨의 다중 지수 스무딩;
  9. VIDYA - Tushar Chande의 알고리즘을 이용한 스무딩;
  10. AMA - Perry Kaufman의 알고리즘을 이용한 스무딩.

각 스무딩 알고리즘에 따라 Phase1과 Phase2 파라미터는 의미가 다릅니다. 예를 들어, JMA의 경우 -100에서 +100 사이의 외부 Phase 변수이며, T3는 시각화를 위해 100을 곱한 스무딩 비율입니다. VIDYA는 CMO 오실레이터 기간이며, AMA는 느린 EMA 기간입니다. 다른 알고리즘에서는 이 파라미터가 평균화에 영향을 미치지 않습니다. AMA의 빠른 EMA 기간은 기본값으로 2로 고정되어 있습니다.

이 지표는 SmoothAlgorithms.mqh 라이브러리 클래스를 사용하며, 이를 \MQL5\Include에 복사해야 합니다. 이 클래스에 대한 자세한 내용은 중간 계산을 위한 가격 시리즈 평균화 기사를 참조하세요.

//+----------------------------------------------+
//| Indicator input parameters                   |
//+----------------------------------------------+
input int MFI_Period=13;                            // MFI 지표 기간
input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK;   // MFI 지표 볼륨
//----
input Smooth_Method W_Method=MODE_JJMA; // 스무딩 방법
input int StartLength=3;                // 초기 평균화 기간
input int WPhase=100                   // 스무딩 파라미터
// JJMA의 경우 -100 ... +100 범위에서 변동하며 과도기 품질에 영향;
// VIDIA의 경우 CMO 기간, AMA의 경우 느린 이동 평균 기간
//----  
input uint Step=5        // 기간 변화 단계
input uint StepsTotal=10; // 기간 변화의 수
//----
input Smooth_Method SmoothMethod=MODE_JJMA; // 스무딩 방법
input int SmoothLength=3;                   // 스무딩 깊이                    
input int SmoothPhase=100                  // 스무딩 파라미터
// JJMA의 경우 -100 ... +100 범위에서 변동하며 과도기 품질에 영향;
//----                          
input uint UpLevel=80            // 과매수 수준
input uint DnLevel=20            // 과매도 수준
input color UpLevelsColor=Blue;   // 과매수 수준의 색상
input color DnLevelsColor=Blue;   // 과매도 수준의 색상
input STYLE Levelstyle=DASH_;     // 수준의 스타일
input WIDTH LevelsWidth=Width_1; // 수준의 너비
//+----------------------------------------------+

UltraMFI 지표

Fig. 1. UltraMFI 지표

연관 포스트

댓글 (0)