지표: Price prediction by Nearest Neighbor found by a weighted correlation coefficient - 페이지 3

 
Amos Tsopotsa #:

이 코드는 약간의 개선이 필요하지만 아이디어가 타당하다면 괜찮습니다.

다음과 같이 코드를 아주 약간 개선했습니다:

  • b에 대한 전역 범위에 변수를 추가하고
  • 마지막 패턴 시작 시간과 새 패턴 시작 시간을 비교하여 같지 않으면 ChartRedraw()를 호출하는 조건인 lastPatternStartTime 변수를 추가했습니다.
(몇 시간의 테스트에서 확인할 수 있었던 것은 새로운 패턴이 발견되면 수직선이 혼란스러워지는 현상이 나타났다는 것입니다).
 

몇 가지가 더 개선되었습니다:

  • OnInit()을 void에서 int로 변경하여 이제 INIT_SUCCEED를 반환합니다,
  • 인디케이터의 첫 번째 미래 가격 값을 저장하는 터미널 전체 글로벌 변수(GV)를 추가했습니다("미래 인디케이터 버퍼 값"이 있는 EA에서는 CopyBuffer()가 작동하지 않음).
  • 터미널에서 GV가 자동으로 삭제되는 OnDeinit()이 추가되었습니다.

이러한 변경의 목적은 보조지표가 자동매매에 더 적합하도록 하기 위한 것입니다. 목적에 따라 더 많은 미래 가격 값이 필요한 경우 코드 끝의 0~48 막대를 반복하고 GV 값을 업데이트하면 됩니다.

 
Ryan L Johnson #:


  • 인디케이터의 첫 번째 미래 가격 값을 저장하는 터미널 전체 글로벌 변수(GV)를 추가했습니다("미래 인디케이터 버퍼 값"이 있는 EA에서는 CopyBuffer()가 작동하지 않음),

이러한 변경의 목적은 보조지표가 자동매매에 더 적합하도록 만드는 것입니다. 목적에 따라 더 많은 미래 가격 값이 필요한 경우 코드 끝에서 0에서 48까지의 막대를 반복하고 GV 값을 업데이트하면 됩니다.

왜 그럴까요? 미래에도 인디케이터 버퍼의 모든 값에 액세스할 수 있기 때문입니다.
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
  • www.mql5.com
An MQL program can read data from the indicator's public buffers by its handle. Recall that in custom indicators, such buffers are arrays specified...
 
Stanislav Korotky #:
왜 그럴까요? 인디케이터 버퍼의 모든 값은 향후에도 액세스할 수 있습니다.

인디케이터에서는 그렇게 할 수 있었지만 EA에서는 할 수 없었습니다. EA에서 그렇게하는 다른 예제 / 문서가 있습니까?

 
Ryan L Johnson #:

지표에서는 그렇게 할 수 있었지만 EA에서는 할 수 없었습니다. EA에서 그렇게 하는 다른 예제나 문서가 있나요?

게시물 #24는 무시해 주세요. EA에서 잘못된 형태의 Copybuffer()를 사용한 것 같습니다. 올바른 것은 다음과 같습니다:

" ( 첫 번째 형식의) 매개 변수 Copy Buffer에(-N)과 같은 오프셋을제공해야합니다..."

int CopyBuffer(int handle, int buffer, int offset, int count, double &array[])
 

스타니슬라프 코로트키 님, 문서를 안내해 주셔서 감사합니다. '첫 번째 양식'은 특히 사용자 지정 차트에서 향후 버퍼 값을 복사하는 데 매우 유용합니다.

블라디미르, 뒤늦게나마 이 인디케이터의 소스 코드를 게시해 주셔서 감사합니다. 수십 년 전의 가격 패턴이 오늘날에도 유효할지 전혀 몰랐습니다. 저는 이 지표를 사용하여 2건의 성공적인 거래를 바로 잡았습니다. 하나는 1999년경이고 다른 하나는 2005년경입니다.

현재 사용하고 있는 인디케이터 코드는 다음과 같습니다(GV 제거):