Kütüphaneler: MT4Orders Hızlı Rapor - sayfa 6

 
Forester #:

Maksimum uzun düşüşle ilgili bilgiler ilginç. Bunu tüm dizeler için yaptım. Sitedeki kodu henüz güncellemedim.
Ancak tarihin ne için olduğu tam olarak belli değil. Eğer (önerdiğim gibi) geri/ileri testler olarak bir ayrım yaparsak, o zaman istatistikleri 2 tabloda ayrı ayrı hesaplamamız gerekir (maksimum düşüş süreleri de orada olacaktır).

Geri/ileri testler için eksiksiz bir istatistik hesaplaması yaptım
.

Dosya güncellendi.
 
Forester #:

Tarihin ne için olduğu tam olarak belli değil.

2020'den itibaren görmek istiyorsanız - lütfen. 2023'ten, sorun değil. Sadece bazen 2010'da ne olduğu umurunuzda olmuyor. Ve en uzun sürenin 2010'da olduğunu gösteriyor.
 
fxsaber #:
Eğer 2020'den itibaren izlemek istiyorsanız, buyurun. 2023'ten, sorun değil. Sadece bazen 2010'da ne olduğu umurunuzda olmuyor. Ve en uzun sürenin 2010'da olduğunu gösteriyor.
Ah - demek istediğimi anladım. Tek bir uzman/stratejiye sahip bir test kullanıcısı için değil, farklı fikirlerin test edildiği gerçek bir hesap için.

İleri bir tarih belirlemek istatistikleri birbirinden ayırmaya yardımcı olacaktır.

 
Forester #:
Ah - demek istediğimi anladım. Tek bir uzman/stratejiye sahip bir test uzmanı için değil, farklı fikirlerin test edildiği gerçek bir hesap için.

Kendim sadece bir Test Cihazı için kullanırdım. Gerçek düşüşler hiç de ilginç değil.

 
Forester #:
Bunun nesi yanlış?

Potansiyel olarak tehlikeli bir stil. Örneğin, bir süre sonra kendi özel tarih biçimlendirme işlevinizi yazmak isteyeceksiniz ve çağrısı alışkanlıktan dolayı süper uzun bir satırda yazılacaktır:

Print("From " + TimeToString(From[i], TIME_DATE) + " MaxLengthDD = " + (string)(MaxLengthDD(BeginDD, EndDD, From[i]) / (25 * 3600)) + " days: " + Format(BeginDD) + " - " + Format(EndDD));

Ancak, Format-ids'in MaxLengthDD'den sonra çağrılacağının garantisi yoktur, çünkü bunlar toplamlar arasında sağda listelenmiştir.

Prensip olarak, tek satırlık süper uzun bir kaydın olumsuz yanları vardır: okunması ve anlaşılması zordur (aslında, bir derleyicinin yaptığı gibi bir ifadenin ayrıştırılmasını zihninizde tekrarlamak zordur, ancak bir insan sonuçta bir derleyici değildir), hata ayıklaması zordur. Ve böyle kompakt bir kayıt performansta da herhangi bir kazanç sağlamaz.

 

Süper kütüphane! Yazara teşekkürler!

Geliştirmeler için öneriler:
- grafiğe tekrar tıklandığında etkileşimli grafiği gizleyin (veya bunun için başka bir mekanizma ekleyin),
- kaynağı UTF-8 olarak kaydedin, böylece GitHub tarafından normal şekilde okunabilir (bu, hiçbir şeyi tehdit etmeyecek, ancak kolaylık sağlayacak tek seferlik bir olaydır)
- yasak karakterler için dosya adını kontrol edin (\ / / : * ? " < > | : :) için kontrol edin ve bunları nötr bir şeyle değiştirin (örneğin -)
- raporları terminallerin ortak klasörüne kaydetmek için bir parametre ekleyin, böylece bunları temsilcilerin klasörlerinde aramak zorunda kalmazsınız.


Tekrar teşekkürler, çok kullanışlı bir araç!

 
Andrey Khatimlianskii klasörlerinde aramamak için terminallerin ortak klasörüne kaydetmek için bir parametre ekleyin


Tekrar teşekkürler, çok kullanışlı bir araç!

Hepsini yaptım.

çağrısına 2 yeni parametre eklendi
void QuickReport(string file_name, bool is_open_file_in_browser=true, int virtual_number=0, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){...}
common_path - ortak terminal klasörüne kaydedin. Optimizasyon sırasında dosyaların başka bir aracı tarafından üzerine yazılmasını önlemek için, dosya adlarına aracı numarası (3000, 3001,...) eklendi. Test klasörüne kaydederken (false), hesaplamaları gerçekleştiren aracının klasörüne kaydedilirler.
fileANSI - ANSI kodlamasında veya UNICODE olarak kaydedin. UNICODE dosyalarının boyutu 2 kat daha büyüktür ve işlenmesi daha uzun sürer, bu nedenle çok fazla veri yüklerseniz, örneğin 1 GB, ANSI kullanmak daha ekonomiktir. UNICODE, ihtiyaç duymanız halinde üçüncü taraf hizmetlerle uyumluluk için eklenmiştir.

Karakter denetleyicisi ve gizleme düğmesi de eklendi, ancak bunları açıklamadım.
 
Forester #:
Çağrıya 2 yeni parametre eklendi
Yeni parametreler bu şekilde eklenecektir. Bu nedenle, koşulların yapısının girildiği imzayı bir kez yazmak daha iyidir. O zaman imza değişmeyecektir. Rapor'da yaptığım buydu.
 
fxsaber #:
Yeni parametreler bu şekilde eklenecektir. Bu nedenle, koşulların yapısının girildiği imzayı bir kez yazmak daha iyidir. O zaman imza değişmeyecektir. Rapor'da yaptığım buydu.
Belki de daha iyidir. Ancak, kütüphaneyi kullanan hazır programlarla uyumluluk için mevcut çağrı şemasını korumak gerekir, böylece birinin kodu düzenlemesi gerekmez.
 
Forester #:
Muhtemelen daha iyi. Ancak, kütüphaneyi kullanan hazır programlarla uyumluluk için mevcut çağrı şemasını korumak zaten gereklidir, böylece birinin kodu düzenlemesi gerekmez.

Aşırı yükleme yardımcı olacaktır.