Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 198

 
Dr.Tüccar :

R'de başka bir hata buldum. R yanlış 0'a bölüyor.

İşte komut dosyası:

//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"

#property script_show_inputs

input double div = 0.0 ;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   Print ( 1.0 /div);
  }
//+------------------------------------------------------------------+

Doğru cevap, mql'de -
'test.mq5' içinde sıfır bölme (20,13)
komut dosyası durdurma ile

Uygunsuz, R'de:
> 1/0
enf
Senaryonun devamı ile

Bunu Alexey ile aynı şekilde yönlendiriyorum - programların belirsiz koşullarda davranışı farklı olabilir ve bu bir hata değildir. Mimarinin beklediği gibi, böyle bir sonuç olacaktır.


"Yanlış cevap" konusunda yanılıyorsunuz

R'deki cevap tamamen doğru ve çok uygun. Gerçek şu ki, R'de "bir değişkenin değeri" kavramı mantıksal sonucuna getirilir ve bir değişken için üç spesifik değer vardır: NA (bir değer var, ancak bilinmiyor), NaN (var sayısal bir değer değildir) ve Inf - sonsuz. Bu böyle bir değerdir ve programı kesintiye uğratmak tamamen yanlıştır. Gerçek doğruluk açısından bilgisayarın sınırlamalarını hesaba katarsak, Inf tamamen sonlu bir değere sahip olabilir. Ve ilerlemek son derece doğaldır ve düzgün yazılmış bir program bu tür sonuçların beklenip beklenmediğini kontrol etmelidir.

Örneğin, MQL belgeleri arksinüs hakkında bir örnek verir ve arksin(2) = sonsuz olduğunu belirtir. Bu doğru değil. Tam olarak: arcsin(2) = NaN, yani. sayısal bir değer yoktur, arcsine(1) = Inf, ancak ticaret sırasında teklifleri atlama = NA, yani. olmalı (veya hafta sonları olabilir), ama değiller.

 
Alexey Burnakov :

Wolfram'ın 0 dediği nihai gerçek değildir. İfadedeki "hata" kelimesinin gereksiz olduğundan bahsediyorum ...

Bu Wolfram'la ilgili değil. Sıfır olmayan pozitif değerlerin integrali sıfır olamaz.

Kontroller sırasında algoritmalarda da hatalar bulundu.

Örneğin, merkezi olmayan bir t-dağılımı için nicelikler ters çevrilmez:


 > n <- 10
> k <- seq(0,1,by=1/n)
> nt_pdf<-dt(k, 10.8, log = YANLIŞ)
> nt_cdf<-pt(k, 10.8, log = YANLIŞ)
> nt_quantile<-qt(nt_cdf, 10.8, log = YANLIŞ)
> nt_pdf
[1] 4.927733e-15 1.130226e-14 2.641608e-14 6.281015e-14 1.516342e-13 3.708688e-13 9.166299e-13
 [8] 2.283319e-12 5.716198e-12 1.433893e-11 3.593699e-11
> nt_cdf
[1] 6.220961e-16 1.388760e-15 3.166372e-15 7.362630e-15 1.742915e-14 4.191776e-14 1.021850e-13
 [8] 2.518433e-13 6.257956e-13 1.563360e-12 3.914610e-12
> k
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> nt_quantile
[1] -Inf -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154
 [7] -1.340781e+154 7000000e-01 8.000000e-01 9.000000e-01 1.000000e+00


0-0.6 miktarları burada yanlış hesaplanmıştır.

MQL5'te benzer bir hesaplama örneği:

2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) Paket Stat için birim testleri
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1)
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağıtım testi başladı
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağılım testi: Test 1: Tek değerler için hesaplamalar
2016.11.10 17:53:32.645 TestStatNCT (EURUSD,H1) 1 0, PDF=4.92773299108629100851e-15, CDF=6.23274905782904190070e-16, Q=1.51119154775858715,131e-18
2016.11.10 17:53:32.646 TestStatNCT (EURUSD,H1) 1 1, PDF=1.13022616309487516453e-14, CDF=1.38993895779573769266e-15, Q=9.999999999999989369615e-02
2016.11.10 17:53:32.647 TestStatNCT (EURUSD,H1) 1 2, PDF=2.64161256619123119969e-14, CDF=3.16755115913693189175e-15, Q=2.00000000000004840,572e-01
2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 3, PDF=6.28106243570810575054e-14, CDF=7.36381790305861902898e-15, Q=2.999999999999998601119e-01
2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 4, PDF=1.51636983962646374250e-13, CDF=1.74303935907449069191e-14, S=4.00000000000005184.742e-01
2016.11.10 17:53:32.648 TestStatNCT (EURUSD,H1) 1 5, PDF=3.708641755555731463525e-13, CDF=4.19192812277470617962e-14, Q=5.000000000000000000000e-01
2016.11.10 17:53:32.649 TestStatNCT (EURUSD,H1) 1 6, PDF=9.16615229573755101565e-13, CDF=1.02187737277044947465e-13, Q=5.99999999999999998867573e-01
2016.11.10 17:53:32.651 TestStatNCT (EURUSD,H1) 1 7, PDF=2.28327725393015114329e-12, CDF=2.51850847368662607692e-13, Q=6.999999999999999289.457e-01
2016.11.10 17:53:32.652 TestStatNCT (EURUSD,H1) 1 8, PDF=5.71609303970751591223e-12, CDF=6.25821417361289428232e-13, Q=7.99999999999999999267253e-01
2016.11.10 17:53:32.653 TestStatNCT (EURUSD,H1) 1 9, PDF=1.43395037240077606742e-11, CDF=1.56338059375202603523e-12, Q=8.9999999999999998578915e-01
2016.11.10 17:53:32.655 TestStatNCT (EURUSD,H1) 1 10, PDF=3.59391445912256345050e-11, CDF=3.91468724033560601170e-12, Q=9.9999999999999888977e-01.
2016.11.10 17:53:32.655 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağıtım testi: Test 2: Diziler üzerinde hesaplamalar
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 0, PDF=4.92773299108629100851e-15, CDF=6.23274905782904190070e-16, Q=1.51119154775858715131e-18
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 1, PDF=1.13022616309487516453e-14, CDF=1.38993895779573769266e-15, Q=9.999999999999989369615e-02
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 2, PDF=2.64161256619123119969e-14, CDF=3.16755115913693189175e-15, Q=2.000000000000004840,572e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 3, PDF=6.28106243570810575054e-14, CDF=7.36381790305861902898e-15, Q=2.999999999999998601119e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 4, PDF=1.51636983962646374250e-13, CDF=1.74303935907449069191e-14, S=4.00000000000005184.742e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 5, PDF=3.708641755555731463525e-13, CDF=4.19192812277470617962e-14, Q=5.000000000000000000000e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 6, PDF=9.16615229573755101565e-13, CDF=1.02187737277044947465e-13, Q=5.99999999999999998867573e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 7, PDF=2.28327725393015114329e-12, CDF=2.51850847368662607692e-13, Q=6.999999999999999289.457e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 8, PDF=5.71609303970751591223e-12, CDF=6.25821417361289428232e-13, Q=7.99999999999999267253e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 9, PDF=1.43395037240077606742e-11, CDF=1.56338059375202603523e-12, Q=8.9999999999999998578915e-01
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) 2 10, PDF=3,59391445912256345050e-11, CDF=3,91468724033560601170e-12, Q=9.9999999999999888977e-01.
2016.11.10 17:53:32.665 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağıtım testi: Test 3: R benzeri aşırı yüklenmiş işlevler
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 0, PDF=-3.29438973521509552711e+01, CDF=-3.50115439911437320575e+01, Q=9.320084913709339622264e-1
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 1, PDF=-3.21137735448868468779e+01, CDF=-3.42095165639872504926e+01, Q=9.99999999999992561506e-01, Q=9.999999999999992561506e-01,
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 2, PDF=-3.12648017507063613607e+01, CDF=-3.33858176105613679852e+01, Q=2.00000000000004563017e-1
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 3, PDF=-3.03986521580849320401e+01, CDF=-3.25421978598387227066e+01, Q=2.999999999999999984900.97e-01
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 4, PDF=-2.95172869939179705057e+01, CDF=-3.16805609544090991392e+01, Q=4.00000000000005240253e-
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 5, PDF=-2.86229405029589081266e+01, CDF=-3.08030305013295588878e+01, Q=5.0000000000000000000,
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 6, PDF=-2.77180886076848480570e+01, CDF=-2.99119647118446110312e+01, Q=5.99999999999998756550e-1
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 7, PDF=-2.68054093129466934897e+01, CDF=-2.90099393581479034765e+01, Q=6.99999999999999400480e-1, Q=6.999999999999999400480e-1,
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 8, PDF=-2.58877355789277032727e+01, CDF=-2.80997113402901490531e+01, Q=7.99999999999999489297e-01, Q=7.99999999999999489297e-01
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 9, PDF=-2.49680028891657173062e+01, CDF=-2.71841705920503962091e+01, Q=8.9999999999999998689937e-1
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) 3 10, PDF=-2.40491940358795979193e+01, CDF=-2.62662856772029869035e+01, Q=9.999999999999888977e
2016.11.10 17:53:32.676 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağılım testi: Test 4: Rastgele değer üreteçleri
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağıtım testi geçti
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağıtım testi: PDF max hatası: 1.48634016318122160328e-25
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağılım testi: CDF maksimum hatası: 2.75966439373922392108e-18
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağılım testi: Niceliksel maksimum hata: 5.16253706450697791297e-15
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağıtım testi: PDF doğru basamaklar: 24
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağılım testi: CDF doğru rakamlar: 17
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) Merkezi olmayan T dağılım testi: Niceliksel doğru rakamlar: 14
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1)
2016.11.10 17:53:32.683 TestStatNCT (EURUSD,H1) 1 / 1 geçti

TestStatNCT.mq5 komut dosyasının sonucu (TestStat.mq5'ten test, TestNoncentralTDistribution test işlevine eklenen hesaplanan değerlerin çıktısı)

Gördüğünüz gibi, nicelikler ters çevrilir ve testler geçer.

Hatalara gelince, bunlar:

//--- precision
double calc_precision_pdf= 10 E- 15 ;
double calc_precision_cdf= 10 E- 15 ;
double calc_precision_quantile= 10 E- 14 ;

Denise Benton, K. Krishnamoorthy, "Sürekli dağılımların ayrık karışımlarını hesaplama: merkezi olmayan kikare, merkezi olmayan t ve numune çoklu korelasyon katsayısının karesinin dağılımı" makalesinde, AS 243 algoritmasının hataları olduğu gösterilmiştir:


Bu nedenle, R'de hatalar vardır ve bunların olası nedeni, CDF'nin hesaplanmasında kullanılan AS 243 algoritmasındadır.

Dosyalar:
TestStatNCT.mq5  16 kb
 
kuantum :

1) Bu Wolfram ile ilgili değil. Sıfır olmayan pozitif değerlerin integrali sıfır olamaz.

2) Kontroller sırasında algoritmalarda da hatalar bulundu.

3) Örneğin, merkezi olmayan bir t dağılımı için, nicelikler ters çevrilmez:


1 - Gama dağılımı ile ilgili bir hata da yazarsanız, iddiamı size iletirim. R'de bunun buggy olduğunu söylemek yanlıştır. Bu mesajda bazı etiketleme girişimleri görüyorum. Görünüşe göre paketleri kullanan ve orada hata görmeyen bilim adamlarına danışmadınız. Python'daki işlev ayrıca sıfırda 1 yoğunluğu döndürür.

Tekrar. Yoğunluk değeri sıfırda tanımlanmamıştır. Wolfram bunun 0 olduğuna inanıyor ve siz de bağımsız fabrikasyonları alıntılamadan buna katılıyorsunuz.

Wolfram'ın bununla hiçbir ilgisi olmadığını söylüyorsunuz, ancak sıfırı sıfıra yükseltmekle ilgili soruma kendiniz cevap veremezsiniz. Bunun yerine Wolfram'ı göster...

Doğru yaklaşımda değerin birliğe gittiğini kendiniz görebilirsiniz, bu da yaklaşımdaki integralin de sıfır olmadığı anlamına gelir. Ve sıfırda, yoğunluğun yanı sıra orada değildir, çünkü belirsiz bir niceliği bütünleştirmek anlamsızdır.

2 - Bu, örneğin algoritmada bir hata gibi ek olarak kontrol edilebilir ve oluşturulabilir.

3) örneğin, bu kontrol edilebilir.

 
kuantum :


Örneğin, merkezi olmayan bir t-dağılımı için nicelikler ters çevrilmez:


0-0.6 miktarları burada yanlış hesaplanmıştır.

 > n <- 10
> k <- seq(0,1,by=1/n)
> nt_pdf<-dt(k, 10.8, log = YANLIŞ)
> nt_cdf<-pt(k, 10.8, log = YANLIŞ)
> nicel<-qt(nt_cdf, 10.8, log = YANLIŞ)
> nt_pdf
[1] 4.927733e-15 1.130226e-14 2.641608e-14 6.281015e-14 1.516342e-13 3.708688e-13 9.166299e-13
 [8] 2.283319e-12 5.716198e-12 1.433893e-11 3.593699e-11
> nt_cdf
[1] 6.220961e-16 1.388760e-15 3.166372e-15 7.362630e-15 1.742915e-14 4.191776e-14 1.021850e-13
 [8] 2.518433e-13 6.257956e-13 1.563360e-12 3.914610e-12
> k
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> nt_quantile
[1] -Inf -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154
 [7] -1.340781e+154 7000000e-01 8.000000e-01 9.000000e-01 1.000000e+00
Afedersiniz, ancak kodunuzun neresinde nt_quantile değişkeni başlatıldı? yani nereden geliyor?
 

1) pdf sıfırdan farklı iken cdf=0 noktasında bunu nasıl açıklarsınız?

 > n<-5
> k <- seq(0,1,by=1/n)
> gamma_pdf<-dgamma(k, 1,1, log = YANLIŞ)
> gamma_cdf<-pgamma(k, 1,1, log = YANLIŞ)
> k
[1] 0.0 0.2 0.4 0.6 0.8 1.0
> gamma_pdf
[1] 1.0000000 0.8187308 0.6703200 0.5488116 0.4493290 0.3678794
> gamma_cdf
[1] 0.0000000 0.1812692 0.3296800 0.4511884 0.5506710 0.6321206

2) niceliklerin orijinal olanlarla uyuşmadığını nasıl açıklayabilirsiniz?

 > n <- 10
> k <- seq(0,1,by=1/n)
> nt_pdf<-dt(k, 10.8, log = YANLIŞ)
> nt_cdf<-pt(k, 10.8, log = YANLIŞ)
> nt_quantile<-qt(nt_cdf, 10.8, log = YANLIŞ)
> nt_pdf
[1] 4.927733e-15 1.130226e-14 2.641608e-14 6.281015e-14 1.516342e-13 3.708688e-13 9.166299e-13
 [8] 2.283319e-12 5.716198e-12 1.433893e-11 3.593699e-11
> nt_cdf
[1] 6.220961e-16 1.388760e-15 3.166372e-15 7.362630e-15 1.742915e-14 4.191776e-14 1.021850e-13
 [8] 2.518433e-13 6.257956e-13 1.563360e-12 3.914610e-12
> k
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> nt_quantile
[1] -Inf -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154
 [7] -1.340781e+154 7000000e-01 8.000000e-01 9.000000e-01 1.000000e+00
 
Alexey Burnakov :
Afedersiniz, ancak kodunuzun neresinde nt_quantile değişkeni başlatıldı? yani nereden geliyor?

Üzgünüm, senaryoda bir yazım hatası var, düzelttim.

Senaryo şöyle:

 > n <- 10
> k <- seq(0,1,by=1/n)
> nt_pdf<-dt(k, 10.8, log = YANLIŞ)
> nt_cdf<-pt(k, 10.8, log = YANLIŞ)
> nt_quantile<-qt(nt_cdf, 10.8, log = YANLIŞ)
> nt_pdf
[1] 4.927733e-15 1.130226e-14 2.641608e-14 6.281015e-14 1.516342e-13 3.708688e-13 9.166299e-13
 [8] 2.283319e-12 5.716198e-12 1.433893e-11 3.593699e-11
> nt_cdf
[1] 6.220961e-16 1.388760e-15 3.166372e-15 7.362630e-15 1.742915e-14 4.191776e-14 1.021850e-13
 [8] 2.518433e-13 6.257956e-13 1.563360e-12 3.914610e-12
> k
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> nt_quantile
[1] -Inf -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154 -1.340781e+154
 [7] -1.340781e+154 7000000e-01 8.000000e-01 9.000000e-01 1.000000e+00
 
kuantum :

1) pdf sıfır değilken cdf=0 noktasında bunu nasıl açıklayabilirsiniz?

2) niceliklerin orijinal olanlarla uyuşmadığını nasıl açıklayabilirsiniz?

Düşünüp sana cevap vereceğim. Sorulara hep soruyla mı cevap verirsin? Kendi istatistiksel düşünceleriniz nerede?
 
Alexey Burnakov :

Mesele şu ki, @Quantum en saf haliyle MQL5'te bir analog R matematik kütüphanesinin uygulanması ve tam olarak doğrulanması ile ilgilenmektedir.

Bu teorik bir akıl yürütme değildir. Ve kitaplığın doğruluğuna güven veren birim testleri yazarken bulmak için derinlere iner.


R'de her şeyin doğru olduğunu önceden varsaymak gerekli değildir. Aksine, fonksiyonların C++ uygulaması olsa bile, her şeyin oldukça ilkel olarak uygulandığını söyleyebilirim. Ve hız olarak derleyicimizdeki kaynak kodlarda bulunan MQL5 kitaplığının ortalama 3 kat nasıl kazandığını görebilirsiniz.

Her şeyi tekrar kontrol etme zahmetine girdik ve bariz hatalar bulduk. Bu hatalar onaylandı:

Lenth tarafından önerilen AS 243 algoritması [Lenth, RV, "Merkezi olmayan t dağılımının kümülatif dağılım fonksiyonu" , Appled Statistics, cilt. 38 (1989), 185–189]. Bu yöntemin avantajı, tamamlanmamış beta fonksiyonlarına sahip sonsuz bir serinin terimlerinin hızlı özyinelemeli hesaplanmasıdır. Ancak makalede [D. Benton, K. Krishnamoorthy, "Sürekli dağılımların ayrık karışımlarının hesaplanması: merkezi olmayan kikare, merkezi olmayan t ve örneğin çoklu korelasyon katsayısının karesinin dağılımı" , Hesaplamalı İstatistikler ve Veri Analizi, 43, (2003), 249-267] Serinin terimlerini toplarken doğruluğu tahmin etmedeki hata nedeniyle, bu algoritmanın özellikle merkezi olmayan parametre deltasının büyük değerleri için hatalara yol açtığı gösterilmiştir (makalede Tablo 3). Makalenin yazarları, merkezi olmayan bir T dağılımı olasılığının özyinelemeli hesaplanması için ayarlanmış bir algoritma önerdiler.

MQL5 istatistik kitaplığımızda, makaleden olasılıkları hesaplamak için doğru algoritmayı kullanıyoruz [D. Benton, K. Krishnamoorthy, "Sürekli dağılımların ayrık karışımlarının hesaplanması: merkezi olmayan kikare, merkezi olmayan t ve örneğin çoklu korelasyon katsayısının karelerinin dağılımı" , Hesaplamalı İstatistikler ve Veri Analizi, 43, (2003), 249-267] . hangi doğru sonuçlar verir.

Hesaplamaların doğruluğundan emin olmak ve üçüncü taraf geliştiricilerin kitaplığın kalitesini kontrol etmelerini sağlamak için dağıtıma birkaç birim test komut dosyası ekledik. /Scripts/UnitTests/Stat dizininde bulunabilirler.

Yayın tarihlerine bakın lütfen. Bilim adamlarının tavsiyesi ile çalışmaların nasıl gittiğini görün.

Ayrıca @Quantum'u bir bilim adamı olarak görmemek hata olur.

 

O zaman, literalizm sırasına göre, düzgün bir sürekli dağılım için, uç noktadaki yoğunluk pozitif ve integral sıfırdır: https://en.wikipedia.org/wiki/Uniform_distribution_(continuous)

 
Renat Fatkhullin'in fotoğrafı.

Mesele şu ki, @Quantum en saf haliyle, MQL5'teki R matematik kütüphanelerinin analogunun uygulanması ve tam olarak doğrulanması ile ilgilenmektedir.

Bu teorik bir mantık değil. Ve kitaplığın doğruluğuna güven veren birim testleri yazarken bulmak için derinlere iner.


R'de her şeyin doğru olduğunu önceden varsaymak gerekli değildir. Aksine, fonksiyonların C++ uygulaması olsa bile, her şeyin oldukça ilkel olarak uygulandığını söyleyebilirim. Ve hız olarak derleyicimizdeki kaynak kodlarda bulunan MQL5 kitaplığının ortalama 3 kat nasıl kazandığını görebilirsiniz.

Her şeyi tekrar kontrol etme zahmetine girdik ve bariz hatalar bulduk. Bu hatalar onaylandı:

Yayın tarihlerine bakın lütfen. Bilim adamlarının tavsiyesi ile çalışmaların nasıl gittiğini görün.

Ayrıca @Quantum'u bir bilim adamı olarak görmemek hata olur.

Bu hata hakkında bir şey söylemedim. Orada öyle var.

Gama dağıtımı hakkında - Anladığım kadarıyla sizin uygulamanızla ilgileniyor. Ve bu konudaki iddialarının saf literalizm olduğunu tekrar ediyorum.