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

 
uncleVic :

EMPTY_VALUE 가져오기 파일이 열려 있지 않으면 반환합니다. 0.0을 얻는 것이 더 편리하면 0.0을 반환하십시오.

하지만 반환해야 할 것이 있습니다. 열지 않은 파일을 읽는 것은 좋지 않습니다.

개봉 오류에 대해. 다음과 같이 작성하십시오.

테스터의 스크린샷이 제공됩니다. 터미널에서도 마찬가지인가요?


예, 터미널에서도 동일하지만 오류는 다음과 같습니다.

20MB 파일, 약 250만 개 값

테스트 초기에 20번 개봉했을 때 가능했습니다.

원하는 값을 얻으면 오류가 지속적으로 5004입니다. 파일을 열 수 없습니다.

2MB로 시도했습니다. 약 400,000개의 값. - 열리지만 더 커지기를 원하지 않고 데이터를 살펴보았습니다.

작업 관리자, 2.5GB RAM이면 충분합니다. (또 다른 500MB는 무료입니다!)

 

이전 에 20MB 파일을 열지 않았다면 CODE POLTERGEIST가 내 컴퓨터에서 시작되었습니다.

그런 다음 기술에서. 현재 38MB 파일을 열어 테스트를 진행 중입니다. 550만 개 값(2005년 데이터),

그러나 2001년 이후 - 약 천만. 값 65MB 미만의 크기입니다. 열고 싶지 않습니다. 흥미롭네요. 하지만 이유가 명확하지 않습니까?

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
Renat :
불행히도 지정된 카드에는 아무 것도 도움이 되지 않습니다. 노트북이라면 상황은 절망적입니다. 그렇지 않으면 1000-1500 루블의 경우 모든 성능 문제를 제거하는 상당히 강력한 비디오 카드를 구입할 수 있습니다.


그래서 mt4\mt5에게 DirectX 2D 가속이 작동하는지, 어떻게 하는지 알려주세요...?


위의 매개변수 중 벡터 그래픽 속도를 높이는 데 중요한 매개변수는 무엇 입니까? 아니면 모두?

다른 질문이 있습니다... 프로세서에 내장된 HD2000용 드라이버는 공식적으로 Windows Server 2008 r2 SP1 64비트 를 지원하지 않습니다. -

하지만 비스타와 7ka 64비트만....


이 불완전한 호환성 은 어떻게 든 영향을 줄 수 있습니다 ... ?

( 장작이 올라갔지만 HD 게임이 출시되어도 작동합니다... )


2. Windows Server 2008 r2 SP1 64비트 시스템에서 2D 비디오 하드웨어와 호환되는 MT4\MT5 플랫폼은 어떻습니까?


어떤 제조업체가 선택하는 것이 더 낫습니까 ... radions ... nVidia?


mt4 \ mt5 용 어댑터의 속도 및 호환성에 대한 테스트가 수행되었습니다 ... ?


감사하다.

 
Im_hungry :

예, 터미널에서도 동일하지만 오류는 다음과 같습니다.

20MB 파일, 약 250만 개 값

테스트 초기에 20번 개봉했을 때 가능했습니다.

원하는 값을 얻으면 오류가 지속적으로 5004입니다. 파일을 열 수 없습니다.

2MB로 시도했습니다. 약 400,000개의 값. - 열리지만 더 커지기를 원하지 않고 데이터를 살펴보았습니다.

작업 관리자, 2.5GB RAM이면 충분합니다. (또 다른 500MB는 무료입니다!)

많이 안읽었는데 하이라이트 된 글이 눈에 띄네요... 파일닫는건가요?

일반적으로 설명자를 올바르게 처리하고 있습니까?

 
AlexSTAL :

많이 읽지 않았는데 하이라이트 된 글이 눈에 들어왔다... 파일을 닫는 건가?

일반적으로 설명자를 올바르게 처리하고 있습니까?

논리(주어진 코드로 판단)는 거의 정확합니다. 핸들을 검사한 후 검사 결과에 관계없이 읽고 씁니다(그리고 파일도 닫습니다).

여기서 문제는 다른 문제라고 생각합니다.

1. 각 눈금의 표시기는 파일을 열고, 데이터를 쓰고, 파일을 닫습니다.

2. Expert Advisor(나는 매 틱마다 생각함)가 파일을 열고, 데이터를 읽고, 파일을 닫습니다.

왜냐하면 이것은 다른 스트림에서 발생하고 파일 크기가 클수록 Expert Advisor가 파일을 열 때 표시기가 연 파일을 "실행"할 가능성이 더 높습니다. 이후 FILE_SHARE_READ 열기 플래그가 사용되지 않으면 결과가 따릅니다.

제 생각에는 문제의 해결책은 다음과 같을 수 있습니다.

1. FILE_SHARE_READ 플래그 를 사용하여 OnInit에서 파일(표시기 및 Expert Advisor 모두에서)을 엽니다 .

2. 녹음 후 표시기에서 FileFlush(handle)를 호출 합니다.

3. OnDeinit에서 파일을 닫습니다.

그런 것.


Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
 
tester_el_pro :


그래서 mt4\mt5에게 DirectX 2D 가속이 작동하는지, 어떻게 하는지 알려주세요...?


터미널은 2D 가속기가 필요한 일반 Windows GDI를 사용합니다.

카드를 선택할 때 가장 낮은 가격 수준이라도 외부 3D를 선택하십시오. 충분할 것입니다.
그리고 비디오 카드의 성능의 기본 포인트를 비교할 필요가 없습니다.

 
uncleVic :

논리(주어진 코드로 판단)는 거의 정확합니다. 핸들을 검사한 후 검사 결과에 관계없이 읽고 씁니다(그리고 파일도 닫습니다).

제 생각에는 문제의 해결책은 다음과 같습니다.

1. FILE_SHARE_READ 플래그 를 사용하여 OnInit에서 파일(표시기 및 Expert Advisor 모두에서)을 엽니다 .

2. 녹음 후 표시기에서 FileFlush(handle)를 호출 합니다.

3. OnDeinit에서 파일을 닫습니다.

그런 것.


이것에 대해 실시간을 사용할 때 미래에 대해 감사합니다.

고문과 칠면조의 파일 작업 - 귀하의 조언을 사용하겠습니다.

 
AlexSTAL :

많이 읽지 않았는데 하이라이트 된 글이 눈에 들어왔다... 파일을 닫는 건가?

일반적으로 설명자를 올바르게 처리하고 있습니까?

예, 물론입니다. 파일은 볼 수 있지만 열기 오류 5004로 인해 읽고 싶지 않습니다.
 
uncleVic :

논리(주어진 코드로 판단)는 거의 정확합니다. 핸들을 검사한 후 검사 결과에 관계없이 읽고 씁니다(그리고 파일도 닫습니다).

여기서 문제는 다른 문제라고 생각합니다.

1. 각 눈금의 표시기는 파일을 열고, 데이터를 쓰고, 파일을 닫습니다.

2. Expert Advisor(나는 매 틱마다 생각함)가 파일을 열고, 데이터를 읽고, 파일을 닫습니다.

왜냐하면 이것은 다른 스트림에서 발생하고 파일 크기가 클수록 Expert Advisor가 파일을 열 때 표시기가 연 파일을 "실행"할 가능성이 더 높습니다. 이후 FILE_SHARE_READ 열기 플래그가 사용되지 않으면 결과가 따릅니다.

제 생각에는 문제의 해결책은 다음과 같을 수 있습니다.

1. FILE_SHARE_READ 플래그 를 사용하여 OnInit에서 파일(표시기 및 Expert Advisor 모두에서)을 엽니다 .

2. 녹음 후 표시기에서 FileFlush(handle)를 호출 합니다.

3. OnDeinit에서 파일을 닫습니다.

그런 것.



다툼은 칠면조의 일을 다른 방식으로 지정하지 않았고,

1. 터미널에서 테스트하기 전에 칠면조를 실행합니다.

2. 각 막대에 막대의 시간과 그의 시간을 기록합니다. 값 상관 관계

3. 파일을 테스터의 폴더로 옮깁니다. C:\Program Files\MetaTrader 5\tester\Agent-127.0.0.1-3000\MQL5\Files여야 합니다.

4. 나는 2005년부터 모든 기록 데이터에 대해 작업하는 어드바이저를 시작합니다.

읽기(38MB), 2002년 이후 - 읽지 않음(67MB)

 

같은 칠면조에서 같은 것을 쓰려고했지만 mt4에서

bin 파일을 MT5 테스터 폴더로 전송 - 파일 없음

열리지 않음 - 오류 5004, mt 5에서 여전히 최소한 무언가가 열립니다.


MT 4에서는 다음과 같이 표시기에 데이터 기록을 구현했습니다(모든 데이터가 올바르게 기록됨).

      Corr = GetCorrelation();
      Pos = iBarShift( Symbol (), Period (), Times[CurrPos]);
      Buffer[Pos] = NormalizeDouble (Corr, 3 );
//------
       datetime bar2 = iTime(Symbol1, 0 , Pos);
       Print ( "Buffer[Pos]..." ,Buffer[Pos], "...bar2..." ,bar2);
      handle= FileOpen ( "kor.bin" , FILE_BIN | FILE_READ | FILE_WRITE , ";" );
      if (handle< 1 ) Print ( "can't open file error-" , GetLastError ());
      if (handle>= 1 )
       {
        FileSeek (handle, 0 , SEEK_END );
        FileWriteDouble (handle,bar2,DOUBLE_VALUE); 
        FileSeek (handle, 0 , SEEK_END );
        FileWriteDouble (handle,Buffer[Pos],DOUBLE_VALUE); 
        FileClose (handle);
       }
//------
      CurrPos++;

그리고 고문의 MT5 판독 값은 동일하게 유지되었습니다.

 double proverka()
{
 if ( FileIsExist ( "kor.bin" , 0 )== true ) Print ( "ФАЙЛ ОБНАРУЖЕН = ..." );
 handle= FileOpen ( "kor.bin" , FILE_BIN | FILE_READ );
 if (handle < 0 ) Print ( "-----Неоткрывается :- Почему? Потому что произошла ошибка " , GetLastError ());
 ulong file= FileSize (handle);
 ulong N = 0.0 ;
 double kor = 0.0 ;
 datetime bar[ 1 ];
 CopyTime (Symbol_1, NULL , 0 , 1 ,bar);
 ulong New = ( ulong ) bar[ 0 ];
 while (N < file)
  {
   kor= FileReadDouble (handle); 
   N = FileTell (handle);
   //Print("1...kor=",kor,"N=",N,"file=",file,"New=",New);
   if (kor == New) 
    {
     double ss = FileReadDouble (handle);
     FileClose (handle);
     Print ( "2...ss=" ,ss);
     return (ss);
     break ;
    }
   if (New < kor)
    {
     Print ( "New=" ,New, "kor=" ,kor);
     return ( 0.0 );
     break ;
    }
  } 
 Print ( "ВСЕЕЕЕЕЕ" ,kor);
 FileClose (handle);
 return (kor);
}
//=

MT5 Advisor가 MT4에서 생성된 파일을 열 수 있습니까?

사유: