"MQL5'te ALGLIB sayısal analiz kütüphanesi" makalesi için tartışma

 

Yeni makaleye göz atın: MQL5'te ALGLIB sayısal analiz kütüphanesi.

Bu makalede, finansal veri analizinin verimliliğini artırabilecek ALGLIB 3.19 sayısal analiz kütüphanesini, uygulamalarını ve yeni algoritmalarını kısaca gözden geçireceğiz.

Finansal verilerle çalışırken neden ALGLIB'i seçmelisiniz?

Kütüphanenin temel faydaları:

  • Portatiflik: ALGLIB, çeşitli derleyiciler kullanılarak çeşitli platformlarda kolayca derlenebilir ve farklı özgeçmişlere sahip geliştiriciler için erişilebilir hale gelir.
  • Kullanım kolaylığı: Birden fazla programlama dili desteği sayesinde yeni sözdizimi öğrenmek zorunda kalmadan en rahat ettiğiniz dili seçebilirsiniz.
  • Açık kaynak: ALGLIB açık kaynak kodludur ve GPL 2+ şartları altında kullanılabilir. Bu da onu hem bilimsel araştırmalar hem de ticari projeler için erişilebilir kılmaktadır.
  • Ticari kullanıcı desteği: Ticari kullanıcılar ALGLIB'i kullanırken kendilerine yasal koruma sağlayan bir lisans satın alabilirler.

Ayrıca kütüphane, sunulan yöntemlerin işlevselliğinin büyük bir kısmını kapsayan geniş bir test senaryosu koleksiyonu da içermektedir. Bu, testler gerçekleştirmenize ve tespit edilen hataları proje yazarlarına bildirmenize olanak tanır. Kütüphane hakkında daha ayrıntılı bilgiye https://www.alglib.net/ adresindeki proje web sitesinden ulaşabilirsiniz.

Yazar: MetaQuotes

 

"MQL'de ALgLIB" hakkında hep merak etmişimdir - orijinaline ne kadar yakın ve ona karşılık geliyor?

Doğru anlayın, olabilecek en kötü şey, örneğin C/C++ ve MQL'de AlgLIB kullanarak farklı sonuçlar elde etmektir.

 
Maxim Kuznetsov #:

"MQL'de ALgLIB" hakkında hep merak etmişimdir - orijinaline ne kadar yakın ve ona karşılık geliyor?

Doğru anlaşıldığında, olabilecek en kötü şey, örneğin C/C++ ve MQL'de AlgLIB kullanarak farklı sonuçlar elde etmektir.

Son iki satır (test senaryoları hakkında) sadece bununla ilgilidir - çalıştırın, test edin ve karşılaştırın, kimse sizi durduramaz.
 
Aleksey Nikolayev #:
Son iki satır (test durumları hakkında) sadece bununla ilgilidir - çalıştırın, test edin ve karşılaştırın, kimse sizi durdurmuyor.

Son iki satır orijinal AlgLIB'nin test durumuyla ilgilidir. MQL5 uyarlamasında hiçbir test yoktur.

 
Maxim Kuznetsov #:

Orijinal AlgLIB'nin test durumuyla ilgili son iki satır. MQL5 uyarlamasında herhangi bir test bulunmamaktadır.

Sanırım bazıları var. Ancak bunlar değilse, mql5'tekileri yeniden yazmanızı engelleyen nedir?
 
Maxim Kuznetsov #:

Orijinal AlgLIB'nin test durumuyla ilgili son iki satır. MQL5 uyarlamasında herhangi bir test bulunmamaktadır.

Tüm kapsamlı Alglib test durumları her zaman MQL5 kütüphanesinin ilk taşınan sürümünden(Ekim 2012) itibaren olmuştur:

\MQL5\Scripts\UnitTests\Alglib\
                               TestClasses.mq5
                               TestInterfaces.mq5
                               TestClasses.mqh
                               TestInterfaces.mqh

Şu anda kaynak kodda 3.850 kb test ve neredeyse tüm işlevleri kapsayan 105.000 satır kod bulunmaktadır.

TestClasses.mq5 / TestInterfaces.mq5 birim testlerini herkes derleyebilir ve terminalde çalıştırabilir.

Библиотеки: ALGLIB - библиотека численного анализа - Хорошая библиотека численного анализа MetaQuotes.
Библиотеки: ALGLIB - библиотека численного анализа - Хорошая библиотека численного анализа MetaQuotes.
  • 2012.10.12
  • www.mql5.com
ALGLIB - библиотека численного анализа MetaQuotes. Библиотека ALGLIB - крайне нужный инструмент исследователя и строителя торговых систем. Хотелось бы увидеть развернутую документацию по использованию функционала библиотеки и несколько статей на эту тему
 

Alglib'e ek olarak, diğer matematik kütüphaneleri için de test örnekleri bulunmaktadır:


 
Meslektaşlarım, kütüphanenin sürüm numarasını nerede (hangi dosyada) görebilirim?
 

Güncellemeden sonra sinir ağı çalışmayı durdurdu.

ALGLIB'in eski sürümüne geri döndüm. Eğer ihtiyacınız varsa - ektedir.

Dosyalar:
Alglib_old.zip  644 kb
 

İyi günler!

Doğrusal olmayan ISC optimizasyonunun nasıl kullanılacağını bulabilen var mı?

İşte Alglib sitesinden bir örnek https://www.alglib.net/translator/man/manual.cpp.html#example_lsfit_d_nlf

Lütfen bana neyi yanlış yaptığımı söyler misiniz?

//+------------------------------------------------------------------+
//|Optim.mq5 |
//|vp |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "vp"
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <Math\Alglib\alglib.mqh>
 
 void function_cx_1_func(double &c[],double &x[],double &func,CObject &obj)
{
    // bu geri arama f(c,x)=exp(-c0*sqr(x0)) hesaplar
    // burada x, X ekseni üzerindeki bir konum ve c ayarlanabilir bir parametredir
    func = MathExp(-c[0]*MathPow(x[0],2));
}


void OnStart()
  {
int info;
CObject  obj;
vector v = {-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1.0}; 
double y[] = {0.223130, 0.382893, 0.582748, 0.786628, 0.941765, 1.000000, 0.941765, 0.786628, 0.582748, 0.382893, 0.223130};
double c[] = {0.3}; 
CMatrixDouble x;
x.Col(0,v);
double epsx = 0.000001;
int maxits = 0;
double diffstep = 0.0001;

//
// Ağırlıksız fitting
//
CLSFitStateShell state;
CAlglib::LSFitCreateF(x,y,c,diffstep,state);
CAlglib::LSFitSetCond(state,epsx,maxits);
CNDimensional_Rep rep;
CNDimensional_PFunc function_cx_1_func;
CAlglib::LSFitFit(state,function_cx_1_func,rep,0,obj);

CLSFitReportShell grep;
CAlglib::LSFitResults(state,info,c,grep); 
 
ArrayPrint(c); // BEKLENEN: [1.5]
Print(grep.GetIterationsCount());
Print(grep.GetRMSError());
   
  }