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

 

오늘 밤 나는 영어에서 페이지를 번역하기로 결정했습니다 -

"이 사이트는 쿠키를 사용합니다. 쿠키 정책 에 대해 자세히 알아보세요."

나는 Yandex 번역기에서 링크를 얻었고 번역을 읽었습니다. MQL5 웹사이트에 들어갈 때 다음과 같은 메시지를 받았습니다.

이것을 얻지 않도록 여기에서 다른 언어의 페이지를 올바르게 번역하는 방법은 무엇입니까?
 
Vladimir M. :

오늘 밤 나는 영어에서 페이지를 번역하기로 결정했습니다 -

"이 사이트는 쿠키를 사용합니다. 쿠키 정책 에 대해 자세히 알아보세요."

나는 Yandex 번역기에서 링크를 얻었고 번역을 읽었습니다. MQL5 웹사이트에 들어갈 때 다음과 같은 메시지를 받았습니다.

이것을 얻지 않기 위해 다른 언어의 페이지를 여기에서 올바르게 번역하는 방법은 무엇입니까?

어떻게 든 텍스트에 복사-붙여넣기를 사용하여 사용자를 식별하기 위해 고유한 조합으로 보이지 않는 특수 문자가 포함되어 있는지 의심됩니다.
그러나 모든 것이 될 수 있습니다 ...

 

친구 여러분, 저는 여러분의 경험에 호소하며 올바른 결정을 내리도록 저를 인도해 주실 것을 요청합니다.

특정 간격(몇 분에 한 번)으로 데이터를 파일에 업로드하고 외부 프로그램을 실행하고 . 전체 루프는 ~600밀리초 내에 완료됩니다.

전략을 테스트할 때 외부 프로그램이 완료될 때까지 프로그램을 기다리게 하려면 어떻게 해야 합니까(즉, 이때 가격 흐름이 일시 중단되거나 이상적으로는 600밀리초 동안 틱을 건너뛰어야 함)?

그렇지 않으면, 이제 전략을 테스트할 때 외부 프로그램을 실행하는 동안 며칠의 틱이 날아갑니다 :-(. EA는 비주얼 테스터에서 작동합니다. 그러나 몇 년의 역사 동안 전략을 테스트하는 데 엄청나게 오랜 시간이 걸릴 것입니다. .

 
fxsaber :

완전히 이해할 수 없는 무언가가 있습니다. 다음은 코드입니다.

어떤 이유로 포인터를 참조로 전달할 것을 맹세합니다. 이 경우 함수 f는 침착하게 포인터를 참조로 취합니다.


결과

int가 있는 연산자는 문제 없이 호출되었지만 포인터가 있는 연산자는 호출되지 않았습니다.

네, 그런 문제가 있습니다. 오버로드된 연산자에 대한 참조로 포인터를 전달하면 오류가 발생합니다. 이것은 모든 것이 정상화되기 전에 최신 빌드에 나타났습니다. 이미 서비스 데스크에 몇 개월 동안 요청을 보냈지만 평소와 같이 둔합니다. 답변이 없습니다. 안녕하세요.

이것은 참조를 제외하고는 다른 방법으로 전달할 수 없기 때문에 포인터 배열에 특히 중요합니다.

 class A
{
 public : 
  A* operator +( const A* const & array[]) { return NULL ; }
};

그래서 나는 여전히 빌드 1554에 있습니다.

 
romachandr :

글쎄, 서투른 옵션으로 (나쁜 의미는 아님):

전문가:

1. 쉘 스크립트 파일이 호출됩니다.

2. 외부 작업의 완료를 알리는 파일이 나타날 때까지 기다립니다.

3. 시그널 파일 삭제


셸 스크립트:

1. 외부 프로그램 실행

2. 시그널 파일 생성

추신 : 링크가 자동으로 삽입되었습니다. 그것에 관한 것이 아닙니다.

추신: 그런데 외부 프로그램은 어떻게 시작합니까? 일부 ProcessCreate() 또는 ShellExecute()를 통해 수신된 핸들을 WaitForSingleObject()에 줄 수 있지만 이것은 winapi 유형을 선언하는 춤입니다.

 
pavlick_ :

글쎄, 서투른 옵션으로 (나쁜 의미는 아님):

전문가:

1. 쉘 스크립트 파일이 호출됩니다.

2. 외부 작업의 완료를 알리는 파일이 나타날 때까지 기다립니다.

3. 시그널 파일 삭제


쉘 스크립트:

1. 외부 프로그램 실행

2. 시그널 파일 생성

추신 : 링크가 자동으로 삽입되었습니다. 그것에 관한 것이 아닙니다.

추신: 그런데 외부 프로그램은 어떻게 시작합니까? 일부 ProcessCreate() 또는 ShellExecute()를 통해 수신된 핸들을 WaitForSingleObject()에 줄 수 있지만 이것은 winapi 유형을 선언하는 춤입니다.

외부 프로그램은 ShellExecuteW()로 시작됩니다.

프로그램의 출력은 파일입니다. 사실 신호일 수도 있다.

하지만 지금 테스터를 일시 중지하는 방법을 이해하지 못합니까?

나는 winapi에 대해 잘 모릅니다. 정말 도움이된다면 더 깊이 들어갈 준비가되었습니다.

 
romachandr :

외부 프로그램은 ShellExecuteW()로 시작됩니다.

프로그램의 출력은 파일입니다. 사실 신호일 수도 있다.

하지만 지금 테스터를 일시 중지하는 방법을 이해하지 못합니까?

나는 winapi에 대해 잘 모릅니다. 정말 도움이 된다면 더 깊이 들어갈 준비가 되었습니다.

winapi에는 다음과 같은 메커니즘이 있습니다.

생성 시 반환된 HANDLE에 의해 설명되는 객체(스레드, 프로세스, 뮤텍스 등)에는 신호 플래그가 있습니다. 프로세스에 대해 이야기하면 완료 후 설치됩니다. WaitForSingleObject()는 플래그가 설정될 때까지 현재 스레드(전문가 고문)의 실행을 중지합니다. Expert Advisor는 외부 프로그램이 완료된 후 WaitForSingleObject()를 종료합니다.

ShellExecuteW()는 HANDLE을 반환하지 않지만 HINSTANCE 를 반환하며 Wait..() 함수에서 작동하는지 확실하지 않지만 시도해 볼 가치가 있습니다. 작동하지 않으면 예를 들어 ShellExecuteEx를 사용해야 합니다(그러나 내부에 중요한 인수가 전달됨).

http://fkn.ktu10.com/?q=node/633

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx

 
pavlick_ :

winapi에는 다음과 같은 메커니즘이 있습니다.

생성 시 반환된 HANDLE에 의해 설명되는 객체(스레드, 프로세스, 뮤텍스 등)에는 신호 플래그가 있습니다. 프로세스에 대해 이야기하면 완료 후 설치됩니다. WaitForSingleObject()는 플래그가 설정될 때까지 현재 스레드(전문가 고문)의 실행을 중지합니다. Expert Advisor는 외부 프로그램이 완료된 후 WaitForSingleObject()를 종료합니다.

ShellExecuteW()는 HANDLE을 반환하지 않지만 HINSTANCE 를 반환하며 Wait..() 함수에서 작동하는지 확실하지 않지만 시도해 볼 가치가 있습니다. 작동하지 않으면 예를 들어 ShellExecuteEx를 사용해야 합니다(그러나 내부에 중요한 인수가 전달됨).

http://fkn.ktu10.com/?q=node/633

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx

조언 해주셔서 감사합니다!

내가 알아보러 갈게

 
romachandr :

하지만 지금 테스터를 일시 중지하는 방법을 이해하지 못합니까?

 #import "Kernel32.dll"
 void Sleep ( int milliseconds);
#import


void OnTick ()
{
   while (! Condition()) Kernel32:: Sleep ( 10 );
}
 
왜 그렇게 어렵습니까? 결과 파일 + 기본 수면 을 따라 문제를 해결하십시오.