보조지표 게시글

Welch 볼린저 밴드 폭: 메타트레이더 4에서 활용하는 방법

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

작성자:

maj1es2tic (팀 웰치)

이 지표는 현재 볼린저 밴드의 폭을 측정하여, N 기간(WidthCalcPeriod) 동안의 최대 및 최소 폭과 비교합니다.

계산된 비율이 MinRangePercent 이하일 경우, 히스토그램은 녹색으로 표시됩니다. 계산된 비율이 MinRangePercent의 2배가 되면, 히스토그램은 노란색으로 표시됩니다. 이외의 경우, 히스토그램은 빨간색으로 표시됩니다.

이 지표는 통화 쌍이 범위에 있는지, 아니면 범위를 돌파할 준비가 되었는지를 빠르게 파악하는 데 유용합니다. ShowWidthLine을 true로 설정하면, 볼린저 밴드의 실제 폭을 PIPS로 보여주는 선도 표시됩니다. 이 지표는 4자리 및 5자리 브로커에서 모두 작동하며, 모든 통화 쌍에서 사용할 수 있습니다.

EA나 다른 커스텀 지표의 값을 가져오기 위해 iCustom 사용하기:

다음 코드를 사용하여 외부에서 값을 가져올 수 있습니다:

int period=0; // 얼마나 과거를 보고 싶으신가요? 0 == 현재 바, 1 == 이전 바 등.
              // 주어진 시점에 이 세 가지 중 하나만 0보다 큰 값을 가집니다. 그 값은 300입니다.

double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period);
double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period);
double WelchBBWidth_Red = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 2, period);

// 볼린저 밴드의 실제 폭을 PIPS로 가져옵니다.
double WelchBBWidth = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 3, period);

// 다음은 실제 볼린저 밴드 라인 값을 제공합니다. 이 값은 메인 차트에 플로팅되며, 차트의 가격을 기준으로 합니다.
double WelchBBWidth_MiddleLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 4, period);
double WelchBBWidth_UpperLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 5, period);
double WelchBBWidth_LoweLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 6, period); 

다음과 같은 코드를 EA에 넣을 수 있습니다:

/*
* int areWeRanging(int period=0)
*
* GREEN(범위)일 경우 1 반환
* YELLOW(범위 시작/종료)일 경우 -1 반환
* 그 외의 경우(영역 없음) 0 반환
*/

int areWeRanging(int period=0) 
{
 double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period);
 double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period);

 if ( WelchBBWidth_Green > 0 ) 
 {
   return (1);
 } 
 else if ( WelchBBWidth_Yellow > 0) 
 {
   return (-1);
 }

 return (0);
}

// 범위 밖으로 나오는지 확인합니다.
// 이는 마지막 캔들이 여전히 범위 내에 있었던 것을 나타내며,
// 현재 캔들이 이제 범위를 벗어난 것입니다.
if ( areWeRanging(1)==1 && (areWeRanging(0)==-1 || areWeRanging(0)==0) ) 
 {
  Print("우리는 범위에 있었지만 이제 범위를 벗어났습니다! 다른 지표가 돌파를 확인할 경우 거래하세요!");
 }

** 모든 코드는 사용자의 재량에 따라 사용하시고, 다른 지표의 확인이 있을 때만 실제 거래를 진행하세요. **

이미지:


*참고: 어두운 회색 세로선과 빨간 화살표는 지표와 볼린저 밴드의 상관관계를 보여주기 위해 추가된 것이며, 차트에는 표시되지 않습니다.

즐거운 트레이딩 되세요!

-팀

연관 포스트

댓글 (0)