로그 파일과 느린 최적화 속도로 HD를 어수선하게 만드는 660보다 높은 빌드 - 페이지 3

 

로그 파일 디렉토리는 항상 /tester 디렉토리에 있습니다. /portable 모드에서 MT4를 사용하고 있기 때문에 UserData 폴더에 있는 경우일 수 있습니다.

예, 명령줄을 통해 테스터를 시작할 수 있지만 아무 도움이 되지 않습니다. 로깅은 빌드 670 이후로 프로그램 내부에서 수행되며 명령줄로 끌 방법이 없습니다.

출력을 NUL로 리디렉션하는 것은 내부 로깅과 관련이 없습니다. 당신의 아이디어는 명령 프롬프트 상자의 출력을 nul(실제 텍스트 출력)로 리디렉션하는 것입니다. 아무 것도 하지 않는 MT4와 같은 GUI가 있는 애플리케이션의 경우.

 

로그로 더 재미있게!



 

흠 - 내 파산 중 하나가 b765로 업데이트되었습니다 - 이 버전에서 이 '기능'이 손실되었을 수 있습니까?

폴더의 모든 로그 파일을 즉시 삭제하는 powershell 스크립트를 사용하시겠습니까?

검증되지 않은!!

$path = "C:\Program Files\MetaTrader\tester\logs"    # correct path?
while ($ true ) {                                      # endless loop switch off manually!!
    $files = Get-ChildItem -Path $path |  Where-Object {-not $_.PsIsContainer -and $_.name -like "*.log" }
    foreach ($file in $files) {                     # Folder are excluded
       Remove-Item $file.FullName -Force -ErrorAction SilentlyContinue  
    }
    Start- Sleep -s 60                                # sleep 60 seconds 
}
 
알겠습니다. B765를 확인해 보겠습니다. 말했듯이 로그 파일은 실행되는 동안 metatrader.exe에 의해 잠기므로 터미널을 먼저 닫지 않고는 삭제할 수 없습니다. 그러면 실제 최적화가 취소됩니다.
 

따라서 이것은:

Remove-Item $file.FullName -ErrorAction SilentlyContinue  

제거 되지 않은 파일은 '조용히[..]' 우회하여 다음번에 삭제합니다.

나는 당신이 -Force를 제거 할 수 있다고 생각합니다.

 
그러나 "다음 번"은 터미널 재시작(파일 잠금 해제 후)을 의미하기 때문에 늦습니다. 이 경우 HD가 이미 가득 찼을 것입니다(이것이 실제 문제입니다). "강제"도 작동하지 않습니다. 하지만 제가 말했듯이 파일은 터미널이 종료되고 스크립트가 실패할 때까지 Metatrader에 의해 잠겨 있습니다.
 

아니요! 다음 시간은 60초 수면 후를 의미합니다! 내가 쓴거 아님??

매분 스크립트는 삭제할 로그를 찾습니다!

내 추측으로는 테스트 실행은 1개의 로그 파일만 차단하므로 이전에 생성된 파일을 삭제할 수 있지만 직접 시도하십시오.

지금은 최적화 할 것이 없어서 할 수 없습니다.

 
mt4user2000 :

무슨 뜻이에요? 내가 말하는 로그는 최적화의 각 패스에 대해 최적화 중에 발생한 각 SL을 기록합니다. 나는 이미 그것들을 게시했는데, 이것들에서 다르게 해석되어야 하는 것은 무엇입니까? 그것은 그것이 기록하는 것을 명확하게 보여주고 실제로는 전혀 문제가되지 않습니다. 문제는 하드 디스크를 어지럽히기 때문에 최적화 중에는 기록하지 않아야한다는 것입니다.

당신은 다른 사람들의 게시물을 읽고 있지 않습니다.

나는 stoploss를 사용하고 있고 stoploss가 시스템에 의해 트리거되고 있음을 볼 수 있는 내 로그를 게시했습니다. 또한 테스트를 수행한 빌드 아래에 설명했습니다.
그러나 당신은 이미 같은 질문을 하고 있습니다.

동시에 정보가 포함되지 않은 대용량 로그를 게시하고 있습니다.

mt4user2000 :

그리고 실제로 로그를 찾는 방법을 배우라고 제안해도 될까요? 빌드 670 및 745에서 "아니요, 기록된 것이 없습니다"라고 말하는 긴 게시물이 X개 있는데 갑자기 시스템에도 기록된다고 말합니까? ㅋㅋㅋ

나는 이미 이 행동이 어떻게든 촉발되고 유전적 최적화 외에 다른 요인이 분명히 필요하다고 말했습니다.

그러나 읽고 이해하려고하는 것보다 LOL LOL을 쓰는 것이 더 쉽고 편리합니다.

또한, 무엇이 문제입니까? SL을 제거 하고 OrderClose()로 거래를 종료하십시오.

당신의 글을 보면 MQ가 이것이나 다른 사소한 버그에 대해 신경 쓰지 않는다는 것을 알고 있다는 것이 분명합니다.

 

그라치아니,

이것은 가장 적절한 해결 방법은 아니지만 로그 디렉토리의 ACL을 편집하여 metatrader.exe가 로그 디렉토리에 쓰는 것을 거부할 수 있습니다.

주의: 수행 중인 작업을 알고 있는 경우에만 이 작업을 수행하십시오.

인사말

 

graziani: 죄송합니다. 귀하의 게시물에 대해 더 이상 언급하지 않겠습니다.

gooly: 예, 무슨 말인지 알지만 여전히 로그 파일을 삭제할 수 없으며 잠겨 있으므로 작동하지 않습니다. 자신을 시도하십시오.

ics-mq4: 이것은 제가 시도한 것이기도 하고 작동하지만 불행히도 최적화 속도가 10배 느려집니다. Metatrader가 디렉토리에 쓸 수 없고 포기하기 전에 몇 번 재시도할 수 없기 때문에 오류가 발생하기 때문일 가능성이 큽니다. 또 다른 트릭은 "logs" 디렉토리를 삭제하고 같은 이름으로 파일을 생성하는 것입니다. 이 경우 Metatrader는 더 이상 "logs" 디렉토리를 생성할 수 없습니다. 그러나 그 경우에도 최적화가 크게 느려집니다.