Ovo : 여러분 모두는 무한 루프에 대해 이야기하지만 아무도 CreateHistory()가 무엇을 하는지 궁금해하지 않습니다. 로그 출력에 따르면 마지막 start() 실행에서만 나타납니다.
일종의 히스토리 저장 기능인 줄 알았습니다. . . OP가 그것을 보여주고 싶다면 그는 그렇게 할 것입니다. . . 나는 그가 그렇게 하지 않는다고 가정하고 그가 한다 해도 우리가 그를 돕는 데 도움이 되지 않을 것입니다. 가장 빠른 방법은 누군가가 새로운 눈으로 코드를 볼 수 있도록 자신의 코드를 게시하는 것입니다. . . .
RaptorUK : 일종의 히스토리 저장 기능인 줄 알았습니다. . . OP가 그것을 보여주고 싶다면 그는 그렇게 할 것입니다. . . 나는 그가 그렇게 하지 않는다고 가정하고 그가 한다 해도 우리가 그를 돕는 데 도움이 되지 않을 것입니다. 가장 빠른 방법은 누군가가 새로운 눈으로 코드를 볼 수 있도록 자신의 코드를 게시하는 것입니다. . . .
문제 없습니다. 무한 루프가 터미널이 중단되는 유일한 이유는 아닐 수도 있다는 점을 지적하고 싶었습니다. 특히 스크립트가 일부 파일을 수정하는 경우.
아니요, 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가 루프에 빠지게 된 이유는 무엇입니까?
여러분 모두는 무한 루프에 대해 이야기하지만 아무도 CreateHistory()가 무엇을 하는지 궁금해하지 않습니다. 로그 출력에 따르면 마지막 start() 실행에서만 나타납니다.
일종의 히스토리 저장 기능인 줄 알았습니다. . . OP가 그것을 보여주고 싶다면 그는 그렇게 할 것입니다. . . 나는 그가 그렇게 하지 않는다고 가정하고 그가 한다 해도 우리가 그를 돕는 데 도움이 되지 않을 것입니다. 가장 빠른 방법은 누군가가 새로운 눈으로 코드를 볼 수 있도록 자신의 코드를 게시하는 것입니다. . . .
mt4forum 2013.11.16 11:14
하지만 그 이후에 MT4가 루프에 빠지게 된 이유는 무엇입니까?
로그 파일로 판단하면 이미 루프에 있었던 것 같습니다. 8이 되면 어떻게 될까요? 그것이 루프를 빠져 나갔다는 것을 어떻게 알 수 있다면 루프에 있었습니까? init() 로 돌아갔습니까?
Print("Start Started"); 로그 파일에 나타나지 않았으므로 start() 함수에 들어가지 않았습니다. 이는 init() 함수를 종료하지 않았음을 의미합니다. Print() 문을 더 넣고 범위를 좁힙니다.
먼저 많은 관심 부탁드리며, 답변이 늦어 죄송합니다.
다음 항목에서 다양한 의견을 다룰 것입니다.
그렇지는 않지만 인터페이스 스레드를 망치고 MT4가 잠깁니다. . . 당신은 EA에서 당신이하고있는 일을 할 수 없습니까?
저는 EA로 프로그램을 실행했습니다. MT4도 중단되거나 충돌합니다.
저는 EA로 프로그램을 실행했습니다. MT4도 중단되거나 충돌합니다.
여러분 모두는 무한 루프에 대해 이야기하지만 아무도 CreateHistory()가 무엇을 하는지 궁금해하지 않습니다. 로그 출력에 따르면 마지막 start() 실행에서만 나타납니다.
CreateHistory()는 많은 작업을 수행합니다. 통화 쌍 및 기간을 반복하고 오프라인 차트를 생성합니다.
그러나 로그 파일은 올바르게 완료되었음을 보여줍니다.
로그 파일로 판단하면 이미 루프에 있었던 것 같습니다. 8이 되면 어떻게 될까요? 루프가 종료되었는지 어떻게 알 수 있습니까? init() 로 돌아갔습니까?
Print("Start Started"); 로그 파일에 나타나지 않았으므로 start() 함수에 들어가지 않았습니다. 이는 init() 함수를 종료하지 않았음을 의미합니다. 더 많은 Print() 문을 넣고 범위를 좁힙니다.
8에 도달하면 init()로 올바르게 반환됩니다.
로그 파일의 다음 행은 이를 보여줍니다. "DebugMyInit return ..."은 MyInit()의 마지막 디버그 라인입니다.
2013.11.15 12:33:22 테스트 축소 395052: USDJPY M15 DebugMyInit 반환 InitialMyInitCalls: 0 IndexCount: 8
내 자신의 인쇄 기능 을 사용하여 로그 파일을 생성합니다. Print("Start Started")는 해당 로그 파일에 인쇄하지 않습니다.
항목
2013.11.15 12:33:22 테스트 축소 395052: USDJPY M15 DebugStart: InitialGapFound에서 마지막 반환
init() 함수를 종료했음을 보여줍니다.
내 디버그 기능이 모든 정보를 올바르게 기록한다고 믿을 수 있다면 로그 파일은 start()를 마지막으로 실행한 후,
start()가 종료되고 다시 호출되지 않습니다. 그게 바로 문제 야.