보조지표 게시글

멀티 지그재그: 새로운 경제 지그재그 변형

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

멀티 지그재그는 2005-2006년 메타트레이더 4와 함께 제공된 지그재그 알고리즘을 기반으로 합니다. 이 알고리즘은 여러 커스텀 인디케이터에서 사용되는 훌륭한 알고리즘인데요. 처음에는 Rosh에 의해 MQL4로 변환되었습니다. 이 점에 대해 그에게 감사합니다. 이 알고리즘의 발명자가 누구인지 알고 있다면 댓글로 이름(또는 닉네임)을 남겨 주세요. 또한, 이 알고리즘이 이전에 어떤 언어로 작성되었고, 어떤 트레이딩 플랫폼에서 사용되었는지도 궁금합니다.

2005-2006년 초기 버전의 주요 단점은 다음과 같습니다:

  • 1) 모든 틱에서 지그재그를 재계산하기 때문에 프로세서에 큰 부담을 주었습니다. 저전력 PC는 시장의 급격한 움직임 동안 거의 멈춰버렸습니다.
  • 2) 정확하지 않은 그래픽. 지그재그의 절단 부분이 바의 최댓값(최솟값)과 연결되지 않고 '공중에 떠 있는' 모습이었습니다. 그러나 개념적으로 지그재그는 차트에서 최솟값(최댓값)의 정확한 위치를 보여줘야 합니다.
  • 3) 과거 히스토리를 스크롤하려고 할 때 지그재그가 떠다니기 시작하고, 차트와 시각적으로 연결되지 않은 상태로 그려집니다.

이번 버전의 지그재그는 위의 모든 단점에서 해방되었습니다. 마지막 세 개의 지그재그만 재계산됩니다. 이때, 재계산은 가격이 제로 바의 계산된 부분을 벗어날 때만 발생합니다. 즉, 제로 바의 최솟값이나 최댓값이 제로화되거나, 새로운 바가 나타나거나, 히스토리가 업로드될 때입니다.

각 세 개의 지그재그는 두 개의 버퍼를 사용합니다. 하나의 버퍼는 최댓값을, 다른 하나는 최솟값을 위한 것입니다. 이를 통해 단일 바에서 최댓값과 최솟값을 동시에 출력할 수 있습니다. 두 개의 빈 버퍼도 있습니다. 원하는 분들은 코드를 작성하여 네 번째 샘플 코드를 삽입할 수 있습니다. 이는 초보 MQL4 프로그래머에게 좋은 학습이 될 수 있습니다. 또는 지그재그가 개발된 시스템에 삽입될 경우, 다른 작업을 위해 빈 버퍼를 사용할 수도 있습니다.

더 큰 시간 프레임에서의 지그재그 계산 및 그리기는 icustom() 함수를 사용하지 않고 구현됩니다. 자동화를 위해 인디케이터 버퍼를 폐기할 수 있습니다. 이 경우 모든 시간 프레임과 여러 심볼에 대해 동시에 지그재그를 계산할 수 있습니다. 단, 충분한 RAM 메모리가 필요합니다. icustom() 함수를 사용하지 않는 계산 방식은 현재 시간 프레임뿐만 아니라 선택한 시간 프레임과 여러 시간 프레임에서 패턴(가르틀리 등)을 찾는 것을 가능하게 합니다.

파라미터.

대부분의 외부 파라미터는 문자열 변수입니다. 각 지그재그에 대한 파라미터는 각 문자열 변수에 쉼표로 구분되어 작성됩니다. 첫 번째 숫자는 첫 번째 지그재그, 두 번째는 두 번째, 세 번째는 세 번째 지그재그에 해당합니다. ExtDepth, ExtDeviationExtBackstep는 지그재그의 표준 파라미터입니다. ExtDepth=0을 설정하면 해당 지그재그는 표시되지 않습니다.

ExtMaxBar - 지그재그가 계산될 바의 수입니다. GrossPeriod - 지그재그 계산을 위해 차트에서 가져올 데이터의 기간(분 단위)입니다. 0을 지정하면 현재 시간 프레임에서 지그재그가 계산됩니다.

다음 값을 지정할 수 있습니다: 0-1-5-15-30-60-240-1440-10080-43200. ExtReCalculate - 실시간 모드에서 0부터 시작하는 지그재그의 극값 수입니다. 이는 더 큰 시간 프레임의 지그재그에 사용됩니다. 이 파라미터는 변경하지 않는 것이 좋습니다.

기본적으로 지그재그는 H1-H4-D1에서 표시됩니다. 지그재그는 1분 시간 프레임부터 일간 시간 프레임까지 표시됩니다. D1 시간 프레임에서는 D1 시간 프레임의 데이터로 그려진 지그재그 하나만 표시됩니다. 더 큰 시간 프레임 또는 현재 시간 프레임을 기반으로 한 지그재그만 표시됩니다.

예시 그림: H1의 지그재그는 아쿠아 색으로, H4는 빨간색으로, D1은 노란색으로 그려집니다.

연관 포스트

댓글 (0)