Günlük dosyaları ve daha düşük optimizasyon hızı ile 660'tan fazla dağınık HD oluşturur - sayfa 3

 

Günlük dosyası dizini her zaman /tester dizininde bulunur, MT4'ü /taşınabilir modda kullandığım için sizinki UserData klasöründe olabilir.

Evet, test cihazını komut satırı aracılığıyla başlatabilirsiniz, ancak bu herhangi bir şeye yardımcı olmaz, günlük kaydı 670'ten bu yana program içinde yapılır, bir komut satırıyla kapatmanın bir yolu yoktur.

Çıktıyı NUL'a yönlendirmenin dahili günlük kaydıyla hiçbir ilgisi yoktur. Tüm fikriniz, bir komut istemi kutusunun çıktısını nul'a (gerçek metin çıktısı) yeniden yönlendirmek olacaktır. Kesinlikle hiçbir şey yapmayan MT4 gibi bir GUI'ye sahip bir uygulama için.

 

Günlüklerle daha eğlenceli!



 

hmm - kesintilerimden biri b765'e güncellendi - bu sürüm bu 'özelliği' kaybetmiş olabilir mi?

Klasörünüzdeki tüm günlük dosyalarını zamanında silen bir powershell betiği mi kullanıyorsunuz?

TEST EDİLMEDİ!!

$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 
}
 
Tamam, B765'i kontrol edeceğim. Söylendiği gibi, günlük dosyaları çalışırken metatrader.exe tarafından kilitlenir, önce terminali kapatmadan onları silemezsiniz, bu da gerçek optimizasyonu iptal eder.
 

Bu nedenle:

Remove-Item $file.FullName -ErrorAction SilentlyContinue  

Kaldırılamayan dosyalar 'Sessizce[..]' atlanır ve bir dahaki sefere silinir.

-Force'u kaldırabileceğinizi düşünüyorum (ben de öyle yaptım).

 
Ancak "bir dahaki sefere" geç kalır, çünkü bu, bir terminal yeniden başlatıldıktan sonra (dosyaların kilidi açıldıktan sonra) anlamına gelir, bu durumda HD zaten dolu olur (ki bu benim asıl sorunum). "Zorla" da çalışmıyor, denedim, ancak dediğim gibi, dosyalar Terminal kapatılana ve betiğiniz bu nedenle başarısız olana kadar Metatrader tarafından kilitlenir.
 

NUMARA! bir dahaki sefere 60 saniyelik uykudan sonra demekti! yazmamış mıyım??

Komut dosyası her dakika silinecek günlükleri arar!

Tahminimce - bir test çalıştırması yalnızca 1 günlük dosyasını engeller, önceden oluşturulmuş silinebilir - ancak kendiniz deneyin.

Şu anda optimize edecek hiçbir şeyim olmadığı için yapamam.

 
mt4user2000 :

Ne demek istiyorsun? Bahsettiğim günlükler, optimizasyonun her geçişi için optimizasyon sırasında oluşan her SL'yi günlüğe kaydeder. Bunları zaten yayınladım, peki bunlarda farklı yorumlanmaya ne gerek var? Neyi günlüğe kaydettiğini açıkça gösteriyor ve aslında sorun bu değil, sorun şu ki, sabit diski karıştırdığı için optimizasyon sırasında olmaması gerekirken hiç günlüğe kaydetmemesi.

Başkalarının yazılarını okumuyorsunuz.

Stoploss kullandığımı ve stoploss'un sistem tarafından tetiklendiğini görebileceğiniz günlüklerimi yayınladım. Ayrıca hangi yapıların altında testler yaptığımı da belirttim.
Ama zaten cevaplanmış aynı soruları soruyorsun.

Ve aynı zamanda hiçbir bilgi içermeyen büyük günlükler yayınlıyorsunuz.

mt4user2000 :

Ve günlükleri gerçekten BULMA'yı öğrenmenizi önerebilir miyim? X uzun gönderiler bana 670 ve 745'te "hayır, hiçbir şey kaydedilmedi" diyorsunuz ve şimdi aniden sisteminizde de oturum açtığını mı söylüyorsunuz? ÇOK KOMİK

Size bu davranışın bir şekilde tetiklendiğini ve açıkça göstermek için genetik optimizasyonun yanı sıra başka bir faktöre ihtiyaç duyduğunu söylemiştim.

Ancak LOL LOL yazmak, okuyup anlamaya çalışmaktan daha kolay ve kullanışlıdır.

Ayrıca senin sorunun ne? SL'yi kaldırın ve OrderClose() ile işlemlerden çıkın.

Yazınızdan, MQ'nun bunu veya diğer küçük hataları umursamadığının farkındasınız.

 

grazani,

bu en uygun geçici çözüm değildir, ancak günlük dizinindeki ACL'leri düzenleyerek metatrader.exe'nin günlük dizinine yazmasını engellemeyi deneyebilirsiniz.

dikkat: bunu yalnızca ne yaptığınızı bildiğiniz zaman yapın.

selamlar

 

graziani: üzgünüm, gönderileriniz hakkında daha fazla yorum yapmayacağım.

gooly: evet ne demek istediğini anlıyorum ama yine de günlük dosyalarını silemez, dosyalar kilitlidir ve bu nedenle çalışmaz. Sadece kendini dene.

ics-mq4: Bu benim de denediğim bir şey ve işe yarıyor ama ne yazık ki optimizasyonu 10 kat yavaşlatıyor. Büyük olasılıkla Metatrader, dizine yazamadığı ve pes etmeden önce birkaç kez yeniden denediği için hatalarla bombalanıyor. Diğer bir hile de "logs" dizinini silmek ve aynı ada sahip bir dosya oluşturmaktır, bu durumda Metatrader artık "logs" dizinini de oluşturamaz. Ancak bu durumda da aynı şey olur, optimizasyonun yoğun şekilde yavaşlaması.