"Doğrusal Regresyon Örneğiyle 3 Gösterge Hızlandırma Yöntemi" makalesi için tartışma

 

Yeni makale Doğrusal Regresyon Örneğiyle 3 Gösterge Hızlandırma Yöntemi yayınlandı:

Makale, gösterge hesaplama algoritmaları optimizasyonu yöntemlerini ele alır. Herkes kendi ihtiyaçlarına en uygun yöntemi bulacaktır. Burada üç yöntem açıklanmıştır. Bunlardan biri oldukça basittir, bir sonraki ise sağlam bir matematik bilgisi gerektirir ve sonuncusu ise biraz zeka gerektirir. Göstergeler veya MetaTrader5 terminal tasarım özellikleri, açıklanan yöntemlerin çoğunu gerçekleştirmek için kullanılır. Yöntemler oldukça evrenseldir ve sadece doğrusal regresyon hesaplamasının hızlandırılması için değil, aynı zamanda diğer birçok gösterge için de kullanılabilir.

3 yöntemin de görüntülenmesi için kullanılacak gösterge, doğrusal regresyon göstergesidir. Her çubukta (son çubukların tanımlı sayısına göre) regresyon işlevi oluşturur ve bu çubukta hangi değere sahip olması gerektiğini gösterir. Sonuç olarak, sağlam bir çizgimiz var:

Gösterge terminalde böyle görünüyor

 

Doğrusal regresyon denklemi aşağıdaki gibi görünür:



Yazar: ds2

 

Dürüst olmak gerekirse bajan, bu konuda dördüncü forumda bilindiği gibi zaten beş yıl var.

Ancak yeni başlayanlar için ilginç olacağını düşünüyorum.

Makale, standart göstergelerde uygulanan istatistiksel yöntemlerin kural olduğunu bir kez daha gösteriyor, onları hafife almayın.

 
Yazarın diyaloğu. Alexander Smirnov. bu konunun ikinci tartışması, ilki 2006'da bir yerdeydi.
. bu arada, mashki aracılığıyla ikinci dereceden regresyon formülleri de var.
Диалог автора. Александр Смирнов. - MQL4 форум
  • www.mql5.com
Диалог автора. Александр Смирнов. - MQL4 форум
 
Urain:

Dürüst olmak gerekirse Bajan, bu konuda dördüncü forumda bilindiği üzere zaten beş yıl oldu.

Ama yeni gelenlerin ilgisini çekeceğini düşünüyorum.

Evet, makale daha çok yeni başlayanlara yönelik.

Makale, standart göstergelerde uygulanan istatistiksel yöntemlerin kural olduğunu bir kez daha gösteriyor, onları hafife almamalısınız.

Bu kesin. Terminalde yerleşik göstergelerin (iMA, vb.) Yalnızca terminal geliştiricilerinin optimizasyon yöntemleri hakkındaki bilgileri nedeniyle değil, aynı zamanda bir exe dosyasının parçası olarak yürütülmeleri nedeniyle de hızlı çalıştığını düşünüyorum. Yani, harici göstergelerin aksine, bazı pi-kodları değil, tam teşekküllü bir derlemedir. Belki de, harici göstergeler için mevcut olmayan zamanlayıcılara bazı doğrudan yüksek hızlı erişimleri vardır.

Konvolüsyon yöntemi için gömülü olmayan mashaları kullanmayı denedim - iyi optimize edilmiş olmalarına rağmen, gömülü olanlardan çok daha yavaşlar.

Urain:
Yazarın diyaloğu. Alexander Smirnov. bu konunun ikinci tartışması, ilki 2006'da bir yerdeydi.
. bu arada, mashki aracılığıyla ikinci dereceden regresyon için formüller de var.

Evet, benzer konular gördüm. Ancak hiçbir yerde konvolüsyonun nasıl elde edildiği adım adım açık değildi. Makaledeki tüm nüansları anlatmak için tüm formülleri kendim türetmek zorunda kaldım (birkaç sayfa taslak yazdım). Örneğin, LWMA için çubuk numaralandırması ile ilgili zor bir nokta var.

 
ds2: Evet, benzer başlıklar gördüm. Ancak hiçbir yerde konvolüsyonun nasıl ortaya çıktığı adım adım açık değildi. Makaledeki tüm nüansları anlatmak için tüm formülleri kendim çıkarmak zorunda kaldım (birkaç sayfa taslak yazdım). Örneğin, LWMA için çubuk numaralandırma ile ilgili zor bir an var.

İşte kanıtı. Yani, Urain 'in linki vermesinden biraz daha önce.

Öncelik iddiasında değilim :). Genel olarak konuşursak, neredeyse önemsiz bir gerçek.

Not: Eğer her şeyi unutmadıysam, hızların karşılaştırılmasının sonucu hala klasik hesaplama lehineydi - ama önemli ölçüde optimize edilmişti (fark büyük değil, ama yine de; Candid' a'nın gönderilerine bakın). Bununla birlikte, daha yüksek dereceli regresyonlara (ikinci dereceden, kübik vb.) uygulanan benzer bir teknik, "konvolüsyon" yönteminin klasik olana göre avantajını gösterebilecek gibi görünüyor.

Диалог автора. Александр Смирнов. - MQL4 форум
  • www.mql5.com
Диалог автора. Александр Смирнов. - MQL4 форум
 

Çok iyi ve faydalı bir makale ama bir sorum var.

Hareketli Toplamlar yöntemini kullanırsak, göstergenin çok fazla hız kazandığı doğrudur, ancak bu, bellek tüketimini artıracak 4 yardımcı tampon eklemek anlamına gelir.

Yani soru şu ki, hangi yöntem daha az bellek kullanan Standart yöntem mi yoksa daha fazla bellek kullanan ancak daha hızlı olan Hareketli Toplamlar yöntemi mi daha iyidir?

 

Uygulamada bir sorun var:

LRMethod == LR_M_Sum olduğunda

Sx ve Sxx'in sabit olduğu ortaya çıkar:

Sxx = ExtBufSxx[prevbar];

ExtBufSxx [bar] = Sxx;

Eğer durum buysa, neden tamponlar?


Belki de hareketli toplam yöntemini kullanarak SMA ve LWMA'yı sayarsanız ve sonucu bir konvolüsyon olarak sayarsanız daha da hızlı olacaktır.

Ayrıca, SMA ve LWMA aracılığıyla da hesaplanabilen regresyonun eğimini bilmek iyi olurdu.

Bunu 4 üzerinde uyguladım: https://www.mql5.com/tr/code/10642

Быстрая LRMA
Быстрая LRMA
  • oylar: 3
  • 2012.03.08
  • Vladislav Eremeev
  • www.mql5.com
Написан под впечатлением от статьи "3 метода ускорения индикаторов на примере линейной регрессии". Считает очень быстро.
 

Merhaba,

,,Her barda (son barların tanımlanan sayısına göre) regresyon fonksiyonu oluşturur ve o barda hangi değere sahip olması gerektiğini gösterir''

Ancak en son regresyon çizgisinin eğimini nasıl hesaplayabilirim (sadece eğriyi oluşturan son noktayı biliyorum)...


Yardımınız için teşekkürler

Petr

 

Merhaba

Bu makale için teşekkürler. Ancak lütfen bana yöntemlerinizi MQL5 kodumun içinde nasıl çağıracağımı söyleyebilir misiniz? Nasıl yapılacağını anlamıyorum, yöntemlerinizin içindeki parametrelerin listesini anlamıyorum. sizinkini entegre ettikten sonra kodumun içinde belirli bir anda doğrusal regresyon tarafından döndürülen değeri nasıl alabilirim?