MA beslemesinin birikiminin tespiti nasıl algoritmalaştırılır? - sayfa 2

 
Dmitry Fedoseev :

Daha fazlasını icat etmek için çok tembel. Prensipte sorunun çözüldüğüne dair bazı ipuçları var.

Tüm bu yayınlar, önceki fiyatlardan yalnızca bir ısı haritasıdır. Yan görünüm.😉

Ve ortalamalardan farklı olarak, sıcaklık haritası geleceğe genişletilebilir. Ve elektrik kesintileri, koşum takımı aramak kolaydır
 
Maxim Kuznetsov :
Tüm bu yayınlar, önceki fiyatlardan yalnızca bir ısı haritasıdır. Yan görünüm.😉

Ve ortalamalardan farklı olarak, sıcaklık haritası geleceğe genişletilebilir. Ve elektrik kesintileri, koşum takımı aramak kolaydır

Evet!

Her şey basit - hazır klişeler olduğunda.

Ve onları geliştirmek kolay bir iş değil ...

Yön için teşekkürler!
 
Mikhail Toptunov :

Evet!

Her şey basit - hazır klişeler olduğunda.

Ve onları geliştirmek kolay bir iş değil ...

Yön için teşekkürler!

ısı haritasını hesaplamak için yaklaşık bir algoritma (örneğin, 100 bar için):

1'den 100'e kadar olan tüm Kapanışlar için:

Kapat[N]=X, ısı haritasına seri ısı haritasının toplamını ekler[Çözünürlük(X)]+={X/N} + {X/(N+1)}+{X/(N+2)} .. 100'e kadar .
Kıvrımlı parantez içinde ortalamaların "bileşenleri" olduğu gerçeğini az önce vurguladım.
Çözünürlük(X) - "çözünürlük", örneğin, her Turda 10 puan((X-MinnalX)/Puan/10)

ihtiyacınız olan yerel maksimumu bulabileceğiniz bir vektör elde edersiniz.

bu vektör pratikte dikey bir fiyat profilidir

 

bir kez başladı...

doğrudan eğri birikimi basit ve hızlı bir şekilde tespit edilebilir.

alg.: eksende D içindeki maksimum nokta kümesini arayın. (çizmesi daha kolay olabilir ama sanatçı değil)

ikincil eksendeki her X noktası için X+D düzeyinde +1 ve XD düzeyinde -1 olarak işaretlenir

sonra ek eksen boyunca koşar ve artan miktarda işaretleri sayarsınız. Aynı zamanda maksimumu, süresini ve konumunu hatırlamak.

TÜMÜ.

Ancak dikey profil veya sıcaklık haritası seçeneği, uzun ve kaynak yoğun olmasına rağmen daha iyidir.

çünkü 1) doğrudan fiyatlardan hesaplanır 2) SMA ile bağlantıyı korur 3) sipariş defteri ile ilgilidir 4) değişkendir - zayıflamalar, bulanıklıklar ile "oynayabilir" ve kendinize ait bir şey bulabilirsiniz

 
Mikhail Toptunov :

MA tekrarlarını fiyata göre, döneme göre yeniden hesaplamaya çalıştım.

Böyle mi yaptı:

- her MA'nın bir yönden diğerine geçiş anını belirledi - sinyal1

- verileri aldıktan sonra, çubuktaki sinyal1'in tekrar sayısını saydı

AMA sonuç çok gürültülüydü


daha sonra mevcut çubuğun MA birikiminin bir sonrakinde azalan bir periyoda sahip olduğunu, yani turnikenin periyot boyunca aşağı doğru kaydığını ortaya çıkardı.

Verileri sinyal1 ile bir zincire bağlamaya başladı, elde edilen verilerde geçiş anını buldu


ama her şey tam olarak yanlış şekilde çalışıyor, ses çıkarıyor, göstermiyor.



Kahretsin, şablon çalışmıyor, üst pencere boş


İdeal olarak, görev, mavi bir işaretleyici ile işaretlenmiş değerleri elde etmektir.

doğru Maxim sana yazıyor

MA'nızı maksimum süre ile alın, minimum süre ile alın

ve her şey bence ve işte buradalar - beslemeler

şablon bir patlama ile çalışıyor, her şey harika bir şekilde görünür ve son derece net:


 

Başka seçenek

1

Dosyalar:
22.mq5  4 kb
 

ve bir tane daha

Dosyalar:
23.mq5  6 kb
 
Bunun için bir hafta ya da bir ay oturabilirsiniz...
 
Maxim Kuznetsov :

ısı haritasını hesaplamak için yaklaşık bir algoritma (örneğin, 100 bar için):

1'den 100'e kadar olan tüm Kapanışlar için:

Kapat[N]=X, ısı haritasına seri ısı haritasının toplamını ekler[Çözünürlük(X)]+={X/N} + {X/(N+1)}+{X/(N+2)} .. 100'e kadar .
Kıvrımlı parantez içinde ortalamaların "bileşenleri" olduğu gerçeğini az önce vurguladım.
Çözünürlük(X) - "çözünürlük", örneğin, her Turda 10 puan((X-MinnalX)/Puan/10)

ihtiyacınız olan yerel maksimumu bulabileceğiniz bir vektör elde edersiniz.

bu vektör pratikte dikey bir fiyat profilidir

Formülü birleştirmeye çalışıyorum... Çok sıkıyım...

 #define           Pmax 100    //размер массива по периоду

void ...
{
   for ( int p= 5 ; p<=Pmax; p++) // отбор по периодам
       for ( int b=rates_total-Pmax; b<rates_total; b++)
        {
         double pr=sm.d[p- 1 ].m[b]; // массив значений цен МА        p-период, b-бар        
        }
}

Her çubuk için her dönemin değerine sahibim - pr

Hesaplamaların sonunda ne elde etmelisiniz?:

- Her çubuk için dikey vektör (değer dizisi),

ilk çubuğun değerlerini hesaplarsam

heatmap[ Round(( pr -MininalX)/Point/10) ]+=pr;

MininalX - 100 MA döneminin minimum fiyat değeri

Direksiyonu çevirdiğimi anlıyorum , özür dilerim!)

 
Mikhail Toptunov :

Formülü birleştirmeye çalışıyorum... Çok sıkıyım...

Her çubuk için her dönemin değerine sahibim - pr

Hesaplamaların sonunda ne elde etmelisiniz?:

- Her çubuk için dikey vektör (değer dizisi),

ilk çubuğun değerlerini hesaplarsam

MininalX - 100 MA döneminin minimum fiyat değeri

Direksiyonu çevirdiğimi anlıyorum , özür dilerim!)

evet, toplamlardan bir "dikey vektör" almalı. Vektörün her elemanı sorumludur (toplar), örneğin 10 puan.

yani bar için:

1. Maksimum, minimum ve bunlardan vektörün boyutunu belirlemek için Pmax çubukları için fiyatlar çalıştırıyoruz.

2. Bir kez daha fiyatlar üzerinden koşuyoruz, her fiyat için:

2.1 vektörün hangi elemanının ekleneceğini belirleme

2.2 Ne kadar ekleneceğini belirler. N'yi dengelemek için PRICE * (toplam 1/N 1/(N+1) 1/(N+2) ... 1/Pmax) ekleyeceğiz.
Parantez içinde olan iki harmonik serinin farkıdır = H(Pmax)-H(N-1), dilerseniz hızlıca sayabilirsiniz.

---

neden böyle: N çubuk mesafesindeki fiyat sadece Pmax'tan N'ye SMA grubuna "düşecek". N'den daha az bir rol oynamaz ve Pmax'tan daha derin düşünmüyoruz

her SMA'da ağırlıklar 1/dönem olacaktır, yani bir anda 1/N 1/(N+1) 1/(N+2) ...