Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
MT4'ün aksine MT5, Uzman Danışmanların giriş parametrelerini başlatıldıklarında veya değiştirildiklerinde günlüğe kaydetmez. Bu nedenle, Terminal'de neyin başlatıldığını günlükten belirlemek imkansızdır.
Benzer bir fonksiyon bu durumu düzeltebilir.
Uygulama
Sonuç
Ne yazık ki, komut dosyaları için çalışmıyor. MT4, komut dosyalarının giriş parametrelerini kendisi çıkarır, MT5 bunu yapmaz.
Bu kütüphaneyi kullanarak DLL kullanan bir EA çalıştıramıyorum. Günlüklerde DLL yüklemesine izin verilmiyor. Bu konuda yapılabilecek bir şey var mı?
İşe yarıyor.
Endişelendiğim bir konu, bir dizede geçici bir şablonun adı olarak bir sabit kullanma ilkesidir:
multithreading ile ilgili potansiyel bir hata içermektedir. Farklı grafikler üzerinde çalışan bir ve aynı program kütüphaneyi kullanmaya çalışırsa, şablon dosyasıyla bir çakışma olabilir - ya bir erişim hatası ya da farklı olanlar kullanılmasına rağmen şablonun iki özdeş kopyası sessizce başlatılacaktır.
Tercihen MQL-program-adı + zaman damgası + rastgele şeklinde geçici bir ad oluşturmalısınız (__FILE__ idi, "strike" burada html'de çalışmıyor).
Ayrıca, klasörleri kirletmemeleri için eski dosyaların bir sonraki çağrıda, örneğin 1 gün içinde (zaman damgasının bir kısmını analiz ederek) zaman aşımına uğrayarak otomatik olarak silinmesi de istenir.
NOT. Durum daha da kötüdür, çünkü __FILE__ bir kaynak dosyasıdır ve onu kullanan tüm programlarda her zaman Expert.mqh'ye eşittir! Cümle isme göre düzeltildi.Bu, tüm artıları ve eksileri tartarak bilinçli bir şekilde yapıldı.
Bir şablon oluşturduktan hemen sonra silmek mantıklıdır, günde bir kez değil. Bununla birlikte, neler olduğunu daha iyi analiz etmek için her zaman son kaydedilen şablona sahip olmak uygundur.
Bu, artıları ve eksileri tartılarak bilinçli bir şekilde yapıldı.
Bir şablon oluşturduktan hemen sonra silmek mantıklıdır, günde bir kez değil. Bununla birlikte, neler olup bittiğini daha iyi analiz etmek için her zaman son kaydedilen şablona sahip olmak uygundur.
Mevcut yöntem için herhangi bir artıdan bahsedemem. IMHO, daha doğru bir yöntem önerdim.
Sync = true (varsayılan) ise bir kerede silmek mantıklıdır, ancak şu anda bu şekilde uygulanmamaktadır - dosya kalır.
Mevcut yöntem için tek bir "profesyonel" bile düşünemiyorum. IMHO, daha doğru bir öneride bulundu.
Artıları pratik uygulamadır. Terminal 'i daha önce başlatılmış Uzman Danışmanlarla başlattım ve başlangıçta hemen şablonlarına girdiler. Mükemmel çalıştılar. Teorik çarpışmayı yeniden üretmenin mümkün olduğundan eminim. Ama benim durumumda pratikten uzak. Evrensel bir çözüm oluşturmaya karar verirseniz, burada paylaşın. İncil'i güncelleyeceğim. Bunu kendim yapmaya hazır değilim.
Sync = true (varsayılan) ise bir kerede silmek mantıklı, ancak şu anda bu şekilde uygulanmıyor - dosya kalıyor.
Evet, bilerek silmiyorum.
Çünkü - bu pratik bir uygulamadır. Terminal 'i, başlangıçta hemen şablonlarına giren önceden başlatılmış Uzman Danışmanlarla başlattım. Mükemmel çalıştılar. Teorik çarpışmayı yeniden üretmenin mümkün olduğundan eminim. Ama benim durumumda pratikten uzak. Evrensel bir çözüm oluşturmaya karar verirseniz, burada paylaşın. İncil'i güncelleyeceğim. Bunu kendim yapmaya hazır değilim.
Evet, bilerek silmiyorum.
Expert.mqh.tpl sabit adının neden onları üreten programın adını taşıyan şablonlardan daha "pratik" (pratik?) olduğunu hala anlamıyorum. Diyelim ki bibla kullanan bir A.mq5 ve B.mq5 programı var. Eğer bunlar kendi adlarıyla şablonlar üretselerdi, ilk olarak, birinin diğerinin üzerine yazılması yerine _her_ programın eylemlerinin son "parmak izine" sahip olmak daha pratik olurdu. İkinci olarak, üretenin kim olduğunu isminden hemen anlayabilirdiniz (özellikle programlar yabancıysa kullanışlıdır). Şimdi Expert.mqh.tpl dosyasının içine girene kadar bunu söyleyemezsiniz. Verdiğim evrensel çözüm, MQL-programı+zaman damgası+rastgele adını almaktır. Ve dosyayı sync=true olarak bırakmaya gerek görmüyorum. Her şeyin uzun zaman önce test edildiğini ve hata ayıklandığını düşünüyorum. Hata olması ve hata ayıklama ihtiyacı olması durumunda sync=false seçeneği vardır. O zaman dosya bırakılmalıdır. Bence her şey mantıklı. Ve düzenlemeler basit.
Birisi bibliyoyu birkaç programda paralel olarak kullanmadığı sürece, pratikte çarpışmanın nadiren meydana gelebileceğine katılıyorum. Bende yok, ancak koda hızlıca bir göz attım ve gözüm Dosyalar klasöründeki Expert.mqh.tpl'ye takıldı. Her şey tamamen imho.