보조지표 게시글

프로페셔널 지그재그: 메타트레이더 5를 위한 완벽한 지표

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

주의! 이 버전의 지그재그 지표는 지그재그 코드를 기반으로 하며, 저자 PPC의 허가를 받아 여기에서 게재되었습니다. 이 버전을 테스트하고 알고리즘의 오류를 수정했습니다.

이 코드는 메타트레이더 4용 지그재그 지표의 MQL5 버전입니다.

주의! AlexSTAL_OutsideBar.mqh 라이브러리는 메타트레이더 5 클라이언트 터미널의  .. MQL5\Include 폴더에 위치해야 합니다.

그게 다인가요?

지그재그는 가격 차트를 압축하는 것과 비슷하다고 생각합니다. 지그재그는 바의 가격(예: 종가) 또는 바의 고가/저가 가격을 사용하여 계산할 수 있습니다(가장 일반적으로 사용되는 방법입니다).

메타퀀츠에서 제안한 표준 지그재그를 사용할 때 몇 가지 오류를 발견했습니다. 주요 문제는 표준 지그재그가 외부 바를 처리하지 못한다는 것입니다.

2007년에 Rashid Umarov (Rosh)가 외부 바 처리를 지원하는 Zigzag2 R 코드를 발표했습니다(DRAW_ZIGZAG 스타일 대신 DRAW_SECTION).

이제 "올바른" 지그재그 구현의 특징을 정의해 보겠습니다:

  • 고가와 저가는 반드시 교대로 나타나야 합니다;
  • 고가는 다음(반대) 저가까지 오른쪽의 모든 바 중에서 더 높거나 같아야 합니다;
  • 저가는 다음(반대) 고가까지 왼쪽의 모든 바 중에서 더 낮거나 같아야 합니다.

예를 들어 (EURUSD, H1, 2006, 12월 8-13)를 살펴보겠습니다. 여기에는 외부 바가 있는 두 가지 사례가 있습니다. 전형적인 지그재그는 "올바른" 그림을 만들 수 없습니다.

Figure 1. Typical ZigZag with input parameters [12;5;3] and [12;0;0]

Figure 1. 전형적인 지그재그 (입력 매개변수 [12;5;3] 및 [12;0;0])

Figure 2. Zigzag2 R with input parameters [12;5;3]

Figure 2. Zigzag2 R (입력 매개변수 [12;5;3])


Figure 3. Zigzag2 R with input parameters [12;0;0]

Figure 3. Zigzag2 R (입력 매개변수 [12;0;0])

처음 보기에는 Figure 3에서 올바른 구성이 나타나지만, 몇 가지 특성이 있습니다:

  1. 이 경우 입력 매개변수 덕분에 올바르게 구축되었지만, 일반적으로 알고리즘은 어떤 매개변수로도 작동해야 합니다.
  2. 왼쪽의 외부 바는 바의 고가/저가 형성 순서 때문에 올바르지 않습니다:


지그재그 세그먼트는 이렇게 구성되어야 합니다.

저는 다음의 지그재그 알고리즘을 여러 번 테스트했습니다: ZigZag MT3, ZigZag, Zigzag R, Zigzag2 R, ZigZag_NK, ZigZag_ZUP89_nen, ZigZag_new_nen4, CZigZag, Swing_ZZ_1, DT_ZZ_nen, ZigZag_Talex, Reverse_ZZ, Points_ZZ_1, i_MF_Fractal_ZZ_3in1, ang_Amp_ZZ, ZigzagFr_v1, NonLagZigZag_v2, ZZ_FF_v3, ZigZag Ensign, ZigZag tauber, SQZZ Товаровед, ZZ_2L_nen wellx, Channel ZZ, Azzx_larryzz_3_0, RPoint, RPoint-m v2, ZigZagTF. 하지만 그 중 어느 것도 문제를 올바르게 해결하지 못했습니다.


이 지표로 생성된 도표는 다음과 같습니다:

Figure 4. Professional ZigZag with input parameters [12;0]

Figure 4. 전문 지그재그 (입력 매개변수 [12;0])

Figure 5. Professional ZigZag with input parameters [23;0]

Figure 5. 전문 지그재그 (입력 매개변수 [23;0])


이 버전의 몇 가지 특징:

  • 단일 패스 알고리즘
  • 마지막 세그먼트만 재계산하고 다시 그립니다(세그먼트는 역사 업데이트 외에는 취소할 수 없습니다)
  • 바 내부 계산을 위한 최적화 알고리즘이 있습니다(0(미완성) 바 내에서 가격이 변경되거나 가격 변화가 MinMotion 입력 매개변수로 정의된 임계값보다 낮으면 틱에서 재계산을 사용하지 않습니다)
  • 고가/저가 형성 순서에 대한 두 가지 알고리즘이 있습니다: 바 유형을 사용하는 방법(빠르지만 정확하지 않음) 및 낮은 시간대의 데이터를 사용하는 방법(이력과 정확성을 확인해야 하며, OutsideBar 라이브러리를 수정해야 합니다)
ProExtra 버전은 메타트레이더 5 인용의 정확성이 확인되지 않아 게시되지 않았습니다.


다음은 지그재그 잘못된 구성의 추가 예시입니다:

Figure 6. EURUSD, H1, November 29-December 7. (Red line: ZigZag with input parameters [7;0;0]. Blue line: Zigzag2 R with input parameters [7;0;0].)

Figure 6. EURUSD, H1, 11월 29-12월 7일 (빨간 선: 입력 매개변수 [7;0;0]인 지그재그. 파란 선: Zigzag2 R 입력 매개변수 [7;0;0])

Figure 7. EURUSD, H1, 2010, November 29 - December 7. The correct construction of ZigZag segments.

Figure 7. EURUSD, H1, 2010년 11월 29일부터 12월 7일까지의 지그재그 세그먼트의 올바른 구성입니다.


결론

안타깝게도 이 버전은 완벽하지 않지만, 아직 작업 중입니다.

채널 알고리즘(iHighest/iLowest) 때문에 때때로 고가를 건너뛰기도 합니다.

이 지표의 버그 및 특징에 대해 알려주세요.

연관 포스트

댓글 (0)