MT4가 멈추고 start()를 다시 호출하지 않습니다. - 페이지 2

 

시작():

 int start()
  {     
   int TFInd;
   int k;  
   
   Print ( "start():  started . . ." );  
   
   if (CheckDebug(DebugStart, 2 ))
      {
         DebugStr = "DebugStart: " + "begin: " + " InitialGapFound: " + BoolToString(InitialGapFound);
         PrintDebug(DebugFile, DebugStr);
      }

...

OK는 #define OK입니다 0

내 로그 파일:

2013.11.15 14:35:30 테스트 축소 0: USDJPY M15 디버그 초기화() 시작:
2013.11.15 14:35:30 테스트 축소 0: USDJPY M15 DebugMyInit 시작:
2013.11.15 14:35:30 테스트 축소 0: USDJPY M15 디버그 초기화() 반환:
2013.11.15 14:35:30 테스트 축소 0: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 0: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:30 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:31 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환
2013.11.15 14:35:32 테스트 축소 1180990: USDJPY M15 DebugStart: 시작: InitialGapFound: True
2013.11.15 14:35:32 테스트 축소 1180990: USDJPY M15 DebugStart: InitialHistoryGapClosed
2013.11.15 14:35:32 테스트 축소 1180990: USDJPY M15 DebugMyInit 시작:
2013.11.15 14:35:32 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 1 nach CreateHistory()
2013.11.15 14:35:33 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 2 nach CreateHistory()
2013.11.15 14:35:34 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 3 nach CreateHistory()
2013.11.15 14:35:35 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 4 nach CreateHistory()
2013.11.15 14:35:35 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 5 nach CreateHistory()
2013.11.15 14:35:36 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 6 nach CreateHistory()
2013.11.15 14:35:37 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 7 nach CreateHistory()
2013.11.15 14:35:37 테스트 축소 1180990: USDJPY M15 DebugMyInit 반환 InitialMyInitCalls: 0 IndexCount: 8
2013.11.15 14:35:37 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환


MT4 로그 파일에는 아무 것도 표시되지 않습니다. Print()는 MT4가 멈춘 경우에 작동하지 않습니다. MT4 로그 파일이 플러시되지 않기 때문입니다. 그래서 나만의 로그 기능을 사용하고 있습니다.

또한보십시오

WHRoeder 2013.11.14 19:27 #

로깅 위치/방법? GUI 스레드를 중단하고 있기 때문에 Print/Alert를 사용할 수 없으며 출력이 기록되지 않습니다.

MT4 로그 파일:

13:38:00 GA_피벗 포인트 DE30.Z,M15: 초기화됨
13:38:00 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: 초기화됨
14:35:05 GA_Daily Range Lines V1.3 _US30,M15: 초기화 해제
14:35:05 GA_Daily Range Lines V1.3 _US30,M15: 단위 이유 1
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: 단위 이유 1
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: 단위 이유 1
14:35:05 GA_Pivot Points _US30,M15: 초기화 해제
14:35:05 GA_Pivot Points _US30,M15: 단위 이유 1
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 초기화 해제
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 단위 이유 1
14:35:05 GA_일일 범위 라인 V1.3 _US30,M15: 제거됨
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: 제거됨
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: 제거됨
14:35:05 GA_피벗 포인트 _US30,M15: 제거됨
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 제거됨
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: 단위 이유 1
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: 단위 이유 1
14:35:05 GA_Pivot Points _US30,M15: 초기화 해제
14:35:05 GA_Pivot Points _US30,M15: 단위 이유 1
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 초기화 해제
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 단위 이유 1
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: 제거됨
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: 제거됨
14:35:05 GA_피벗 포인트 _US30,M15: 제거됨
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 제거됨
14:35:05 GA_MTF MAs 1 V1.4 _EUR50,매일: 단위 이유 1
14:35:05 GA_MTF MAs 2 V1.4 _EUR50,매일: 단위 이유 1
14:35:05 GA_Pivot Points _EUR50,매일: 초기화 해제
14:35:05 GA_Pivot Points _EUR50,매일: 단위 이유 1
14:35:05 $CH_Stochastic Copyright Dec2009 _EUR50,매일: 초기화 해제
14:35:05 $CH_Stochastic Copyright Dec2009 _EUR50,매일: 단위 이유 1
14:35:05 GA_MTF MAs 1 V1.4 _EUR50,매일: 제거됨
14:35:05 GA_MTF MAs 2 V1.4 _EUR50,매일: 제거됨
14:35:05 GA_Pivot Points _EUR50,매일: 제거됨
14:35:05 $CH_Stochastic Copyright Dec2009 _EUR50,매일: 제거됨
14:35:05 GA_MTF MAs 1 V1.4 _DE30,M15: 단위 이유 1
14:35:05 GA_MTF MAs 2 V1.4 _DE30,M15: 단위 이유 1
14:35:05 GA_피벗 포인트 _DE30,M15: 초기화 해제
14:35:05 GA_Pivot Points _DE30,M15: 단위 이유 1
14:35:05 $CH_Stochastic Copyright Dec2009 _DE30,M15: 초기화 해제
14:35:05 $CH_Stochastic Copyright Dec2009 _DE30,M15: 단위 이유 1
14:35:05 GA_MTF MAs 1 V1.4 _DE30,M15: 제거됨
14:35:05 GA_MTF MAs 2 V1.4 _DE30,M15: 제거됨
14:35:05 GA_피벗 포인트 _DE30,M15: 제거됨
14:35:05 $CH_Stochastic Copyright Dec2009 _DE30,M15: 제거됨
14:35:05 GA_MTF MAs 1 V1.4 DE30.Z,M15: 단위 이유 1
14:35:05 GA_MTF MAs 2 V1.4 DE30.Z,M15: 단위 이유 1
14:35:05 GA_Pivot Points DE30.Z,M15: 초기화 해제
14:35:05 GA_Pivot Points DE30.Z,M15: 단위 이유 1
14:35:05 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: 초기화 해제
14:35:05 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: 단위 이유 1
14:35:05 GA_MTF MAs 1 V1.4 DE30.Z,M15: 제거됨
14:35:05 GA_MTF MAs 2 V1.4 DE30.Z,M15: 제거됨
14:35:05 GA_Pivot Points DE30.Z,M15: 제거됨
14:35:05 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: 제거됨

 
mt4forum :

시작():

OK는 #define OK입니다 0

확인

MT4 로그 파일에는 아무 것도 표시되지 않습니다. Print()는 MT4가 멈춘 경우 작동하지 않습니다. MT4 로그 파일이 플러시되지 않기 때문입니다. 그래서 나는 내 자신의 로그 기능을 사용하고 있습니다.

또한보십시오

WHRoeder 2013.11.14 19:27 #

로깅 위치/방법? GUI 스레드를 중단하고 있기 때문에 인쇄/경고를 사용할 수 없습니다. 출력이 기록되지 않습니다.
Print()는 hang 전에 작동합니다. . . . EA 실행을 중지한 경우 EA 버튼을 클릭하면 로그 파일이 플러시되지 않습니까? 그러면 마지막 인쇄물을 볼 수 있습니다. . . 또는 그것을 Comment()로 변경하고 Comment("")로 start() 끝에 주석을 지우십시오.
 

프로그램을 지표로 실행하고 있습니다.

그것을 막으려면 MT4 터미널 프로세스 를 죽여야 합니다.

나는 당신이 제안한대로 comment()를 삽입했습니다.

댓글이 차트에 표시되지 않습니다.

 
         if ( TimeLocal () >= LastInitialGapCloseCheck + HistoryDownloadCheckInterval)                                   // zzz
TimeLocal을 호출하는 이유는 테스터의 시간이 아니라 브로커 시간이 아니라 컴퓨터 시간(TZ)입니다. TimeCurrent() 두 곳에서 모두 시도하십시오.
 

알아, 나는 그것을 다시 확인하기 전에 얼마나 많은 시간이 경과했는지 확인하기 위해 사용하고 있습니다.

이 경우 항상 같은 기능을 사용하는 한 모든 시간 기능 을 사용할 수 있습니다.

그게 문제가 아닙니다.

어떻게 든 start() 함수의 함수 호출 스택을 파괴하는 것이 가능합니까?

 
mt4forum : 이 경우 항상 같은 기능을 사용하는 한 모든 시간 기능을 사용할 수 있습니다. 그게 문제가 아닙니다.
테스터/옵티마이저를 사용하려는 경우 문제입니다.
 
mt4forum :

프로그램을 지표로 실행하고 있습니다.

인터페이스 스레드를 감속하고 있습니까?
 
RaptorUK :
인터페이스 스레드를 감속하고 있습니까?

그게 무슨 뜻 이니?

 
mt4forum :

그게 무슨 뜻 이니?

표시기에서 Sleep() 할 수 없거나 MessageBox() 를 사용할 수 없거나 코드가 루프에서 오랜 시간이 걸리는 경우. . .

" 커스텀 인디케이터는 인터페이스 스레드 내에서 실행되고 감속할 수 없기 때문에 함수를 호출할 수 없습니다. "
 

아니요, sleep() 또는 messagebox() 를 사용하지 않습니다. 하지만 약 5초가 소요되는 MyInit() 함수에서 많은 작업을 수행합니다.

로그 파일에서 다음을 확인할 수 있습니다.

2013.11.15 14:35:32 테스트 축소 1180990: USDJPY M15 DebugStart: InitialHistoryGapClosed
2013.11.15 14:35:32 테스트 축소 1180990: USDJPY M15 DebugMyInit 시작: <---------- 작업 시작
2013.11.15 14:35:32 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 1 nach CreateHistory()
2013.11.15 14:35:33 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 2 nach CreateHistory()
2013.11.15 14:35:34 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 3 nach CreateHistory()
2013.11.15 14:35:35 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 4 nach CreateHistory()
2013.11.15 14:35:35 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 5 nach CreateHistory()
2013.11.15 14:35:36 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 6 nach CreateHistory()
2013.11.15 14:35:37 테스트 축소 1180990: USDJPY M15 DebugMyInit InitialMyInitCalls: 0 IndexCount: 7 nach CreateHistory()
2013.11.15 14:35:37 테스트 축소 1180990: USDJPY M15 DebugMyInit 반환 InitialMyInitCalls: 0 IndexCount: 8 <---------- 작업 종료
2013.11.15 14:35:37 테스트 축소 1180990: USDJPY M15 DebugStart: InitialGapFound의 마지막 반환

하지만 그 이후에 MT4가 루프에 빠지게 된 이유는 무엇입니까?