Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Yura , RMS'yi standart işlevden daha hızlı hesaplamak istiyorum. Birdenbire işe yarayacak mı? Tek bir arama ile, dilde yazılmış herhangi bir koddan daha hızlı olmalıdır, ancak toplu arama ile (tüm grafiği hesaplayarak) maliyetlerden tasarruf etmek oldukça mümkündür.
Doğrusal regresyon hatalarından bahsediyorsak, o zaman formüle göre bir adımda analitik olarak kabul edilir.
RMS^2=D[Y] - D[X]*A^2 ,
burada D[Y]=M[Y^2]-M[Y]^2 , D[X]=M[X^2]-M[X]^2 ve A doğrusal regresyon katsayısı Y=A* 'dır X + B
Yani burada özyineleme gerekli değildir.
PS Ve çapraz toplamlar açıkça ve tamamen analitik olarak sıfıra ayarlanır. Örnek boyutunun bununla hiçbir ilgisi yoktur.
Hala hata 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1: MathSqrt işlevi için negatif argüman
Bu nedenle her itfaiyecinin aklına gelen tek şey önce lambda=0.0;
ve/veya MathSqrt(MathAbs(lambda*lambda*lambda*lambda+16.0*lambda*lambda)) bu hatadan kalıcı olarak kurtulmak için.
//---- Ana döngü
çift alfa, lambda=0.0 ;
//******************************************************* **********************************************************
için (i = limit; i >= 0; i--)
{
Fiyat[i]=(Yüksek[i]+Düşük[i])/2.0;
}
için (i = limit; i >= 0; i--)
{
Değer1[i]=SC*(Fiyat[i]-Fiyat[i+1])+4*SC*Değer1[i+1];
Değer2[i]=SC*(Yüksek[i]-Düşük[i])+4*SC*Değer2[i+1];
}
için (i = limit; i >= 0; i--)
{
if(Değer2[i]< Nokta)Değer2[i]= Nokta;else lambda=MathAbs(Değer1[i]/Değer2[i]);
alpha=(-lambda*lambda+ MathSqrt(lambda*lambda*lambda*lambda+16.0*lambda*lambda))/8.0;
Değer3[i]=alfa*Fiyat[i]+(1.0-alpha)*Değer3[i+1];
}
//******************************************************* **********************************************************
PS Vooooobschem saçmalığı. Bu hata muhtemelen test cihazınızda mı çıkıyor?
PPS Büyük olasılıkla çift lambda değişkeninin başlatılması; varsayılan olarak çok az negatif çöp üretti. Ardından double lambda=0.0 ifadesi; yardım etmelisin.
Bize öğretiyor, Slava bize öğretiyor - asla varsayılan olarak çalışmamayı, ama öğrenmiyoruz!
Hala hata 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1: MathSqrt işlevi için negatif argüman
PS Vooooobschem saçmalığı. Bu hata muhtemelen test cihazınızda mı çıkıyor?
PPS Büyük olasılıkla çift lambda değişkeninin başlatılması; varsayılan olarak çok az negatif çöp üretti. Ardından double lambda=0.0 ifadesi; yardım etmelisin.
Bize öğretiyor, Slava bize öğretiyor - asla varsayılan olarak çalışmamayı, ama öğrenmiyoruz!
Buradaki botanikçiler her zaman tekerleği yeniden icat etmek isterler.
Çok terletmeyin. Özel hindiler arasında Bands.mq4 var - RMS'yi hesaplamak için bir algoritma var
RMS^2=D[Y] - D[X]*A^2 ,
burada D[Y]=M[Y^2]-M[Y]^2 , D[X]=M[X^2]-M[X]^2 ve A doğrusal regresyon katsayısı Y=A* 'dır X + B
Yani burada özyineleme gerekli değildir.
Ve yinelemeye gerek yok ne demek, toplamlar nasıl hesaplanacak? Yoksa beklentiyi ortalamayla değiştirmeden nasıl yapılacağına dair bir fikir var mı?
Not Bu arada, çapraz toplamlar kendiliğinden kaybolmaz. En azından ben ayrılmadım. Varyanslarla değil, "gerçek" bir ifadeyle çalışmayı deneyin
Bu nedenle, lineer regresyon için
Bu nedenle, lineer regresyon için
RMS^2=D[Y] - D[X]*A^2 ,
burada D[Y]=M[Y^2]-M[Y]^2 , D[X]=M[X^2]-M[X]^2 ve A doğrusal regresyon katsayısı Y=A* 'dır X + B
Yani burada özyineleme gerekli değildir.
Ve yinelemeye gerek yok ne demek, toplamlar nasıl hesaplanacak? Yoksa beklentiyi ortalamayla değiştirmeden nasıl yapılacağına dair bir fikir var mı?
Not Bu arada, çapraz toplamlar kendiliğinden kaybolmaz. En azından ben ayrılmadım. Varyanslarla değil, "gerçek" bir ifadeyle çalışmayı deneyin
Bu formüllerde neyin gereksiz olabileceğini gerçekten bilmek istiyorum. :-)
MO, elbette, ortalama ile değiştirilir ve toplamlar hesaplanmalıdır. Ancak, bu yineleme veya hatta bir döngü gerektirmez. formülü kullanmanız yeterli
S(X)[i+1]=S(X)[i] - X[i-N+1] + X[i+1] , burada S(X)[i]=Sum(X[k]; k=i-N+1, i-N+2, ...,i-1,i )
Ancak, yineleme hakkında konuşurken kastettiğiniz ifade bu olabilir mi? O zaman elbette haklısın.
"Gerçek ifade"ye gelince, tüm bu formüllerin nereden geldiğini düşünüyorsunuz? Şimdi, bu "gerçek ifadeye", A ve B için LSM yardımıyla elde edilen nihai formülleri koyarsak, standart sapma için yukarıdaki ifade elde edilecektir. İlgili analitik hesaplamaları verebilirim.
İlgili analitik hesaplamaları verebilirim.
buradan daha ayrıntılı olarak karmaşıklaştırmazsanız. yeni verilerin ortaya çıkmasıyla, A ve B katsayıları değişebilir, öyle görünüyor ki, yanılıyor olsam da :-). LR için karar verilmiş gibi görünüyor, ancak parabolik regresyon için nasıl?
Bu tanım gereğidir. LR oldukça kısa değilse, ek bir döngü olmadan RMS'yi daha hızlı hesaplamak mümkündür. RMS'yi hesaplama kodu orijinal MovingLR.mq4'tedir, yalnızca yorumlanır ve RMS'ye rmsY adı verilir.