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

 
A100 :

그러나 당신은 그것을 제거할 수 없습니다 - 그것은 고문 코드이기 때문에 또는 당신이 사건과 관련이 없는 수천 줄의 다른 사람의 코드를 이해하기를 원하기 때문에 - 그 결과는 단지 시간 지연뿐입니까?

위에서 내가 당신에게 준 작업을 완료하고 결과를 대중에게보고하십시오.

왜 잘못된 코드를 반복해야 하나요???? 알 수 없는 .ex 파일을 첨부해야 하는 이유는 무엇입니까????

특히 FILE_SHARE_READ|FILE_SHARE_WRITE 플래그가 있는 파일을 여는 동안 오류가 발생한 경우 인위적으로 생성된 관련 없는 오류 없이 이러한 문제를 재현하십시오.

 
Alexey Viktorov :

왜 잘못된 코드를 반복해야 하나요???? 알 수 없는 .ex 파일을 첨부해야 하는 이유는 무엇입니까????

특히 FILE_SHARE_READ|FILE_SHARE_WRITE 플래그가 있는 파일을 여는 동안 오류가 발생한 경우 인위적으로 생성된 관련 없는 오류 없이 이러한 문제를 재현하십시오.

그리고 왜 코드가 잘못되었다고 결정했습니까?

어떤 형식으로 오류를 보고할 수 있습니까? 이 보고서에서 귀하를 위한 것이 아니라 개발자를 위한 .ex 파일을 업로드했습니다. 간단한 오류 재현을 돕고 싶다면 내 권장 사항을 사용할 수 있습니다. 돕고 싶지 않다면 빈 악성 게시물로 다른 사람을 방해하지 마십시오

 
A100 :

그리고 코드가 잘못되었다고 결정한 이유는 무엇입니까?

어떤 형식으로 오류를 보고할 수 있습니까? 이 보고서에서 귀하를 위한 것이 아니라 개발자를 위한 .ex 파일을 업로드했습니다. 간단한 오류 재현을 돕고 싶다면 내 권장 사항을 사용할 수 있습니다. 돕고 싶지 않다면 빈 악성 게시물로 다른 사람을 방해하지 마십시오

귀하의 게시물은 악성 게시물에 가깝습니다. 내 요청

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

알렉세이 빅토 로프 , 2018.07.23 14:16

도움이되지 않는 것이 이상합니다. FILE_SHARE_WRITE 플래그 없이 5004만 얻을 수 있었습니다.

쓰기 EA의 파일은 OnInit에서 열리고 OnDeinit에서만 닫힙니다. 동시에 읽기 어드바이저에서는 문제 없이 파일을 읽고 인쇄합니다.

동작을 보다 정확하게 반복하려면 파일 작성 방법을 명확히 하는 것이 좋습니다.


귀하에게 전달되지 않았지만 인위적으로 생성 된 오류로 인해 개발자가주의를 기울이지 않은 2 년 전 게시물을 붙이고 소란스럽게했습니다.

그리고 다시 한 번 반복합니다. 왜 인위적으로 생성된 오류를 재현해야 합니까????????????

 
Alexey Viktorov :

그리고 다시 한 번 반복합니다. 왜 인위적으로 생성된 오류를 재현해야 합니까????????????

인위적으로 생성된 오류가 무엇인지 설명하십시오. 나는 이 구절을 이해하지 못한다.
 
TheXpert :

쓰기용 파일(코드의 1부)을 연 후 Windows 뷰어로 보십시오. 문제가 무엇인지 적어도 명확해질 것입니다.

열리면 - 두 번째로, 그렇지 않으면 - 첫 번째로.

그러면 Windows가 첫 번째 파일을 엽니다. 시스템 수준에서 읽기, 쓰기, share_read 플래그가 설정되어 있음을 알 수 있습니다. 그러나 터미널에서 읽기 위해 동일한 파일을 열면 5004가 표시됩니다. 첫 번째 EA는 파일에 씁니다. 일부 플래그와 함께 형식적으로 열려 있는 것이 아닙니다.

시간이 되면 시연용 스크립트를 만들어 보도록 하겠습니다. 그러나 내가 이것에 대해 처음으로 작성하는 것이 아니며 코드에 파일과 관련된 종소리와 휘파람이 없다는 사실로 판단하면 곡률이 있습니다.

추신. 누군가가 이미 SD에 글을 썼을까요? 답은 무엇입니까?

 
A100 :
엄밀히 말하면 이 오류는 다른 Expert Advisors에서 FileOpen( filename )을 동시에 호출하는 것과 관련이 있습니다(플래그는 역할을 하지 않음).
FILE_SHARE_READ 플래그는 실제로 적어도 winapi 원본에서 비배타적 읽기 액세스를 의미합니다.
 
Stanislav Korotky :

그러면 Windows가 첫 번째 파일을 엽니다.

플래그에도 불구하고 두 번째 핸들이 단독 읽기 액세스 또는 기타 무단 액세스를 원함을 의미합니다.
 
A100 :
인위적으로 생성된 오류가 무엇인지 설명하십시오. 나는 이 구절을 이해하지 못한다.

내 말에는 숨겨진 하위 텍스트가 없습니다. 인조 가죽이 무엇인지 이해하실 것입니다. 이 이해에 집중하십시오.

탬버린과 함께 템플릿 및 기타 댄스를 사용하여 추가 조작 없이 코드를 표시합니다. 이는 FILE_SHARE_READ|FILE_SHARE_WRITE 플래그 와 함께 ERR_CANNOT_OPEN_FILE 오류를 반환합니다.

탬버린과 함께 춤을 추지 않고 오류가 재현되지 않으면 춤을 추는 동안 오류가 발생한 것입니다 ...

나는 일련의 행동을 반복합니다.

고문 1:

OnInit에서 바이너리 파일은 쓰기 위해 열립니다.

매분 파일에 현재 표시줄의 시작을 씁니다.

파일은 OnDeinit에서만 닫힙니다.

고문 2:

1분마다 이 바이너리 파일이 열립니다.

마지막 항목을 읽고 인쇄합니다.

파일을 닫습니다.

그래서 1분마다 반복됩니다.


파일 열기 오류가 없습니다.

 

여기 이 간단한 스크립트에서 처음에는 write = true로 시작한 다음 write = false로 다른 차트에서 오류가 발생합니다.

 #property script_show_inputs

input bool writing = false ;

int OnStart ()
{
   int handle = FileOpen ( "xyz.foo" , FILE_READ | FILE_BIN | FILE_SHARE_READ |(writing? FILE_WRITE : 0 ));
   if (handle == INVALID_HANDLE )
  {
     Print ( "FileOpen failed: " , GetLastError ());
     return INIT_FAILED ;
  }
  
   if (writing) FileWriteInteger (handle, 0 );
  
   Print ( "handle=" , handle);
  
   while (! IsStopped ())
  {
     Sleep ( 1000 );
  }

   Print ( "Closing" );
   FileClose (handle);

   return 0 ;
}
 
Andrey Khatimlianskii :

내가 기억하는 한 시간 초과가 거기에 구성되고 그 후에 가격은 절망적으로 구식으로 간주됩니다. 즉, 3분 동안 변경되지 않으면 열 수 없습니다.

이 경우에 대한 테스트 스크립트를 작성했습니다. 마지막 틱이 오고 64초 후에 NoPrice를 포착했습니다. 아마도 1분 타임아웃은 그만한 가치가 있습니다. 내가 감시할게...