İşte mql4'te parabolik ve lineer regresyonun kompakt, hızlı bir versiyonu ama sxxy değerini hesaplarken bir döngüden nasıl kurtulacağımı hala çözemedim.
ANG3110 : İşte mql4'te parabolik ve lineer regresyonun kompakt, hızlı bir versiyonu ama sxxy değerini hesaplarken bir döngüden nasıl kurtulacağımı hala çözemedim.
Ve bunun anlamı ne?
Regresyonu hesaplamak için bu kodu başka bir yerde uygulamaya çalışın, örneğin, bir dizi değeriniz varsa - kodu oldukça derinlemesine incelemeniz gerekecek. Ve neden, tersini yapmak daha mantıklıysa, kodun o kadar verimli değil, kolayca değiştirilebilir olmasına izin verin.
Şahsen, regresyon sınıfımın üç sanal işlevi vardır - regresyonu uygulamak için noktaların sayısını ve koordinatlarını almak - bu işlevlerin gerekli olanlarla aşırı yükleneceği bir sınıf bildirmeniz gerekir - ve hemen regresyon polinom katsayısını elde ederiz. sıfırdan üçüncüye kadar herhangi bir derece. Ek olarak, iki isteğe bağlı işlev daha vardır - ağırlıkları ve "kutup noktasını" (yani, polinomun geçmesi gereken böyle bir nokta) almak için, ancak bu işlevler atlanabilir, ağırlıklar bire eşit olarak ayarlanır. , ve polinom polar noktalar olmadan hesaplanacaktır. Belki o kadar verimli değil (hem iç döngüler hem de sanal işlevler nedeniyle), ancak diğer yandan çok esnek ve anlamaya gerek kalmadan.
Regresyonu hesaplamak için bu kodu başka bir yerde uygulamaya çalışın, örneğin, bir dizi değeriniz varsa - kodu oldukça derinlemesine incelemeniz gerekecek. Ve neden, tersini yapmak daha mantıklıysa, kodun o kadar verimli değil, kolayca değiştirilebilir olmasına izin verin.
Şahsen, regresyon sınıfımın üç sanal işlevi vardır - regresyonu uygulamak için noktaların sayısını ve koordinatlarını almak - bu işlevlerin gerekli olanlarla aşırı yükleneceği bir sınıf bildirmeniz gerekir - ve hemen regresyon polinom katsayısını elde ederiz. sıfırdan üçüncüye kadar herhangi bir derece. Ek olarak, iki isteğe bağlı işlev daha vardır - ağırlıkları ve "kutup noktasını" (yani, polinomun geçmesi gereken böyle bir nokta) almak için, ancak bu işlevler atlanabilir, ağırlıklar bire eşit olarak ayarlanır. , ve polinom polar noktalar olmadan hesaplanacaktır. Belki o kadar verimli değil (hem iç döngüler hem de sanal işlevler nedeniyle), ancak diğer yandan çok esnek ve anlamaya gerek kalmadan.
Bunlar, belirli amaçlar için hızlı seçeneklerdir, tam olarak test ederken hıza ihtiyacınız olan yerde ve regresyonun sonunun konumu. Katsayılara ve farklı bir polinom derecesine ihtiyacınız varsa, o zaman bu seçeneği kullanıyorum.İşte X[] kodunda bir katsayı dizisi. Yani, herhangi bir derinliğe kadar eğriler oluşturmak için kapsamlı bilgiler vardır. Bir şeyin uygunluğu hakkında konuşursak, muhtemelen herkesin ihtiyacı olduğu gibi. Ticarette, şimdiye kadar sadece belirli araştırma amaçları için kullanmıyorum.
#property strict//********************************************************************#property indicator_chart_window#property indicator_buffers1#property indicator_color1clrMediumSlateBlue#property indicator_width12#property indicator_type1DRAW_LINE//================================externint p = 120 ;
externint m = 2 ;
//================================double fx[];
double a[],b[],sx[],x[];
double ci,sum;
int N;
//********************************************************************int init()
{
SetIndexBuffer ( 0 ,fx);
//------------------------------------------------
N=m+ 1 ;
if (p<N+ 2 ) p=N+ 2 ;
ArrayResize (sx, 2 *N);
ArrayResize (a,N*N);
ArrayResize (b,N);
ArrayResize (x,N);
return ( 0 );
}
//********************************************************************int start()
{
int cbi= Bars -IndicatorCounted()- 1 ; if (cbi< 0 ) return (- 1 );
if (cbi== 0 ) return ( 0 );
//--------sx-------
sx[ 0 ]=p;
for ( int n= 1 ; n<N* 2 ; n++)
{
sum= 0 ;
for ( int j= 0 ; j<p; j++)
sum+= MathPow (j,n);
sx[n]=sum;
}
//-------syx--------for ( int n= 0 ; n<N; n++)
{
sum= 0 ;
for ( int j= 0 ; j<p; j++)
{
ci=Open[j];
if (n== 0 ) sum+=ci; else
sum+=ci* MathPow (j,n);
}
b[n]=sum;
}
//------Matrix------for ( int j= 0 ; j<N; j++)
for ( int n= 0 ; n<N; n++)
a[n+j*N]=sx[n+j];
//------Gauss-------
af_Gauss(N,a,b,x);
//------------------for ( int j= 0 ; j<p; j++)
{
sum=x[ 0 ];
for ( int n= 1 ; n<N; n++)
sum+=x[n]* MathPow (j,n);
fx[j]=sum;
}
SetIndexDrawBegin( 0 , Bars -p);
return ( 0 );
}
//***************************************************************void af_Gauss( int M, double & A[], double & B[], double & X[])
{
double r,s;
for ( int k= 0 ; k<M- 1 ; k++)
for ( int i=k+ 1 ; i<M; i++)
{
r= 0 ; if (A[k+k*M]!= 0 ) r=A[k+i*M]/A[k+k*M];
for ( int j=k; j<M; j++)
A[j+i*M]-=A[j+k*M]*r;
B[i]-= B[k]*r;
}
if (A[M- 1 +(M- 1 )*M]!= 0 ) X[M- 1 ]=B[M- 1 ]/A[M- 1 +(M- 1 )*M]; else X[M- 1 ]= 0 ;
for ( int i=M- 2 ; i>= 0 ; i--)
{
s= 0 ;
for ( int j=i+ 1 ; j<M; j++)
s+=A[j+i*M]*X[j];
if (A[i+i*M]!= 0 ) X[i]=(B[i]-s)/A[i+i*M]; else X[i]= 0 ;
}
}
//***************************************************************
Herhangi bir derecede polinomların her yerde mevcut olduğu ve vazgeçilmezliği hakkındaki yerleşik görüşü çürütmeye hazırım. Gerçek katılımcı örnekleri kullanarak, polinomların batmazlığını sonsuza kadar unutmak için RRM regresyonunun neredeyse tüm göstergelerinde (yukarıda bir bağlantı verdim) polinomların kaybettiğini kanıtlayacağım.
Yousufkhodja Sultonov : Herhangi bir derecede polinomların her yerde mevcut olduğu ve vazgeçilmezliği hakkındaki yerleşik görüşü çürütmeye hazırım. Gerçek katılımcı örnekleri kullanarak, polinomların batmazlığını sonsuza kadar unutmak için RRM regresyonunun neredeyse tüm göstergelerinde (yukarıda bir bağlantı verdim) polinomların kaybettiğini kanıtlayacağım.
Evet, hayır, uzun zamandır herkese her şeyi kanıtladınız, inanıyoruz
Sırayla ne? Evet, teknik konularda, özellikle artılarla ilgili olanlar, saçma sapan saçmalıklar ve katılımcıları trolleme, "kulüp" ve diğer saçmalıklardan bahsetmeye başlayana kadar beni ona bağla.
Sadece bu başlıkta yaptığı trollük güzel bir şekilde samobana çevrildi, bunun için teşekkür ettim.
Peki, bunu nasıl aşabilirsin? Ve hayal kurma. İşte kulüpte bir başka tavlanmış - 11 sayfa berbattı, birbirleriyle tartıştı ve hiç kimse normal bir test yazmak için yeterince zor değil - pozisyonlarını argümanlarla kontrol etmek ve savunmak için. Ve sadece güçlerinizi birleştirip en azından kendiniz için çözmeniz daha iyi olur. Buna artılarda süper teknik uzmanlar denir... Artılarını orada yazdığını hayal ediyorum.
Burada başka bir kulüp, OOP Mağdurlar Kulübü'nü yeni konseptlerle birlikte organize etti - kalıtım kullanılmazsa, bunun artık OOP, böyle bir çöp olmadığı ortaya çıkıyor. Ayrıca bir test yazmak ve ne zaman daha hızlı olduğunu kontrol etmek de yeterli değildir - ne zaman polimorfizm ve ne zaman bir anahtar, vb. ...ve C++ Victims Club'dan tanıdığımız tüm yüzler.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
gösterge çalışmaları
İşte mql4'te parabolik ve lineer regresyonun kompakt, hızlı bir versiyonu ama sxxy değerini hesaplarken bir döngüden nasıl kurtulacağımı hala çözemedim.
Ve bunun anlamı ne?
Regresyonu hesaplamak için bu kodu başka bir yerde uygulamaya çalışın, örneğin, bir dizi değeriniz varsa - kodu oldukça derinlemesine incelemeniz gerekecek. Ve neden, tersini yapmak daha mantıklıysa, kodun o kadar verimli değil, kolayca değiştirilebilir olmasına izin verin.
Şahsen, regresyon sınıfımın üç sanal işlevi vardır - regresyonu uygulamak için noktaların sayısını ve koordinatlarını almak - bu işlevlerin gerekli olanlarla aşırı yükleneceği bir sınıf bildirmeniz gerekir - ve hemen regresyon polinom katsayısını elde ederiz. sıfırdan üçüncüye kadar herhangi bir derece. Ek olarak, iki isteğe bağlı işlev daha vardır - ağırlıkları ve "kutup noktasını" (yani, polinomun geçmesi gereken böyle bir nokta) almak için, ancak bu işlevler atlanabilir, ağırlıklar bire eşit olarak ayarlanır. , ve polinom polar noktalar olmadan hesaplanacaktır. Belki o kadar verimli değil (hem iç döngüler hem de sanal işlevler nedeniyle), ancak diğer yandan çok esnek ve anlamaya gerek kalmadan.
Ve bunun anlamı ne?
Regresyonu hesaplamak için bu kodu başka bir yerde uygulamaya çalışın, örneğin, bir dizi değeriniz varsa - kodu oldukça derinlemesine incelemeniz gerekecek. Ve neden, tersini yapmak daha mantıklıysa, kodun o kadar verimli değil, kolayca değiştirilebilir olmasına izin verin.
Şahsen, regresyon sınıfımın üç sanal işlevi vardır - regresyonu uygulamak için noktaların sayısını ve koordinatlarını almak - bu işlevlerin gerekli olanlarla aşırı yükleneceği bir sınıf bildirmeniz gerekir - ve hemen regresyon polinom katsayısını elde ederiz. sıfırdan üçüncüye kadar herhangi bir derece. Ek olarak, iki isteğe bağlı işlev daha vardır - ağırlıkları ve "kutup noktasını" (yani, polinomun geçmesi gereken böyle bir nokta) almak için, ancak bu işlevler atlanabilir, ağırlıklar bire eşit olarak ayarlanır. , ve polinom polar noktalar olmadan hesaplanacaktır. Belki o kadar verimli değil (hem iç döngüler hem de sanal işlevler nedeniyle), ancak diğer yandan çok esnek ve anlamaya gerek kalmadan.
Herhangi bir derecede polinomların her yerde mevcut olduğu ve vazgeçilmezliği hakkındaki yerleşik görüşü çürütmeye hazırım. Gerçek katılımcı örnekleri kullanarak, polinomların batmazlığını sonsuza kadar unutmak için RRM regresyonunun neredeyse tüm göstergelerinde (yukarıda bir bağlantı verdim) polinomların kaybettiğini kanıtlayacağım.
Evet, hayır, uzun zamandır herkese her şeyi kanıtladınız, inanıyoruz
Sırayla ne? Evet, teknik konularda, özellikle artılarla ilgili olanlar, saçma sapan saçmalıklar ve katılımcıları trolleme, "kulüp" ve diğer saçmalıklardan bahsetmeye başlayana kadar beni ona bağla.
Sadece bu başlıkta yaptığı trollük güzel bir şekilde samobana çevrildi, bunun için teşekkür ettim.
Peki, bunu nasıl aşabilirsin? Ve hayal kurma. İşte kulüpte bir başka tavlanmış - 11 sayfa berbattı, birbirleriyle tartıştı ve hiç kimse normal bir test yazmak için yeterince zor değil - pozisyonlarını argümanlarla kontrol etmek ve savunmak için. Ve sadece güçlerinizi birleştirip en azından kendiniz için çözmeniz daha iyi olur. Buna artılarda süper teknik uzmanlar denir... Artılarını orada yazdığını hayal ediyorum.
Burada başka bir kulüp, OOP Mağdurlar Kulübü'nü yeni konseptlerle birlikte organize etti - kalıtım kullanılmazsa, bunun artık OOP, böyle bir çöp olmadığı ortaya çıkıyor. Ayrıca bir test yazmak ve ne zaman daha hızlı olduğunu kontrol etmek de yeterli değildir - ne zaman polimorfizm ve ne zaman bir anahtar, vb. ...ve C++ Victims Club'dan tanıdığımız tüm yüzler.
Ve şimdi mutluluğu nerede arıyorsunuz, yine tavandan bir şey (madencilik endüstrisi gibi)?
Hiçbir yerde "mutluluk" tarifi yok, bakmak işe yaramaz. Elde ettiklerimden memnunum. URM https://www.mql5.com/ru/articles/250 ve "Piyasa Teorisi" https://www.mql5.com/ru/articles/1825 geliştirmeyi başardığım için gurur duyuyorum, ancak 100 veya daha fazla yıl içinde anlaşılabilir. Daha önce https://www.mql5.com/ru/forum/318795/page17#comment_13020163 göstergenin inatla kanatlarda beklediğini söylemiştim ve geldi:
Hiçbir yerde "mutluluk" tarifi yok.
Özyinelemesiz bir çözüm bulunursa, özyinelemeden daha iyidir.