보조지표 게시글

UltraXMA: 메타트레이더 5를 위한 혁신적인 지표

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

안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 독특한 지표인 UltraXMA에 대해 소개해 드릴게요. 이 지표는 여러 이동 평균의 트렌드를 통합하여 보여주는 강력한 도구입니다.

UltraXMA의 기본 원리는 다음과 같은 이동 평균 계산 알고리즘을 기반으로 합니다. 이 지표의 입력 파라미터는 다음과 같습니다:

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

이동 평균의 각 기간 값은 산술 수열을 이용해 계산됩니다:

XMAPeriod(Number) = StartLength + Number * Step

여기서 Number 변수는 0부터 StepsTotal까지의 값을 가집니다. 이렇게 구해진 기간 값들은 배열에 추가되어 각 지표 틱에서 XMA 이동 평균의 팬 값을 가져오는 데 사용됩니다. 현재 트렌드의 방향과 전체 이동 평균 팬 값의 긍정적 및 부정적 트렌드 수를 계산합니다. 최종적으로 긍정적 및 부정적 트렌드 수가 다시 스무딩되어 색상 구름을 형성하는 지표 라인으로 사용됩니다. 이 구름은 DRAW_FILLING 스타일 클래스를 통해 표시됩니다.

이 지표에서 트렌드 방향은 구름의 색상에 의해 결정되며, 힘은 구름의 너비에 의해 결정됩니다. 또한, 과매수(UpLevel)와 과매도(DnLevel) 수준을 설정할 수 있으며, 이는 지표의 최대 진폭에서 백분율로 설정됩니다.

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

  1. SMA - 단순 이동 평균;
  2. EMA - 지수 이동 평균;
  3. SMMA - 스무딩 이동 평균;
  4. LWMA - 선형 가중 이동 평균;
  5. JJMA - JMA 적응 평균;
  6. JurX - 초선형 스무딩;
  7. ParMA - 포물선 스무딩;
  8. T3 - 틸슨의 다중 지수 스무딩;
  9. VIDYA - 투샤르 찬드의 알고리즘을 이용한 스무딩;
  10. AMA - 페리 카우프먼의 알고리즘을 이용한 스무딩.

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

UltraXMA는 SmoothAlgorithms.mqh 라이브러리 클래스를 사용합니다. 이 클래스는 "추가 버퍼 없이 중간 계산을 위한 가격 시리즈 평균화"라는 기사에 자세히 설명되어 있습니다.

지표 입력 파라미터:

//+----------------------------------------------+
//| 지표 입력 파라미터                   |
//+----------------------------------------------+
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 Applied_price_ IPC=PRICE_CLOSE;       // 적용 가격
//----                          
input uint UpLevel=80;                      // 과매수 수준
input uint DnLevel=20;                      // 과매도 수준
input color UpLevelsColor=Red;              // 과매수 수준 색상
input color DnLevelsColor=Red;              // 과매도 수준 색상
input STYLE Levelstyle=DASH_;               // 수준 스타일
input WIDTH  LevelsWidth=Width_1;           // 수준 너비        

UltraXMA

연관 포스트

댓글 (0)