GRAIL yolunda kenar etkisi - sayfa 2

 
Ve hangi dalgacıkların kullanıldığını Matlab'da yaptım. Orada, kenar etkileri daha az görünür gibi görünüyor, ancak elbette var (yiyip yiyemezler) Ayrıca genişletmeler (yaklaşık değerler) ve bir sinir ağı uygulamaya çalıştım. Ağın çok iyi öğrendiği verilerde. ve kolay bir ızgara gibi öğrenir, ancak yenilerinde - amba. Özellikle gecikme uzayı kullanılıyorsa, dalgacıkların iyi bir şey olduğu sonucuna vardım. Ama neredeyse hiç uygulanmadı.
 
vladevgeniy писал(а) >>
Ve hangi dalgacıkların kullanıldığını Matlab'da yaptım. Orada, kenar etkileri daha az görünür gibi görünüyor, ancak elbette var (yiyip yiyemezler) Ayrıca genişletmeler (yaklaşık değerler) ve bir sinir ağı uygulamaya çalıştım. Ağın çok iyi öğrendiği verilerde. ve kolay bir ızgara gibi öğrenir, ancak yenilerinde - amba. Özellikle gecikme uzayı kullanılıyorsa, dalgacıkların iyi bir şey olduğu sonucuna vardım. Ama neredeyse hiç uygulanmadı.

Daubechies dalgacıklarını kullandım. Görünüşe göre Meyer dalgacıklarının kenar etkilerine daha az eğilimli olduğunu söylüyorlar, ancak henüz denemediler.

Gerçek şu ki, her yöntemi programlamak çok zaman alıyor.

Matlab dalgacıkları ne olacak? Asla sadece matlab'da çalışmadım.

Genişletmeler vsmysle polinomları? Ne kadar başarılıydı?

 
Desperado писал(а) >>

Geçiş seviyeleri çok çekici bir sonuç vermez. Benim de başıma geldi.

Göstergede, yüksek ve alçakların dağılımı, yalnızca farklı MO'larla Gauss yasasına uyar.

En yüksekler yaklaşık 0,3, en düşükler -0.3'tür.

Çubuk ne kadar yüksek olursa, sinyaller o kadar güvenilir ve o kadar az olur.

Ve ayda 200 puan kazanmak ilginç değil :)

Evet, ne yazık ki, ya bozulma ya da gecikme.

Normal Gauss dağılımını sevmiyorum. Daha iyi Lognormal. Ancak bu, ne yazık ki, herkes için uygun değildir. Uydurarak tahmin etmenin makul olduğu sonucuna vardım (yukarıda yazdığım gibi). Ve bir sonuç varsa, peki ya da ilginç bir şey varsa, o zaman zaten dağıtım işlevini seçin. Genel olarak, sapmalar büyük değildi, bu yüzden buna güvenilebilir.

 
Desperado, Matlab dalgacık araç kutusundaki herhangi bir Matlab olanlar. Gerekli açılımları ve detaylandırmayı ve yaklaştırmayı elde etmek mümkündür. M işlevi, ardından geçiş dll'si yazılır ve dll aracılığıyla mt'ye bağlanır. Mayer'in de orada olduğunu düşünüyorum, belki de değil, ben bile hatırlamıyorum. Ancak daha sonra Matlab matrislerinin sıradan değişkenlere çevrilmesiyle uğraşmama rağmen programlamada zamandan tasarruf edebilirsiniz. Delphi ile yazılmış meşhur kütüphaneyi C++ ile yeniden yazmaya çalıştım (net üzerinde bir çok yer var). Yani en güçlü kenar bozulmaları vardı. Ancak Matlab'da böyle bir şey yoktur, ancak aynı zamanda dolandırıcıdır (kenarlar boyunca bir trendle kanca çizmeyi sever). Sadece matlab'da istediğiniz dalgacığı oluşturmaya çalışın, sonucu beğenirseniz, dll ile mt'ye bağlayabilirsiniz.
 
vladevgeniy писал(а) >>
Desperado, Matlab dalgacık araç kutusundaki herhangi bir Matlab olanlar. Gerekli açılımları ve detaylandırmayı ve yaklaştırmayı elde etmek mümkündür. M işlevi, ardından geçiş dll'si yazılır ve dll aracılığıyla mt'ye bağlanır. Mayer'in de orada olduğunu düşünüyorum, belki de değil, ben bile hatırlamıyorum. Ancak daha sonra Matlab matrislerinin sıradan değişkenlere çevrilmesiyle uğraşmama rağmen programlamada zamandan tasarruf edebilirsiniz. Delphi ile yazılmış meşhur kütüphaneyi C++ ile yeniden yazmaya çalıştım (net üzerinde bir çok yer var). Yani en güçlü kenar bozulmaları vardı. Ancak Matlab'da böyle bir şey yoktur, ancak aynı zamanda dolandırıcıdır (kenarlar boyunca bir trendle kanca çizmeyi sever). Sadece matlab'da istediğiniz dalgacığı oluşturmaya çalışın, sonucu beğenirseniz, dll ile mt'ye bağlayabilirsiniz.

Çok teşekkürler. Aslında delph olanı kullandım :) Sadece bir modül vardı, onu kitaplığa dönüştürdüm.

Önce Matlab'ı bulmaya çalışacağım.

 
infinum13 писал(а) >>

Normal Gauss dağılımını sevmiyorum. Daha iyi Lognormal. Ancak bu, ne yazık ki, herkes için uygun değildir. Uydurarak tahmin etmenin makul olduğu sonucuna vardım (yukarıda yazdığım gibi). Ve bir sonuç varsa, peki ya da ilginç bir şey varsa, o zaman zaten dağıtım işlevini seçin. Genel olarak, sapmalar büyük değildi, bu yüzden buna güvenilebilir.

Algoritmanızı denedim. Prensipte beklendiği gibi, küçük gürültüyü ortadan kaldıracaktır. Küçük dönemler ve büyük zaman dilimleri için iyi çalışır.

Bakalım onunla bir şeyler bulabilecek miyim.

Sonucu kırmızı çizgi ile gösterilir. Ve yeşil hat gibi bir şeye ihtiyacım var.

 

Bu yeşil bir çizgi gibi ve matlab'da yüksek ayrışma seviyelerinde ortaya çıkacak. Bu tek satır kod ile yapılır. Özel bir dalgacık denois modu var, içinde dalgacık tipi seçimi var, peki, birkaç parametre daha var. Ana görev bir geçiş dll yapmaktır. O Delphi modülünde kenarlarda çok güçlü etkiler var, evet. Nasıl olduğunu bilmiyorum ama matlab'da çok azaldılar, hatta bazen hiç yokmuş gibi görünüyorlar.

Son matlab neredeyse 4 gigabaytlık torrent üzerinde bulunur.)))) Kullanmak daha iyidir. Kontrol ettim ve dll normal şekilde derleniyor ve iyi uyuyor.

 

Ekteki yazıdan:

Uygulamamız - tahmin - nihai değerlerin bizim için kritik önemine işaret ediyor. Zaman serimiz sonludur ve n, n-1, n-2, ..., değerleri bizim için en büyük ilgidir. Herhangi bir simetrik dalgacık fonksiyonu, böyle bir sınırın (veya kenarın) işlenmesi için problemlidir. Bu katsayılar "gelecekteki" veri değerlerinden hesaplanmışsa dalgacık katsayılarını da kullanamayız. asymmetric filter bu sorunu aşmamıza izin verebilir. Böyle bir dalgacık işlevi, bizim için önem sınırıyla düzgün bir şekilde başa çıkabilir. Aynı zamanda bir sınır oluşturan zaman serimizin ilk değerleri, keyfi olarak sonuç olarak ele alınabilir, ancak bunun pratik bir sonucu yoktur.

Asimetrik fonksiyon, anladığım kadarıyla, sadece zaman serilerinin önceki değerleri üzerine kuruludur.

Simetrik - geçmiş ve gelecek üzerine. Örneğin, işte CDF 9/7 algoritmasından:

// 1'i tahmin et

a=-1.586134342;

for (i=1; i<n-2; i+=2) {

x[n-1]+=2*a*x[n-2];

}

x[i]+=a*(x[i-1]+x[i+1]);

Son satır kenar efektleri oluşturur.

Makaleye göre, bu arada, türkiye şunları yazdı:

Burada her dalgacık katsayısı sadece serinin önceki değerleri üzerinden hesaplanır.

Elbette hizalayabilirsiniz:

Bilinmeyen alan simetrik fonksiyonlardır ve x[n-1]+=2*a*x[n-2] gibi bir şeyle doldurulur

Teoride, yeniden çizilir.

Oynamak kimin umurunda, hindi burada .

Dosyalar:
 
vladevgeniy писал(а) >>

Bu yeşil bir çizgi gibi ve matlab'da yüksek ayrışma seviyelerinde ortaya çıkacak. Bu tek satır kod ile yapılır. Dalgacık tipi seçiminin yapıldığı özel bir dalgacık denois modu vardır, peki, birkaç parametre daha vardır. Ana görev bir geçiş dll yapmaktır. O Delphi modülünde kenarlarda çok güçlü etkiler var, evet. Nasıl olduğunu bilmiyorum ama matlab'da çok azaldılar, hatta bazen hiç yokmuş gibi görünüyorlar.

Son matlab neredeyse 4 gigabaytlık torrent üzerinde bulunur.)))) Kullanmak daha iyidir. Kontrol ettim ve dll normal şekilde derleniyor ve iyi uyuyor.

RTFM tarzı soru için özür dilerim, ancak kısaca açıklayabilir misiniz,

MatLab'da bir DLL nasıl oluşturulur ve MT4'ten nasıl çağırılır?

Mümkünse, lütfen bir örnek verin.

 

Eh, birkaç ay önce kolay olurdum. Şu anda, çoktan unuttum. Ancak matlab'da standarda göre, yardımda bir açıklama var. Genel olarak, matlab çok kaliteli bir yardıma sahiptir. Şuraya bakın, zor değil, derlemeden sonra bir dll ve lib dosyası ve daha az önemli olan birkaç tane daha oluşturulur. m dosyasında Matlab dilinde bir fonksiyona sahip olacaksınız, bu fonksiyon ara dll'den çağrılır. Orada sadece ilk önce başlatmayı aramanız gerekiyor, peki, yardımda. Ama bir tane var ama. Her zamanki sish double string değişkenlerini ve benzerlerini mxArray'e geçmek, sonra matlab işlevini çağırmak ve sonra sish olanlara geri dönmek gerekir.

C'de mxArray ile çalışma örneği

mxArray *inm = mxCreateDoubleMatrix(1,size,mxREAL); giriş dizisi için boyut boyutunda bir mxArray değişkeni oluşturulur
memcpy(mxGetPr(inm), &in[0], size*sizeof(double)); giriş dizisindeki değişkenlerle doldurulur

sonra matlab işlevi çağrılır

daha sonra mxArray'den gelen çıktı dizisi ikiye dönüştürülür

// ---------------------- mxArray'i double'a çevir ------
memcpy(out, mxGetPr(outm), size*sizeof(double));


böyle bir şey, şu anda hatırlamak zor.

mxArray içerir

#include "mex.h"

matlab klasöründe