보조지표 게시글

UltraWPR: 메타트레이더 5를 위한 강력한 지표

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

실제 저자:

dm34@mail.ru

이 지표는 WPR (래리 윌리엄스의 퍼센트 범위, %)를 기반으로 하며, 여러 신호선 분석을 통해 작동합니다. 신호선 계산 알고리즘은 다음과 같습니다. 지표 입력 매개변수는 다음과 같습니다:

  • StartLength - 첫 번째 신호선의 최소 초기 값;
  • Step - 주기 변경 단계;
  • StepsTotal - 주기 변경 횟수.

신호선의 주기 값은 산술 급수를 이용해 계산됩니다:

SignalPeriod(숫자)  =  StartLength +  숫자 * Step,

여기서 Number 변수의 값은 0부터 StepsTotal까지 변화합니다. 얻은 주기 값들은 변수 배열에 추가되어 각 지표 틱에서 부드러운 래리 윌리엄스의 퍼센트 범위 지표 값을 얻는 데 사용됩니다. 각 부드러운 값의 현재 추세 방향이 계산되고, 전체 WPR 부드러운 값 배열에 대한 긍정적 및 부정적 추세의 수가 결정됩니다. 최종 긍정적 및 부정적 추세 수치는 다시 부드럽게 처리되어 지표 선을 형성하며, 이 선들은 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 - 페리 카우프먼 알고리즘을 이용한 부드럽게 하기.

Phase1과 Phase2 매개변수는 서로 다른 부드럽게 하기 알고리즘에 대해 전혀 다른 의미를 가집니다. JMA의 경우 외부 Phase 변수는 -100에서 +100까지 변합니다. T3의 경우 부드럽게 하기 비율은 시각화를 위해 100배 곱해집니다. VIDYA의 경우 CMO 오실레이터 주기이며, AMA는 느린 EMA 주기입니다. 다른 알고리즘에서는 이 매개변수들이 부드럽게 하는 데 영향을 미치지 않습니다. AMA의 빠른 EMA 주기는 고정 값이며 기본값은 2입니다. 지수 비율도 AMA의 경우 2로 설정되어 있습니다.

이 지표는 SmoothAlgorithms.mqh 라이브러리 클래스를 사용합니다 (터미널 데이터 폴더의 MQL5/Include 폴더에 복사해야 함). 클래스 사용에 대한 자세한 내용은 "중간 계산을 위한 가격 시리즈 평균" 기사에서 확인할 수 있습니다.

UltraWPR 지표의 컴파일된 파일을 터미널 데이터 폴더의 MQL5/Indicators에 배치하세요.

지표 입력 매개변수:

//+----------------------------------------------+
//| 지표 입력 매개변수                  |
//+----------------------------------------------+
input int WPR_Period=13;                    // WPR 지표 주기
//----
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=Blue;             // 과매수 레벨 색상
input color DnLevelsColor=Blue;             // 과매도 레벨 색상
input STYLE Levelstyle=DASH_;              // 레벨 스타일
input WIDTH  LevelsWidth=Width_1;          // 레벨 너비

UltraWPR

연관 포스트

댓글 (0)