MT5 için dilekler - sayfa 45

 
Sevgili geliştiriciler. C/C++ "long double" veri türünü tanıtmaya nasıl bakıyorsunuz? Çok yardımcı olurdu. Doğruyu söylemek gerekirse, "çift" tipin kesinliğinin hesaplamalar için yeterli olmadığı gerçeğiyle karşılaştım. Veya alternatif bir seçenek, isteğe bağlı olarak belirtilen hassasiyete sahip işlemler için özel bir sınıf yapmaktır. Nasıl bakıyorsun?
Документация по MQL5: Основы языка / Типы данных
Документация по MQL5: Основы языка / Типы данных
  • www.mql5.com
Основы языка / Типы данных - Документация по MQL5
 
-Alexey- :
Sevgili geliştiriciler. C/C++ "long double" veri türünü tanıtmaya nasıl bakıyorsunuz? Çok yardımcı olurdu. Doğruyu söylemek gerekirse, "çift" tipin kesinliğinin hesaplamalar için yeterli olmadığı gerçeğiyle karşılaştım. Veya alternatif bir seçenek, isteğe bağlı olarak belirtilen hassasiyete sahip işlemler için özel bir sınıf yapmaktır. Nasıl bakıyorsun?

Müdahale ettiğim için kusura bakmayın ama uzaya roket mi fırlatıyorsunuz? Belki algoritmayı veya başka bir şeyi optimize etmeyi düşünmek daha iyidir?

Böyle bir doğruluğun gerekli olduğu bir örnek verebilir misiniz?

 
Örneğin, bu, normal dağılım niceliğinin en az 4-5 basamaklı bir doğrulukla sayısal olarak hesaplanması için gereklidir, çünkü P>.9'daki bağımlılık ufukta yatar ve olasılığı değiştirerek makine sıfırı 2-3 basamaktan fazla bir doğruluk elde edilmesine izin vermez ve P>.99'da daha da kötüdür. Vb. Rakamlar biraz farklı olabilir, çünkü bu sadece bir örnek. Farklı bir dağıtımla çalışmak zorundayım ama fikir aynı. Nasıl bir roket bu :)
 
Başka bir sorun doğruluk eksikliği ile ortaya çıktı. Durum şu. 10.000 değer için fiyatlara göre dağıtım fonksiyonu oluşturulmuştur. Bazı aralıklarda, fonksiyonun değeri küçüktür ve 10000 ile bölünebilir. 1 * 10e-6 mertebesindeki değerler elde edilir; daha sonra bu değerler arasındaki farkın karesini belirlemek gerekir ve 1 * 10e-13 mertebesinde bir değer elde edilir (o zaman bu tür birkaç bin değeri özetlemek gerekir); veriler felaketle kaybolur. Ve 10.000 çok fazla değil, aslında yeterli değil. Bu nedenle, geliştiricilerden bir kez daha "long double" girmelerini rica ediyorum. Anladığım kadarıyla finans sektöründe büyük örneklemlerle istatistik çalışmaları sıkça talep edilen bir iş. Ve ne olur - MQL5'ten memnun kaldınız ve C++'a mı geçtiniz?
 
-Alexey- :
Başka bir sorun doğruluk eksikliği ile ortaya çıktı. Durum şu. 10.000 değer için fiyatlara göre dağıtım fonksiyonu oluşturulmuştur. Bazı aralıklarda, fonksiyonun değeri küçüktür ve 10000 ile bölünebilir. 1 * 10e-6 mertebesindeki değerler elde edilir; daha sonra bu değerler arasındaki farkın karesini belirlemek gerekir ve 1 * 10e-13 mertebesinde bir değer elde edilir (o zaman bu tür birkaç bin değeri özetlemek gerekir); veriler felaketle kaybolur. Ve 10.000 çok fazla değil, aslında yeterli değil. Bu nedenle, geliştiricilerden bir kez daha "long double" girmelerini rica ediyorum. Anladığım kadarıyla finans sektöründe büyük örneklemlerle istatistik çalışmaları sıkça talep edilen bir iş. Ve ne olur - MQL5'ten memnun kaldınız ve C++'a mı geçtiniz?

mql5'teki çift tip , +-10e-307 ila +-10e307 aralığındaki sayılarla ve 16 karakterlik bir mantis ile çalışır. Yani tarif ettiğiniz herhangi bir sorun yok.

Bildirilen mantis yeterli değilse, örneğin 32 karakterlik bir mantis ile bir artırılmış doğruluk sınıfı geliştirin. Bu senin hakkın.

Geliştiricilerin çoğu için, peygamber devesinin 16 işareti yeterlidir, neden bahçeyi çitle çevirelim.

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 
Urain :

mql5'teki çift tip , +-10e-307 ila +-10e307 aralığındaki sayılarla ve 16 karakterlik bir mantis ile çalışır. Yani tarif ettiğiniz herhangi bir sorun yok.

Bildirilen mantis yeterli değilse, örneğin 32 karakterlik bir mantis ile bir artırılmış doğruluk sınıfı geliştirin. Bu senin hakkın.

Geliştiricilerin çoğu için, peygamber devesinin 16 işareti yeterlidir, neden bahçeyi çitle çevirelim.

Katılmıyorum, bir sorun var, işte bir örnek (ızgara 10000x10000):

çift x1=0.0011;

çift y1=x1/10000;

çift x2=0.0012;
çift y2=x2/10000;

çift c=y1-y2;
çift d=MathPow(c,2);


printf(dize(d));

sonuç: 9.9999999999999968e-017

Ve bu sonuçla ne yapmalıyım? Diğer sonuçlarla nasıl karşılaştırılır? DBL_EPSILON=2.2204460492503131e-016. Ayrıca, son iki deşarj - gördünüz mü? Ve bunlar sadece iki operasyon. Ve bu operasyonlardan daha fazlasına sahibim. Ve bu bilgilere göre, belirli sayıda işlem yardımıyla verileri geri yüklemek gerekir. Daha fazla kayıp. Ben sadece C benzeri bir dilde programlamayı öğreniyorum ve böyle bir sınıf yapmak benim için zor (ya da daha doğrusu nasıl olduğunu bilmiyorum). Bu ciddi bir iş. Bu arada, böyle bir sınıfınız var mı? Ve geliştiriciler bir kerede herkes için işleri iyileştirebilir. 100.000x100.000'lik ızgaralar yapmak mümkün olacaktır.Az çok temsili örnekler mevcut olacaktır, ancak bu yeterli değildir. Ve keyfi kesinlik için bir sınıf yapsalardı, daha da iyi olurdu :) Çitin bununla ne ilgisi var - bu sadece bir veri türü. Varsa, sadece böyle değil, ortaya çıkan ihtiyaçları karşıladığı için anlamına gelir. Mesele şu ki, geliştiriciler için zor olup olmadığını bilmiyorum. Zor ve pahalıysa - o zaman sana katılıyorum - neden sorunumu onlara kaydırayım. Ve eğer zor değilse - neden yapmıyorsunuz? Yine - yüksek doğrulukla ticaret hesaplamaları geliştirmek için güçlü bir ortam - burada bir tür rekabet avantajı var :). O yüzden bu konuda ne düşündüklerini soruyorum.
 
-Alexey- :
Yine - yüksek doğrulukla ticaret hesaplamaları geliştirmek için güçlü bir ortam - burada bir tür rekabet avantajı var :).

Bu sadece sizin bakış açınızdan yani... Bunun %99,9999'u gerekli değil

Bu amaçlar için özel yazılım ürünleri kullanın....

 
AlexSTAL :

Bu sadece sizin bakış açınızdan yani... Bunun %99,9999'u gerekli değil

Bu amaçlar için özel yazılım ürünleri kullanın....

İşin aslı, MT'nin finansal hesaplamalar için özel bir ürün olmasıdır. Ve finansal hesaplamalar, istatistiksel yöntemlerin kullanımı ile yakından ilişkilidir. Evet ve neden yeni ürünlere hakim olun - Bunu yapmak ve türlerle savaşmak istemiyorum, ancak TS'yi tek bir ticaret ortamında geliştirmek istiyorum. Özellikle MQL5 gerçekten hızlı göründüğü için.
 
-Alexey- :
İşin aslı, MT'nin finansal hesaplamalar için özel bir ürün olmasıdır. Ve finansal hesaplamalar, istatistiksel yöntemlerin kullanımı ile yakından ilişkilidir. Evet ve neden yeni ürünlere hakim olun - Bunu yapmak ve türlerle savaşmak istemiyorum, ancak TS'yi tek bir ticaret ortamında geliştirmek istiyorum. Özellikle MQL5 gerçekten hızlı göründüğü için.

Eh, herhangi bir geliştiricinin her zaman bir şeyleri kaçırdığını anlıyorsunuz ....

500 programcının her biri 10 dilek yazarsa, Bill'in sahip olacağı gibi ofise ihtiyaç vardır ....

fantezilerini gerçekleştirmek için...

 
AlexSTAL :

Eh, herhangi bir geliştiricinin her zaman bir şeyleri kaçırdığını anlıyorsunuz ....

500 programcının her biri 10 dilek yazarsa, Bill'in sahip olacağı gibi ofise ihtiyaç vardır ....

fantezilerini gerçekleştirmek için...

Fantazinin kesinlikle bununla hiçbir ilgisi yok. Sorum , en yaygın analiz yöntemini uygulama olasılığı üzerine ortaya çıktı. Yani - trendin ve döngünün kaldırılmasından sonra kalan sayı ile çalışın. Bu yöntem, istisnasız tüm finans istatistikleri ders kitaplarında ve üniversitelerdeki eğitim kılavuzlarında yazılmıştır. Bu bir tür fantezi değil, analize kanonik yaklaşımlardan biridir. Ve uzmanlaşmış bir çevre, böyle bir yaklaşımı uygulamak için araçlara sahip olmalıdır - ne düşünüyorsunuz?