Строит больше, чем 660, загромождая HD файлами журналов и снижая скорость оптимизации - страница 3

 

Каталог лог-файлов всегда находится в каталоге /tester, просто возможно ваш находится в папке UserData, так как я использую MT4 в режиме /portable.

Да, вы можете запустить тестер через командную строку, но это не поможет, логирование ведется внутри программы начиная с билда 670, отключить его через командную строку невозможно.

Перенаправление вывода на NUL не имеет никакого отношения к внутреннему протоколированию. Все, что сделает ваша идея, это перенаправит вывод окна командной строки в nul (собственно текстовый вывод). Для приложения с графическим интерфейсом, такого как MT4, это абсолютно ничего не дает.

 

Больше веселья с бревнами!



 

хмм - один из моих броков обновился до 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  

Файлы, которые не удалось удалить, 'Silently[...]' обходятся и удаляются в следующий раз.

Я думаю, вы можете удалить -Force (так я и сделал).

 
Но "в следующий раз" - это слишком поздно, так как это означает после перезапуска терминала (когда файлы будут разблокированы), и в этом случае HD уже будет заполнен (что и является моей реальной проблемой). "Force" тоже не работает, я пробовал, но, как я уже сказал, файлы заблокированы Metatrader до выключения терминала, и ваш скрипт, следовательно, не работает.
 

НЕТ! Следующий раз должен быть после 60 секунд сна! Разве я не написал это?

Каждую минуту скрипт ищет журналы для удаления!

Поскольку - мое предположение - тестовый запуск блокирует только 1 лог-файл, ранее созданные могут быть удалены - но попробуйте сами.

Я не могу, так как мне сейчас нечего оптимизировать...

 
mt4user2000:

Что вы имеете в виду? Журналы, о которых я говорю, регистрируют каждый SL, который произошел во время оптимизации для каждого прохода оптимизации. Я уже выложил их, так что же в них нужно интерпретировать по-другому? Там четко показано, что он регистрирует, и на самом деле проблема вовсе не в этом, проблема в том, ЧТО он вообще регистрирует, в то время как он не должен этого делать во время оптимизации, поскольку это загромождает жесткий диск.

Вы не читаете сообщения других людей.

Я выложил свои логи, из которых видно, что я использую стоплосс и что стоплосс срабатывает по системе. Я также указал, в каких билдах я проводил тесты.
Но вы задаете те же вопросы, на которые уже были даны ответы.

И в то же время вы публикуете большие логи, не содержащие никакой информации.

mt4user2000:

Могу ли я предложить вам научиться находить логи? X постов в длину вы говорите мне "нет, там ничего не записано" в билдах 670 и 745, а теперь внезапно вы говорите, что это записано и на вашей системе? LOL

Я уже сказал вам, что это поведение как-то спровоцировано и что для его проявления, очевидно, нужен какой-то другой фактор, помимо генетической оптимизации.

Но проще и удобнее писать LOL LOL, чем читать и пытаться понять.

Также, в чем ваша проблема? Уберите SL и выходите из сделок с помощью OrderClose().

По вашему письму видно, что вы знаете, что MQ не заботится об этом или любых других мелких ошибках.

 

graziani,

это не самое правильное решение, но вы можете попробовать запретить metatrader.exe писать в каталог журнала, отредактировав ACL на дир. журнала.

предостережение: делайте это только тогда, когда вы знаете, что делаете.

приветствия

 

graziani: извините, я не буду комментировать ваши сообщения.

gooly: да, я знаю, что вы имеете в виду, но он все еще не может удалить файлы журнала, они заблокированы и поэтому не работают. Просто попробуйте сами.

ics-mq4: это то, что я тоже пробовал и это работает, но это замедляет оптимизацию в 10 раз, к сожалению. Скорее всего, потому что Metatrader заваливается ошибками, так как не может записать данные в каталог и повторяет несколько попыток, прежде чем сдаться. Другой трюк - удалить каталог "logs" и создать файл с таким же именем, тогда Metatrader больше не сможет создать каталог "logs". Но и в этом случае происходит то же самое - сильное замедление оптимизации.