오늘 MT5 단말기가 업데이트되어 테스트 중 "최적화" 창이 표시되지 않습니다. - 페이지 22

 
Aleksey Vyazmikin :

요점은 INIT_PARAMETERS_INCORRECT가 종종 비논리적/불필요한 값을 제외하여 검색 영역을 좁히는 데 사용된다는 것입니다. 이는 전체 열거를 사용할 때 최적화 속도 를 크게 향상시킵니다. INIT_PARAMETERS_INCORRECT가 없으면 유전학은 단순히 불필요한 옵션에 부딪혀 까다로웠으므로 변수 값을 제외하지 않는 것은 옵션이 아닙니다. 그래서 전문가로서 무리한 노력 없이 이 문제를 해결하는 방법을 제안하는 것입니다. 간격 없이 반복하기 위해 모든 올바른 변수를 손으로 나열하고 INIT_PARAMETERS_INCORRECT 값을 의도적으로 제외하는 것은 옵션이 아닙니다. 매우 깁니다. 까다로운 카운터를 사용하는 것은 모든 사람에게 주어지는 것은 아니며 유전에도 해를 끼칠 수 있습니다.

글쎄, 1 일째에 모든 매개 변수를 통과하고 올바른 값을 코드에 작성하여 유전학에 대해 선택하는 것이 남아 있습니까?

위의 내 설명을 읽으십시오.

당신의 세계관은 유전자 알고리즘과 양립할 수 없습니다. 거부로 인구의 1/4을 죽이면 손실이 있더라도 유전학은 여전히 나타날 것입니다. 인구의 98%를 죽이십시오 - 이것이 진화의 끝입니다. 당신의 욕망이나 선호하는 작업 방법에 관계없이 .

제가 위에 링크한 자료를 읽어보세요.

교육 프로그램을 중단합니다. 죄송합니다. INIT_PARAMETERS_INCORRECT 주제의 계속이 닫히고 모든 댓글이 삭제됩니다.

 
void collectNecessaryDataOnTick()
{
   //--- считать последние цены на тике
   SymbolInfoTick ( Symbol (),last_tick);
   
   ArrayFree (buf_CCI);
   
   if ( CopyBuffer (handle_CCI, 0 , 0 ,bars_4_tr_cur,buf_CCI) < 0 )               // копируем данные из индикаторного массива в статический массив buf_CCI для дальнейшей работы с ними
   {                                                                       // если есть ошибки
       Comment ( " Не удалось скопировать данные из индикаторного буфера " );     // то выводим сообщение
       return ;                                                               // и выходим из функции
   }
   bars_4_tr_cur  = 10 ;
   
   return ;
}

오늘 업데이트 전에 모든 것이 작동했습니다. 지금 - 오류 메시지 입니다.

 
Сергей Таболин :

오늘 업데이트 전에 모든 것이 작동했습니다. 지금 - 오류 메시지 입니다.

GetLastError()는 어떤 값을 반환합니까?

CopyBuffer를 호출하기 전의 bars_4_tr_cur 변수의 값은 무엇입니까?

handle_CCI 지표가 계산되는 시계열에 몇 개의 막대가 있습니까?

 
Slava :

GetLastError()는 어떤 값을 반환합니까?

CopyBuffer를 호출하기 전의 bars_4_tr_cur 변수의 값은 무엇입니까?

handle_CCI 지표가 계산되는 시계열에 몇 개의 막대가 있습니까?

변수 = 33

M15

   ResetLastError ();
   if ( CopyBuffer (handle_CCI, 0 , 0 , 33 ,buf_CCI) < 0 )               // копируем данные из индикаторного массива в статический массив buf_CCI для дальнейшей работы с ними
   {                                                                       // если есть ошибки
       Comment ( "Не удалось скопировать данные из индикаторного буфера" );     // то выводим сообщение об ошибке
       Print ( GetLastError ());
       return ;                                                               // и выходим из функции
   }

4003 - 시스템 함수를 호출할 때 잘못된 매개변수

 
Сергей Таболин :

변수 = 33

M15

4003 - 시스템 함수를 호출할 때 잘못된 매개변수

다음 질문. CCI 지표에서 데이터를 가져오고 있다는 것을 정확히 이해하고 있습니까?

이 지표를 생성한 매개변수를 알려주십시오.

 
Slava :

다음 질문. CCI 지표에서 데이터를 가져오고 있다는 것을 정확히 이해하고 있습니까?

이 지표를 생성한 매개변수를 알려주십시오.

 //--- активируем хендл индикатора CCI
   handle_CCI = iCCI ( Symbol (), 0 , 14 , PRICE_TYPICAL );
   if (handle_CCI== INVALID_HANDLE )                         // проверяем наличие хендла индикатора
   {
       Comment ( "Не удалось получить хендл индикатора" );   // если хендл не получен, то выводим сообщение об ошибке
       return (- 1 );                                         // завершаем работу с ошибкой
   }
   ArraySetAsSeries (buf_CCI, true );                       // устанавливаем индексацию для массива buf_CCI как в таймсерии
 
Сергей Таболин :

변수 = 33

M15

4003 - 시스템 함수를 호출할 때 잘못된 매개변수

정확히 33? 즉시 값 33을 사용하는 이 직접 호출은 오류 4003을 반환합니까?

다시 확인

 
Slava :

정확히 33? 즉시 값 33을 사용하는 이 직접 호출은 오류 4003을 반환합니까?

다시 확인

 int OnInit ()
{
............
//--- количество баров для определения трендов CCI
   bars_4_tr_cur  = 33 ;
............
//+--------
   return ( INIT_SUCCEEDED );
}

반복합니다. 업데이트 전 어드바이저는 3명의 브로커 데모 계정으로 정상적으로 작업했습니다.

이전 버전의 표시등도 교체해 보았습니다. 욕하고 그게 다야.

 

이해했다.

매개변수가 저장된 파일을 읽을 때 오류가 발생했습니다.

그것은:

       if (filehandle != INVALID_HANDLE )

변경 후 작동했습니다.

       if ( FileIsExist (filename, FILE_COMMON ) && filehandle != INVALID_HANDLE )
 
Сергей Таболин :

반복합니다. 업데이트 전 어드바이저는 3명의 브로커 데모 계정으로 정상적으로 작업했습니다.

이전 버전의 표시등도 교체해 보았습니다. 욕하고 그게 다야.

이 EA를 실행하십시오:

나는 0에서 33까지의 막대에서 iCCI 표시기의 데이터를 수신하기 위해 모든 틱이 아닌 주기에서 특별히 설정했습니다.

파일:
iCCI.mq5  11 kb