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

 
San Sanych Fomenko :

Sevgili meslektaşım!

Birkaç sayfa için , fonksiyon tanımları alanının kenarlarında Vash ve R algoritmaları arasındaki farklar üzerinde bir anlaşmazlık var. Uç noktalar uç noktalardır ve uygulamada farklılıklar ihmal edilebilir.

Ancak bu durumda, çok daha önemli bir sorum var:

Tüm işlevleriniz için belgeler nerede?

Daha önce, işlevinizi aldığımızı düşündüm, sonra işlevleriniz analog olduğu için R belgelerini alıyoruz ve R belgelerinin algoritmaları tanımlayan veya R tarafından belirtilen bağlantıları izleyen bölümlerine dalıyoruz. R çok yüksek kaliteye sahip dokümantasyon ve referans aparatı.

Anlaşmazlık sırasında, işlevlerinizin R'den farklı olduğunu öğrendim - bunlar, algoritmaları başka kaynaklara dayanan diğer bazı işlevlerdir. Makalenin kendisinde bununla ilgili hiçbir şey yok, belge yok. Ve bunu Renat'tan tamamen farklı bir bağlamda öğreniyoruz.

Uygulamada, kodu R'den MQL5'e taşımanın imkansız olduğu konusunda kesin bir sonuç vardır.

Ve bu yüzden.

Bunun nedeni, makaleyi okumamış olmanız ve birkaç kez tekrarlananları kaçırmanızdır:

  1. Hesaplamaların doğruluğunu kanıtlamak için kaynaklara birim testleri ekledik
  2. Toplam doğruluk kontrolü üzerinde büyük miktarda çalışma yaptık, bu da R'nin hatalarını anlamayı mümkün kıldı.
  3. Çalışmamızda, MQL5, Wolfram Alpha ve R'deki sonuçları sürekli olarak iki kez kontrol ettik.
Sizden farklı olarak R kaynaklarını söktük, her bir işlevi ayrıntılı olarak düşündük, bazı işlevleri 46 kata kadar hızlandırabildik, bir makale yazdık ve bundan sorumlu olmaya hazırlandık.

Ancak bunun yerine, eleştirmenler, makalenin kendisini dikkatlice okumadan, bilgilerinin ve R'ye olan güvenlerinin eski mayası hakkında açıklamalar yapmayı başarır. Ve kesinlikle kanıtlı test komut dosyaları çalıştırmaya çalışmadan.

 

Yanlış anlaşılmayı önlemek için:

  1. Belirtilen R işlevlerinin çevirisi/analoğu doğru şekilde yapılır
  2. MQL5'te R'den gelen mantığı pratik olarak bire bir kullanabilirsiniz ve MQL5'te kod daha nettir
  3. MQL5'teki bu işlevlerin tüm kodları, doğrulama birimi testleri de dahil olmak üzere temiz kaynaklarda sunulur (R'de neredeler?)
  4. Belirtilen işlevlerin MQL5'teki hesaplamaları, R'den çok daha hızlıdır.
  5. Uzmanlarımız matematikte çok bilgilidir ve R yazanlardan daha kötü (daha iyi) değildir.
Bu, karmaşık matematiği MQL5 standart kitaplığına dahil etmeye yönelik uzun bir yolculuğun başlangıcıdır. Şimdi Alglib, Fuzzy ve Stat var.

Bugün, R'deki çizime benzer bir grafik kitaplığının yayınını yayınlayacağız. Stat kitaplığının mat işlevselliğinin işlevsel bir uzantısı, düzinelerce yeni fonksiyon biçiminde halihazırda devam etmektedir.

 
kuantum :

Şu anda işlevlerin açıklaması https://www.mql5.com/en/articles/2742 makalesinde yer almaktadır.


Teşekkür ederim, bakış açınızı anlıyorum.

not.

Anladığım kadarıyla, R'deki Normal ve diğer işlevlerle ilgili belgeleri gördünüz, bu yüzden kopyala-yapıştır ve bağlantınızla karşılaştırmayacağım.

 
Renat Fatkhullin'in fotoğrafı.

Bunun nedeni, makaleyi okumamış olmanız ve birkaç kez tekrarlananları kaçırmanızdır:

  1. Hesaplamaların doğruluğunu kanıtlamak için kaynaklara birim testleri ekledik
  2. Toplam doğruluk kontrolü üzerinde büyük miktarda çalışma yaptık, bu da R'nin hatalarını anlamayı mümkün kıldı.
  3. Çalışmamızda, MQL5, Wolfram Alpha ve R'deki sonuçları sürekli olarak iki kez kontrol ettik.
Sizden farklı olarak R kaynaklarını söktük, her bir işlevi ayrıntılı olarak düşündük, bazı işlevleri 46 kata kadar hızlandırabildik, bir makale yazdık ve bundan sorumlu olmaya hazırlandık.

Ancak bunun yerine, eleştirmenler, makalenin kendisini dikkatlice okumadan, bilgilerinin ve R'ye olan güvenlerinin eski mayası hakkında açıklamalar yapmayı başarır. Ve kesinlikle kanıtlı test komut dosyaları çalıştırmaya çalışmadan.

Teşekkür ederim, bakış açınızı anlıyorum.

not.

Yazıyı okumadığım için beni ikinci kez kınıyorsun.

Ayrıca okudum, fonksiyonda bir hata buldum (vektör yerine skaler döndü), düzeltti ve şimdi bu hata gitti.

 
San Sanych Fomenko :

Teşekkür ederim, bakış açınızı anlıyorum.

not.

Yazıyı okumadığım için beni ikinci kez kınıyorsun.

Ayrıca okudum, fonksiyonda bir hata buldum (vektör yerine skaler döndürüldü), düzeltti ve şimdi bu hata gitti.

Bu, "Pratikte, kodu R'den MQL5'e taşımanın imkansız olduğu konusunda kesin bir sonuç var" durumunuza karşı bir önlemdir.

Dünün yenisini değil de eski makaleyi okumuş olabilirsiniz. Ve hiçbir hata yoktu - skaler dönüşü olan bir versiyon vardı (uzun zaman önce) ve vektör fonksiyonları ekledik. Eski makalenin zamanından beri, kütüphane ciddi şekilde büyüdü ve esasen yeniden yazıldı.

Haklıydım - yeni makaleyi okumadınız.

Umarım artık "sizin böyle fonksiyonlarınız yok ve siz kendiniz bulmuşsunuz" lafı olmaz.
 
Alexey Burnakov :

t dağılımı ile ilgili. Bu hatayı R'nin en son sürümünde yeniden oluşturdum. Ancak algoritmanın özüne girmedim. Düzeltmenin gerçekten gerekli olduğunu kabul ediyorum.

R destek ekibine bir soru sormayı deneyeceğim.

Madde "Sürekli dağılımların ayrık karışımlarının hesaplanması" yazarın web sitesinde yer almaktadır.

Makalenin yazarları, sorunun serilerin yakınsaması için kriterde olduğunu söylüyor.


Önerilen tekrarlayan algoritma 7.2'nin uygulanması https://github.com/neurodebian/afni_removeme_eventually/blob/master/nct.c

Ancak, özyinelemeli hesaplamada hatalar vardır. Örneğin, bir beta işlevi için:


#include <Math\Stat\Math.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   double a= 1 ;
   double b= 1 ;
   double r_beta=MathBeta(a,b);
   for ( int j= 0 ; j< 40 ; j++)
     {
       if (j> 0 )
        {
         r_beta*=((a+j- 1 )/(a+b+j- 1 ));
        }
       double beta=MathBeta(a+j,b);
       PrintFormat ( "%d   error=%5.20e" ,j,beta-r_beta);
     }
  }

2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 0 error=0.00000000000000000000e+00
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 1 hata=-5.55111512312578270212e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 2 hata=0.00000000000000000000e+00
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 3 hata=1.1022302462515654042e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 4 hata=1.38777878078144567553e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 5 hata=-2.22044604925031308085e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 6 hatası=2.22044604925031308085e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 7 hata=1.66533453693773481064e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 8 hata=-2.91433543964103591861e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 9 hata=-1.24900090270330110798e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 10 hata=-2.77555756156289135106e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 11 hata=-1.24900090270330110798e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 12 hatası=5.68989300120392726967e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 13 hata=-2.91433543964103591861e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 14 hatası=-5.55111512312578270212e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 15 hata=-4.85722573273505986435e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 16 hata=-1.87350135405495166196e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 17 hata=5.273559366949356701e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 18 hatası=-1.04083408558608425665e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 19 hatası=-3.40005801291454190505e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 20 hatası=-3.26128013483639733749e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 21 hatası=4.57966997657877072925e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 22 hatası=-3.19189119579732505372e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 23 hata=1.52655665885959024308e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 24 hatası=5.55111512312578270212e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 25 hatası=-6.24500451351650553988e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 26 hatası=-2.70616862252381906728e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 27 hatası=4.85722573273505986435e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 28 hatası=4.64905891561784301302e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 29 hatası=-8.32667268468867405318e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 30 hatası=-9.02056207507939689094e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 31 hatası=-2.98372437868010820239e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 32 hata=2.22044604925031308085e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 33 hatası=2.74086309204335520917e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 34 hatası=-3.43475248243407804694e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 35 hata=2.08166817117216851329e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 36 hatası=-4.16333634234433702659e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 37 hatası=8.67361737988403547206e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 38 hatası=-1.21430643318376496609e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 39 hata=-2.18575157973077693896e-16

CDF'yi hesaplamak için doğruluk yeterli olabilir, ancak nicelikleri yüksek doğrulukla tersine çevirmek için doğruluğu yeterli olmayabilir.

Bu nedenle, nicelik hesaplama algoritmasında, tekrarlayan hesaplamalar olmadan doğrudan toplama kullandık.

 
Renat Fatkhullin'in fotoğrafı.

Bu, "Pratikte, kodu R'den MQL5'e taşımanın imkansız olduğu konusunda kesin bir sonuç var" durumunuza karşı bir önlemdir.

Umarım artık "sizin böyle fonksiyonlarınız yok ve siz kendiniz bulmuşsunuz" lafı olmaz.

Bir şey hakkında yazmadan önce, kötü bir okuma alışkanlığım var. "Taslaklar" ile hiç ilgilenmedim, ancak yalnızca esastan bahsettim.

Görünüşe göre bakış açımı size iletemiyorum ve ilk defa değil.

Bu nedenle, bensiz.

Size içtenlikle diliyorum Renat, iyi şanslar!

 

beyler, 100500 sayfa için argüman nedir? matematikte kim daha iyi sizin için temel fark nedir - 0'da bir fonksiyon tanımlanır - tanımlanmaz, makalede yazmışlar - R'de bir hata - veya bir hata değil. sanki burada çocuğunuzdan bahsediyorlar ve onun tok olduğunu söylüyorlar... ve siz onu gönülden savundunuz.

genel mesaj uzun zamandır açıktı - R ile yerleşik bir entegrasyon yok ve asla olmayacak. hafife alın ve MT5'teki yerleşik çipleri kullanın, geliştiricilerden yeni çipler isteyin, bir şey eksikse kendinizinkini yazın. Sonunda, koltuk değnekleri aracılığıyla MT5'ten R'yi kullanmaya devam edin. Neyse ki onlar - mt4r.

 
Katılımınız için teşekkür ederiz @SanSanych Fomenko , ancak bizim pozisyonlarımızdan hiçbirini reddedemediniz ve gerçek skeç başarısız oldu.
 
Renat Fatkhullin'in fotoğrafı.

Yanlış anlaşılmayı önlemek için:

  1. Belirtilen R işlevlerinin çevirisi/analoğu doğru şekilde yapılır
  2. MQL5'te R'den gelen mantığı neredeyse bire bir kullanabilirsiniz ve MQL5'te kod daha nettir
  3. MQL5'teki bu işlevlerin tüm kodları, doğrulama birimi testleri de dahil olmak üzere temiz kaynaklarda sunulur (R'de neredeler?)
  4. Belirtilen işlevlerin MQL5'teki hesaplamaları, R'den çok daha hızlıdır.
  5. Uzmanlarımız matematikte çok bilgilidir ve R yazanlardan daha kötü (daha iyi) değildir.
Bu, karmaşık matematiği MQL5 standart kitaplığına dahil etmeye yönelik uzun bir yolculuğun başlangıcıdır. Şimdi Alglib, Fuzzy ve Stat var.

Bugün, R'deki çizime benzer bir grafik kitaplığının yayınını yayınlayacağız. Stat kitaplığının mat işlevselliğinin işlevsel bir uzantısı, düzinelerce yeni fonksiyon biçiminde halihazırda devam etmektedir.

bu sadece bir tatil