Yazarın diyalogu. Alexander Smirnov. - sayfa 41

 
lna01 :
Bu satırlarda a ve b satır katsayıları hesaplanır.
A = (ToplamXY - N3*ToplamY)*N4;
B = (N1*SumY - SumXY)*N2;
Açıklık getirmek için, basitçe mevcut doğrusal regresyonu çizen MovingLR_2 sürümünü ekliyorum. Üstelik bir öncekinde N4 hesaplanırken bir leke vardı :)

MovingLR_2 saf bir lineer regresyon üretir ve bunu doğrulamak kolaydır. at_LR0'da, saat cinsinden bir dönemden çubuklardaki bir döneme geçiş doğru değildir. at_LR0'da Close'u (Yüksek+Düşük)/2 ile değiştirir ve 1. periyodu alırsak, MovingLR_2'de periyodu 60 değil 61 olarak ayarlar ve dakika tablosuna asarsak, sonuçlar tamamen eşleşecektir.


Öyleyse, MovingLR_2 normal bir algoritmadır, sadece kod düzenini biraz değiştirin ve her şey yolunda!

at_LR0'da, standart MT4 araç setinden doğrusal regresyonla eşleşmek için bir çubuk ofset yapılır. Belki de bu yapılmamalıydı...

 
Mathemat :

2 zigan:

doğrusal regresyon için formül: LRMA = 3*LWMA - 2*MA

ikinci dereceden için:

İkinci Dereceden Regresyon MA = 3 * SMA + QWMA * ( 10 - 15/( N + 2 ) ) - LWMA * ( 12 - 15/( N + 2 ) )

Burada N, ortalamaların periyodudur,

QWMA( i; N ) = 6/( N*(N+1)(2*N+1) ) * toplam( Kapat[i] * (Ni)^2; i = 0..N-1 ) (işaret ikinci dereceden ağırlıklar ile).

kübik olan için: oh, Trading Solutions'dan çıkarana kadar hepsi bu, orada vahşi bir formüle sahip olmak benim için çok acı verici.

2 Samimi: Şey, kesinlikle gerçek bir paranoyak, bunu düşünmezdim ...


Başka formüller buldum.

nerede

 
Hmm, SKO için sonuç Yurixx'inkinden bile daha lezzetli:

RMS^2 = (Toplam(Y*Y) - A*Toplam(X*Y) - B*Toplam(Y))/(N-2)

Yurixx 'y'ye benzer şekilde, ifadenin basitliği, X ekseninin başlangıcı ve yönünün seçiminden kaynaklanmaktadır.Eğer kimse hata bulamazsa, muhtemelen algoritmaya yaklaşımı sonlandıracağım. Hesaplanan A ve RMS kaybolmasın diye indikatörde LR çizgisinin çizimini bırakıp bir RMS kanalı ekledim :)

ANG3110 :

kodun düzenini biraz değiştirin ve her şey yolunda!

Bu gösterge çok az kullanacağım, algoritma devreye girecek.

2 Yurixx :
Küçük N için RSD değerlerindeki farkın RMS'nin düzeltilmesi ile değil, X'in başlangıcı ve yönünün seçimi ile ilgili olduğu görülüyor. Çünkü onlar değiştiğinde önceki formülüm de farklı sonuçlar vermeye başlıyor ve herhangi bir çekince olmaksızın doğrudur.
Dosyalar:
 
lna01 :

2 Yurixx :
Küçük N için RSD değerlerindeki fark, RSD düzeltmesiyle değil, X'in başlangıç ve yönünün seçimi ile ilgili gibi görünüyor. Çünkü onlar değiştiğinde önceki formülüm de farklı sonuçlar vermeye başlıyor ve bu herhangi bir çekince olmaksızın doğrudur.

Doğru koordinat sistemi seçiminin, hesaplamaları ve nihai formüllerin şeklini basitleştirmek için güçlü bir teknik olduğu konusunda kesinlikle haklısınız. Doğrusal regresyon için bunu kullanmadım, her şey zaten oldukça güzel çıktı. Ancak, belirli bir orijin seçimiyle parabolik regresyon için, son ifadeler iki kat daha basit olur ve algoritmanın verimliliği bir büyüklük sırasına göre artar. Ayrıca, hesaplamaların doğruluğu üzerindeki kısıtlamalar sorunu tamamen ortadan kalkar.

Ancak bir noktada size katılmıyorum. RMS değerleri ve regresyon değerlerinin kendisi, X ekseninin kökeni seçimine bağlı olamaz.Belki de formülün kendisi başka sonuçlar vermeye başlamaz, ancak bu hesaplama doğruluğu sorunu kendini gösterir. Double olarak yalnızca 15 anlamlı basamağın saklanması nedeniyle ( int 'den bahsetmiyorum bile), hesaplama sırasında oldukça hızlı bir şekilde bir hata birikir. Bu, özellikle X ve Y değerlerinin farklı sıralara sahip olduğu durumlarda telaffuz edilir. Örneğin, X çubuk numarasıdır, yüzbinlerce olabilir, Y fiyattır, yaklaşık 1'dir ve fiyat değişikliği yaklaşık 0.0001'dir.


not

Bu formülün ne kadar "daha lezzetli" olduğunu anlamak istedim. Çok daha kolay olduğu açık - tek satırda. Her ne kadar neden (N-1) ile değil de (N-2) ile böldüğünü anlamıyorum. Ancak maksimum ivmeye ulaşmak için farklı bir formül kullanmanız gerektiğini de not etmeliyim. X referans noktası seçimini mevcut fiyat değerine göre sabitlerseniz, Toplam(X*Y) içermeyen formülleri kullanmak daha karlı olur. O zaman her çubuktaki evrişimi hesaplamanız gerekmez. Ancak her çubukta Sum(Y*Y) veya Sum(X*X) güncellemesi bir operatördür.

 

Doğrusal regresyonda A ve B katsayılarının mevcut değerini biliyorsanız, RMS'yi hesaplamak mümkün mü?

işte formüller

A katsayısı

B katsayısı

 
Prival :

Doğrusal regresyonda A ve B katsayılarının mevcut değerini biliyorsanız, RMS'yi hesaplamak mümkün mü?

QWMA gibi ikinci dereceden bir terimin dahil edilmesiyle, büyük olasılıkla bir şekilde mümkündür. Ancak arabaların içinden geçen algoritma açıkça yetersiz. Yerleşik makineler için yerel kod kullanma şansı vardı, ancak gerçekleşmedi.
Not: QWMA'nın X'te ikinci dereceden olduğunu hatırladım, ancak Y'de ikinci dereceden bir terime ihtiyacınız var. Dolayısıyla QWMA yardımcı olmaz.
 
Prival :

Doğrusal regresyonda A ve B katsayılarının mevcut değerini biliyorsanız, RMS'yi hesaplamak mümkün mü?


Öyle düşünmüyorum. Regresyon çizgisi iki sabit tarafından belirlenir - A ve B. Aynı A ve B ile, bu çizginin etrafındaki değerlerin yayılması herhangi biri olabilir. RMS'yi hesaplamak için hala X ve Y varyanslarına ihtiyaç vardır.Muhtemelen QWMA da yeterli olmayacaktır çünkü Y kareleri içermez ve bu nedenle Y varyansını belirlemez.
 
Yurixx :
Muhtemelen QWMA da yetersiz olacaktır, çünkü Y'nin karelerini içermemektedir ve dolayısıyla Y'nin varyansını belirlememektedir.
Evet, QWMA'nın Y'de ikinci dereceden olmadığını unuttum.Hatırladığımda bir dipnot ekledim.
 
Yurixx :

Ancak bir noktada size katılmıyorum. RMS değerleri ve regresyon değerlerinin kendisi, X ekseninin kökeni seçimine bağlı olamaz.Belki de formülün kendisi başka sonuçlar vermeye başlamaz, ancak bu hesaplama doğruluğu sorunu kendini gösterir.

Aklımdaki hesaplamaların sonuçlarıydı.

Her ne kadar neden (N-1) ile değil de (N-2) ile böldüğünü anlamıyorum.

Çünkü regresyon ekstra bir serbestlik derecesine sahiptir. Yandex ayrıntılar konusunda yardımcı olabilir, ör. http://cmacfm.mazoo.net/archives/000936.html
Bununla birlikte, maksimum hızlanmayı hedeflerken farklı bir formül kullanmanız gerektiğini belirtmeliyim. X referans noktası seçimini mevcut fiyat değerine göre sabitlerseniz, Toplam(X*Y) içermeyen formülleri kullanmak daha karlı olur. O zaman her çubuktaki evrişimi hesaplamanız gerekmez. Ancak her çubukta Sum(Y*Y) veya Sum(X*X) güncellemesi bir operatördür.
Zaten Sum(X*Y) var, onsuz ne A ne de B hesaplanamaz.Üç işlemde özyinelemeli olarak hesaplanır. at_LR0 veya MovingLRv3 koduna daha yakından bakın.

PS For Sum(Y*Y) - Ayrıca Sum(X*X) için üç işlemim var - yok .
 
Prival :
matematik :

İkinci Dereceden Regresyon MA = 3 * SMA + QWMA * ( 10 - 15/( N + 2 ) ) - LWMA * ( 12 - 15/( N + 2 ) )

QWMA( i; N ) = 6/( N*(N+1)(2*N+1) ) * toplam( Kapat[i] * (Ni)^2; i = 0..N-1 ) (işaret ikinci dereceden ağırlıklar ile).

Başka formüller buldum.

nerede

Tam olarak aynı formüller, teşekkürler Prival . Arabalarla ilgili benzerlerini verin.