Rastgele Akış Teorisi ve FOREX - sayfa 38

 

lapack.mqh başlık dosyasının kaynak kodunu ekliyorum. Ters matrisi hesaplamak için temel işlevleri açıklar.

Doğru, tüm yorumlar İngilizce (LAPACK kitaplığının kaynak kodlarından alınmıştır), sanırım çözeceksiniz.

Fonksiyonlar defalarca test edilmiştir. Sonuçlar Matlab'da elde edilen sonuçlarla karşılaştırıldı. Şimdiye kadar şikayet yok.

İşte lapack.mqh işlevleriyle çalışmanın bir örneğini gösteren komut dosyası kodu.

 // Скрипт для демонстрации работы с функциями обращения квадратной матрицы.
//
#include < lapack . mqh >
//
#define n 4 //размерность матрицы
//+------------------------------------------------------------------+
//| Основная функция скрипта                                              |
//+------------------------------------------------------------------+
int start ()
{
    double a [ n ][ n ] ;
    int info , ipiv [ n ] ;
    string sM ;
//
// Заполняем матрицу
    a [ 0 , 0 ] = Close [ 0 ] ; a [ 0 , 1 ] = Close [ 1 ] ; a [ 0 , 2 ] = Close [ 2 ] ; a [ 0 , 3 ] = Close [ 3 ] ;
    a [ 1 , 0 ] = Close [ 4 ] ; a [ 1 , 1 ] = Close [ 5 ] ; a [ 1 , 2 ] = Close [ 6 ] ; a [ 1 , 3 ] = Close [ 7 ] ;
    a [ 2 , 0 ] = Close [ 8 ] ; a [ 2 , 1 ] = Close [ 9 ] ; a [ 2 , 2 ] = Close [ 0 ] ; a [ 2 , 3 ] = Close [ 1 ] ;
    a [ 3 , 0 ] = Close [ 2 ] ; a [ 3 , 1 ] = Close [ 3 ] ; a [ 3 , 2 ] = Close [ 4 ] ; a [ 3 , 3 ] = Close [ 5 ] ;
//
// Сохраняем матрицу для отображения
    sM = MatrixPrint ( a , n , n ) ;
//
// Вычисляем LU-разложение матрицы
    dgetf ( n , n , a , ipiv , info ) ;
    if ( info < 0 ) return ( 0 ) ;
    else if ( info > 0 ) { Print ( " U( " , info - 1 , " , " , info - 1 , " ) is exactly zero. Inverse can not be computed " ) ; return ( 0 ) ; }
//
// Вычисляем обратную матрицу, заданным LU-разложением
    dgetri ( n , a , ipiv , info ) ;
//
// Сохраняем обратную матрицу для отображения
    sM = sM + MatrixPrint ( a , n , n ) ;
//
// Выполним обратную операцию для проверки результатов вычислений
//
    ArrayInitialize ( ipiv , 0 ) ;
//
// Вычисляем LU-разложение обратной матрицы
    dgetf ( n , n , a , ipiv , info ) ;
    if ( info < 0 ) return ( 0 ) ;
    else if ( info > 0 ) { Print ( " U( " , info - 1 , " , " , info - 1 , " ) is exactly zero. Inverse can not be computed " ) ; return ( 0 ) ; }
//
// Вычисляем обратную матрицу, заданным LU-разложением
    dgetri ( n , a , ipiv , info ) ;
//
// Сохраняем матрицу для отображения
    sM = sM + MatrixPrint ( a , n , n ) ;
//
// Выводим на экран результат работы
    Comment ( sM ) ;
//
   return ( 0 ) ;
}
//+------------------------------------------------------------------+
//| Функция преобразования матрицы в строку для вывода на экран                    |
//+------------------------------------------------------------------+
string MatrixPrint ( double array [][] , int r , int c )
{
   int i , j ;
   string sComment = "" ;
//----
   for ( j = 0 ; j < r ; j ++ )
   {
      sComment = sComment + " \n " ;
      for ( i = 0 ; i < c ; i ++ ) sComment = sComment + DoubleToStr ( array [ j , i ] , 4 ) + " " ;
   }
   sComment = sComment + " \n " ;
//----
   return ( sComment ) ;
}
Dosyalar:
lapack.mqh  10 kb
 

matematiğe

(Kalman uygulaması üzerine) yazı yazılamaz. Bir şey yazarsanız, onu iyi yapmanız gerekir ve bu zaman alır.

Orada bir bağlantı buldum, basit bir örnek her şeyin nasıl çalıştığını gösteriyor.

http://www.navgeocom.ru/gps/kalman/

En basit örnek, sabit bir değerin tahminidir. Ancak teorinin kendisi matrislerle çalışmanıza izin verir. Ve matriste, dediğim gibi (ve yukarıda iş parçacığında bir örnek verdim), aşağıdaki verileri alıntılara koyabilirsiniz - fiyat, hız, ivme, otokorelasyon süresi, vb. Bunu birden fazla çift ile yapabilirsiniz, ve tüm para birimleri bir kerede, orada karşılıklı korelasyon ekleyin ve tüm ilişkileri ve tahmin edilmesi en önemli olanı dikkate alarak güncel bir değerlendirme alın ... (navigasyon ekipmanı, bir grup sensör, uydu (para birimlerini oku), bir grup benzetme ile ölçümler (tırnaklar), karşılıklı bir korelasyon ve hatalar (gürültüler) var ve hepsi kendi hızı ve ivmesi ile hareket ediyor) ve şu anda nerede olduğumuzu ( USD olsun) ve orada nereye hareket ettiğini tam olarak bilmemiz gerekiyor. XYZ koordinatları ( + bağlı, bağlı olmayan, küresel, kutupsal ...) bunun yerine EUR / USD , GBP / USD var vb.

Bir nevi başardım, ancak bunun için 3 aydan fazla zaman harcadım ve hala çalışmanın tüm yanlışlarını yakalayamıyorum ve bu sadece bir para biriminin analizi. Matris 2*2. Ve eğer alırsan Her 3 denklem için 12 döviz çifti, o zaman matrisleri 36 * 36 döndürmek gerekli olacak ve bu zaten ....

İşte, boşluğun Pazartesi günü nasıl çalıştığına dair bir örnek.

Ancak başlatma hatalarını hiçbir şekilde yakalayamıyorum. Manuel olarak bazen yanlış başladığını görüyorum, ellerimle her şeyi düzeltebilirim, düzgün çalışması için tekme atabilirim, ancak makinede hiçbir yol yok, ama gerçekten şampiyonaya onunla katılmak istiyorum ((

 

Evet, boşluğu iyi çalıştı. Ve "Onunla şampiyonaya katılmak istiyorum ((" - bu güçlü bir kelime. EA'nın 2008'in başından Ağustos'a kadar test yaparken bu filtredeki 5 dakikalık engeli geçeceğini düşünüyor musunuz?

PS Burada bu 5 dakika için Kurallara bakmaya çalıştım. Hiç birşey yok. Her ne kadar şunu açıkça belirtmek oldukça mümkün olsa da: "Şu ve böyle bir konfigürasyona sahip bir MQ bilgisayarında 5 dakikadan fazla değil." Ama bunun forumun ayrı başlıklarında tartışıldığını hatırlıyorum.

 
Mathemat писал (а) >>

Evet, boşluğu iyi çalıştı. Ve "Onunla şampiyonaya katılmak istiyorum ((" - bu güçlü bir kelime. EA'nın 2008'in başından Ağustos'a kadar test yaparken bu filtredeki 5 dakikalık engeli geçeceğini düşünüyor musunuz?

PS Burada bu 5 dakika için Kurallara bakmaya çalıştım. Hiç birşey yok. Her ne kadar şunu açıkça belirtmek oldukça mümkün olsa da: "Şu ve böyle bir konfigürasyona sahip bir MQ bilgisayarında 5 dakikadan fazla değil." Ama bunun forumun ayrı başlıklarında tartışıldığını hatırlıyorum.

Gösterge iyi çalışıyor. Normal bir arabadan daha kötü değil

 

matematiğe

İşte bir teorem, bir yeterlilik testi.

"Teorem: Süreç o zaman ve ancak o zaman model için yeterlidir,
artık beyaz gürültü olduğunda.
Not: Bu yalnızca şu durumlarda olabilir:
Kalite sorunu, ekstrapolasyon sorunuyla tanımlanır."

 
DSP'de bir seçim buldum. Ayrıca Tikhonov V.I. sıklıkla atıfta bulunduğum durum. Belki birileri işine yarar http://dsp-book.narod.ru/books.html
 
Elbette işine yarayacaktır. Sadece hepsine hakim olmak için zaman bulmak için kalır :)
 
Prival >> :

matematiğe

(Kalman uygulaması üzerine) yazı yazılamaz. Bir şey yazarsanız, onu iyi yapmanız gerekir ve bu zaman alır.

Orada bir bağlantı buldum, basit bir örnek her şeyin nasıl çalıştığını gösteriyor.

http://www.navgeocom.ru/gps/kalman/

En basit örnek, sabit bir değerin tahminidir. Ancak teorinin kendisi matrislerle çalışmanıza izin verir. Ve matriste, dediğim gibi (ve yukarıda iş parçacığında bir örnek verdim), aşağıdaki verileri alıntılara koyabilirsiniz - fiyat, hız, ivme, otokorelasyon süresi, vb. Bunu birden fazla çift ile yapabilirsiniz, ve tüm para birimleri bir kerede, orada karşılıklı korelasyon ekleyin ve tüm ilişkileri ve tahmin edilmesi en önemli olanı dikkate alarak güncel bir değerlendirme alın ... (navigasyon ekipmanı, bir grup sensör, uydu (para birimlerini oku), bir grup benzetme ile ölçümler (tırnaklar), karşılıklı bir korelasyon ve hatalar (gürültüler) var ve hepsi kendi hızı ve ivmesi ile hareket ediyor) ve şu anda nerede olduğumuzu ( USD olsun) ve orada nereye hareket ettiğini tam olarak bilmemiz gerekiyor. XYZ koordinatları ( + bağlı, bağlı olmayan, küresel, kutupsal ...) bunun yerine EUR / USD , GBP / USD var vb.

Bir nevi başardım, ancak bunun için 3 aydan fazla zaman harcadım ve hala çalışmanın tüm yanlışlarını yakalayamıyorum ve bu sadece bir para biriminin analizi. Matris 2*2. Ve eğer alırsan Her 3 denklem için 12 döviz çifti, o zaman matrisleri 36 * 36 döndürmek gerekli olacak ve bu zaten ....

İşte, boşluğun Pazartesi günü nasıl çalıştığına dair bir örnek.

Ancak başlatma hatalarını hiçbir şekilde yakalayamıyorum. Manuel olarak bazen yanlış başladığını görüyorum, ellerimle her şeyi düzeltebilirim, düzgün çalışması için tekme atabilirim, ancak makinede hiçbir yol yok, ama gerçekten şampiyonaya onunla katılmak istiyorum ((

T3_mod. Boşluktan önce yeterli alıntım yok, bazı yerlerde Kalman daha iyi davranıyor ama çok benziyorlar.
 
FOXXXi >> :

... teklif verilerini farklı bir şekilde sunmanız yeterlidir.

Kenenin geliş saatine göre aralıklarla bir ölçek oluşturmaya çalışan var mı?

 

MS XL kullanıyorsanız daha kolay bir şey yoktur.