오류, 버그, 질문 - 페이지 2584

 
Georgiy Merts :

그리고 그런 질문.

때때로 특정 매개변수 세트를 사용하여 최적화할 때 배열이 범위를 벗어날 때 오류가 발생합니다. 오류는 아주 드물게 발생하며 재현할 수 없습니다. 이 오류가 발생하는 매개변수 세트를 알아야 합니다. 이 매개변수 집합을 정의하는 방법은 무엇입니까? 테스터 로그에는 통과 번호가 포함되어 있지만 이 매개변수 집합은 보고서에 없습니다. 이 패스에서 어떤 매개변수가 사용되었는지 어디에서 확인할 수 있습니까?

공통 파일에 지문을 쓰도록 이 성경 을 수정하십시오.

 
그리고 또 다른 오류 - 매개변수의 매개변수 중 하나가 ENUM_TIMEFRAMES 기간이면 이 매개변수에 대한 1D 또는 2D 차트에서 - 어떤 이유로 디스플레이가 없습니다. 나 뿐인가요?
 
fxsaber :

공통 파일에 지문을 쓰도록 이 성경 을 수정하십시오.

예, 다른 옵션이 없다면 이것은 정상적인 솔루션입니다. 고맙습니다.

그리고 당신에 대해 이야기 해 봅시다. 우리는 오랫동안 사실상 서로를 알고 있습니다.

 
변수에 대한 포인터가 mql에서 작동하지 않는다는 것을 올바르게 이해하고 있습니까?
 void OnStart ()
{ 
   int *ptr;
}

컴파일러는 포인터를 사용할 수 없다고 말합니다.

 
Roman :
변수에 대한 포인터가 mql에서 작동하지 않는다는 것을 올바르게 이해하고 있습니까?

컴파일러는 포인터를 사용할 수 없다고 말합니다.

포인터는 객체에만 있을 수 있는 것처럼 보이며 GetPointer()를 호출 하여 얻을 수 있습니다.

 
Georgiy Merts :

포인터는 개체에 대해서만 가능한 것처럼 보이며 GetPointer()를 호출 하여 얻을 수 있습니다.

덕분에. 예, 클래스 객체에는 문제가 없습니다. 그래서 변수가 아니라 슬프게도 작동하는 것에 놀랐습니다.

 

내 개인 계정에 중개 계정을 등록할 곳이 없습니다.

"즐겨찾기"를 열면 흰색 페이지만 있습니다.

무슨 일이야?

mql5 계정을 볼 수도 없고 누구에게도 구독할 수 없습니다.

 

변수에 핸들을 추가하지 않고도 자체 핸들을 읽는 ChartIndicatorGet 함수가 포함된 경우 인디케이터는 인디케이터를 삭제할 때 OnDeinit를 호출하지 않습니다.

 #property indicator_chart_window

int OnInit () {
   for ( int i= 0 ; i< ChartIndicatorsTotal ( 0 , 0 ); i++)  
       ChartIndicatorGet ( 0 , 0 , ChartIndicatorName ( 0 , 0 ,i));
   return ( INIT_SUCCEEDED );
}

//+------------------------------------------------------------------+

void OnDeinit ( const int reason) {
   Print ( "Deinit" );
}

//+------------------------------------------------------------------+

int OnCalculate ( const int rates_total, const int prev_calculated, const int begin, const double &price[]) {
   return (rates_total);
}

또한 표시기를 삭제한 후 표시기를 다시 컴파일하면 OnDeinit에 대한 뒤늦은 호출이 발생합니다(Print("Deinit");가 인쇄됨).

괜찮아?


빌드 2168

파일:
 
Nikolai Semko :

변수에 핸들을 추가하지 않고도 단순히 자체 핸들을 읽는 ChartIndicatorGet 함수가 포함된 경우 인디케이터는 인디케이터를 삭제할 때 OnDeinit를 호출하지 않습니다.

자신의 핸들을 받은 경우 필수 표시기 Release입니다.

 
fxsaber :

자신의 핸들을 받은 경우 필수 표시기Release입니다.

흠...
그리고 표시 핸들을 삭제할 위치와 시점은 무엇입니까?

OnDeinit에서는 논리적이지만 작동하지 않습니다.

ZY 이상한 그림이 나옵니다.
시도 : 핸들을받은 직후 핸들을 삭제하면 삭제되지만 표시기 자체는 사라지고 이름은 남아 있으며 이미 새 핸들이 있고 계속 작동합니다. 그리고 실제로 표시기가 제거되면 OnDeinit가 시작됩니다.

사실, 버퍼리스 표시기로 시도했습니다. 핸들이 삭제될 때 데이터 버퍼가 어떻게 작동할지 모르겠습니다.
나는 아무것도 이해하지 못한다...