Gerçek Zamanlı Tahmin Sistemlerinin Test Edilmesi - sayfa 54

 

forte928'e

В данный момент есть первый фактор на основании которого можно сделать вывод о боковом флете на паре евро доллар -

parite 1.4850'de OP hattının konsolidasyon seviyesine ulaştı.

ikinci rakam aynı grafiği gösteriyor, ancak düşük nokta - 1.4162 ve mevcut 1.4951'e göre hesaplanan büyüme seviyeleri ile ve bu fiyat grafiğine dayanarak 1.4951 ve 1.4851 seviyelerini alırsak, fiyatın tam olarak olduğunu görebiliriz. Bu göstergelerin son iki gündeki ortalama dalgalanma seviyesindeki denge noktası.. Grafiğin daha aşağısındaki doygunluk göstergesi, uzun süredir tersine dönmesi gereken doygunluk seviyesini gösteriyor..

Ancak bunun olmasını engelleyen birkaç şey var:

1) günlük grafik, büyümenin aşağı yönlü bir hareketini gösteriyor (alt gösterge)

2) günlük grafik ilk işarette 1.4877 seviyesinde 0.382 konsolidasyon seviyesine ulaştı

3) günlük grafik, ikinci işarette 1.4892'de COP konsolidasyon seviyesine ulaştı

4) Aynı zamanda H4 grafiğinde yukarı yönlü harekete karşı aktif bir karşı tepki var.

5) Eylül OP sonundaki minimum seviyeye göre iki konsolidasyon seviyesinin varlığı ve uzun bir düzeltmenin güçlü bir işareti olan 0.236 (1.4931 ve 1.4933)

Devam edecek..

Açıklama için çok teşekkür ederim, TA'yı birkaç yıl önce (kendim için) terk ettiğimi söylemeliyim, ancak yetkin bir analiz okumak ve kendi tahminlerimle karşılaştırmak her zaman ilginçtir. Daha iyi anlamak ve terminolojide karışıklığı önlemek için "konsolidasyon düzeyi" terimini açıklar mısınız?


Lea için

Zaman serisinde kritik noktaları aramayı denediniz mi?

hayır, bu tür noktaları aramadım ve onları nasıl bulacağımı henüz bilmiyorum. "Zaman serisi hafızası" gibi bir kavram kullandım. Bu biraz özel bir terimdir, sinir ağlarında, fraktal analizde bulunabilir, ancak her zaman uygulamasının bağlamına bakmanız gerekir. Bu terime, tarihsel referansların sürecin gelecekteki uygulamaları üzerindeki etkisini koydum. Basitçe söylemek gerekirse, bu parametre "tarihi serinin ne kadar sürmesi gerektiği" sorusunu yanıtlar.


Not : Bu arada lineer kitaplığınızı geliştirip yeni bir sürüm yayınlamaya söz verdiğinizi hatırlıyorum...


Yurixx'e

1. MKL4'te boyutu belirtilmeyen bir dizi üzerinde işlem yapamazsınız. Dizinin bildirilmesiyle ilgili boyutunu belirtmediyseniz, bunu init() içinde yapmanız gerekir. Ayrıca, çalışma sürecinde bu boyutu gerektiği gibi değiştirebilirsiniz.


Ben burayı pek anlamadım. Bunu yapmıyorum ve her şey çalışıyor, yani init () içinde başlatma olmadan


2. Lea'nın tavsiyesi oldukça pratik, mutlaka dinlemelisiniz. ... Bir intikamla boşlukları tahsis etmek ve son elemanın indeksine sahip bir değişkene sahip olmak istemeniz oldukça olasıdır. O zaman, gerekli sayıda öğenin olup olmadığını önceden bilirsiniz, gerçekten önemli olmayacaktır.

Daha fazla hesaplama olduğu oldukça açık olduğu için bana çok pratik görünmüyor. Yukarıdakilere ek döngüler eklenebilir. Ama yine de, her şeyi kontrol etmeniz gerekiyor, eğer geliştiricilerin tavsiyelerini duyabilseydiniz ...: o)

Genel olarak, tavsiyenin yeterli olması için, dizinin ne için kullanıldığını ve boyutunu değiştirme ihtiyacına neyin neden olduğunu daha net bir şekilde açıklamaya değer.

Örneğin (ve bu en basit örnektir) y[n]>y[n+1] ve y[n]<y[n-1] koşullarına göre yerel ekstremumları (tabloda değil) aramak ve buna göre, minimum için. Bunun birkaç yolla çözülebileceğini anlıyorum, örneğin şöyle:

  • Orijinal seriyle aynı uzunlukta bir dizi oluşturun, bir ekstremum varlığı için 0 ve 1'i kodlayın.
  • Ekstrema hesaplamasını toplayarak ilk yinelemeyi çalıştırın
  • Ekstrema sayısını yeniden hesaplayın
  • Bu değerle diziyi başlat
  • Değerleri yeni diziye yaz
Bu şekilde yapabilirsin, farklı yapabilirsin ama en iyi nasıl olur onu bulmaya çalışıyorum :o)

Ben yüksük oynamam. Ama görünüşe göre 2. seçeneği daha çok seviyorum yoksa sadece euronun büyümesini mi istiyorum? :-)

Fark ettiğiniz gibi, yüksükleri bu şekilde teklif etmedim. Hala açık, ilginç olan sadece sizin fikrinizdi (bir sonraki konudaki tahmininizi okudum)

Ancak 1. ve 3. seçenekler de birbirinden çok az farklılık gösterseler de hiçbir şey değildir.

Ortalama fiyat değerindeki bir kayma ile "çok yönlü bir vektör"


Ukrayna'ya

Kendi deneyimlerime göre, dizileri doğrudan kullanılmaları gereken yerde bildirmenizi ve kullanmanızı öneririm, bu tür diziler çoğunlukla yereldir, dinamik olarak bellek kullanırlar, bu ister beğenin ister beğenin statik dizilere kıyasla daha iyidir. hayır, Windows onları takas dosyasına koyar ve bu nedenle işleri, özellikle diziler küçükse, operatiften çok daha yavaş olur, o zaman statik olarak onlar için çok fazla alan ayırmanın bir anlamı yoktur. MQL-4 derleyicisi, açık boyut belirtimine sahip bir dizi bildirimi ile ertelenmiş bir dizi bildirimi arasındaki farkı hissetmemeniz için derlenmiştir.

MQL, bir dizinin depolandığı yere ilişkin statik/dinamik "işaretçilere" sahip görünmüyor. Yalnızca bir başlatma operatörü vardır, tek soru, onu birden çok kez kullanmanın büyük bir dizide çalışmayı yavaşlatabilmesidir. Ya da değil? Yoksa yine bir şey mi kaçırıyorum?


pazarlamacıya

forumdaki bilgileri filtrele

Oh, bu değerli bir kalite. Sizi temin ederim - en iyi uyarlanabilir filtrelere sahibim. :hakkında)

Sorunu daha ayrıntılı olarak açıklarsanız (kişisel olarak yapabilirsiniz), biz (I) onu en iyi nasıl uygulayacağımızı bulacağız.

Düşünüyorum, ama şimdi kendim çözmek istiyorum. Sonuçta, görevi en azından bir şekilde açıklamak için MQL'de en azından bir şeyi anlamanız gerekir :o)

 
Ve öyle sessiz bir dal vardı ki. (
 
Lord_Shadows >> :
Ve öyle sessiz bir dal vardı ki. (

Bence bu böyle kalacak. Meslektaşlar hala savaş modunda :o)

 
grasn писал(а) >>

Yurixx'e

Ben burayı pek anlamadım. Bunu yapmıyorum ve her şey çalışıyor, yani init () içinde başlatma olmadan

Bir diziyi başlatmak bir şeydir, ancak bir boyut bildirmek başka bir şeydir. Bir diziyi Arr[] olarak tanımladıysanız, bellekte ona bir eleman atanır. Onunla istediğiniz kadar çalışabilirsiniz ve > 0 numaralı öğelere eriştiğinizde sistem size bir hata hakkında hiçbir şey söylemez, ancak hesaplamalar yanlış olur. Her şeyin yolunda gitmesi için ArrayResize() işlemi ile belirli bir boyut ayarlamanız gerekir. Bellek tahsis ederken, tüm öğeler sıfırlarla doldurulacaktır, bu nedenle özel bir şey gerekli değilse, başlatamazsınız bile (iyi stil bunu gerektirir).

.

Daha fazla hesaplama olduğu oldukça açık olduğu için bana çok pratik görünmüyor. Yukarıdakilere ek döngüler eklenebilir. Ama yine de, her şeyi kontrol etmeniz gerekiyor, eğer geliştiricilerin tavsiyelerini duyabilseydiniz ... :o)

Lea'nın tavsiyesi daha fazla hesaplamaya yol açmaz. Buna daha yakından bakın. Ve geliştiricileri de bu temel konuya çekerseniz, genel olarak bir kahraman olacaksınız. :-)

.

Örneğin (ve bu en basit örnektir) y[n]>y[n+1] ve y[n]<y[n-1] koşullarına göre yerel ekstremumları (tabloda değil) aramak ve buna göre, minimum için. Bunun birkaç yolla çözülebileceğini anlıyorum, örneğin şöyle:

  • Orijinal seriyle aynı uzunlukta bir dizi oluşturun, bir ekstremum varlığı için 0 ve 1'i kodlayın.
  • Ekstrema hesaplamasını toplayarak ilk yinelemeyi çalıştırın
  • Ekstrema sayısını yeniden hesaplayın
  • Bu değerle diziyi başlat
  • Değerleri yeni diziye yaz

Buna sağ kulağın arkasındaki sol el denir. Bunu programlarımda her zaman yapıyorum, ancak bilgi işlem kaynaklarını ve zamanını boşa harcamamak için tek geçişte çalışıyorum. Kanun şudur: hafızada kazanırsın - zaman ve hesaplamalarda kaybedersin. Şahsen, bana öyle geliyor ki hafıza ticaret için daha az kritik. Bu nedenle, aynı uzunluktaki iki diziyi bile güvenle oluşturabilir ve ekstremum değerini bire ve koordinatını doğrudan oluşumları sırasında ikinciye yazabilirsiniz.

Sergey, en zor seçenekle daha iyi başla. Ve etrafta ne yaygara olduğu belli değil. :-)))

Urain'in tavsiyesi "dizileri kullanmaları gereken yerde doğrudan bildirin ve kullanın" konusunda çok dikkatli davranılmasını öneriyorum. Dizilerin kullanımı, takas dosyasıyla mücadeleye göre değil, görevin doğasına göre belirlenir.

 
Yurixx >> :
grain yazdı >>

Örneğin (ve bu en basit örnektir) y[n]>y[n+1] ve y[n]<y[n-1] koşullarına göre yerel ekstremumları (tabloda değil) aramak ve buna göre, minimum için. Bunun birkaç yolla çözülebileceğini anlıyorum, örneğin şöyle:

  • Orijinal seriyle aynı uzunlukta bir dizi oluşturun, bir ekstremum varlığı için 0 ve 1'i kodlayın.
  • Ekstrem hesaplamasını toplayarak ilk yinelemeyi çalıştırın
  • Ekstrema sayısını yeniden hesaplayın
  • Bu değerle diziyi başlat
  • Değerleri yeni diziye yaz

Buna sağ kulağın arkasındaki sol el denir. Bunu programlarımda her zaman yapıyorum, ancak bilgi işlem kaynaklarını ve zamanını boşa harcamamak için tek geçişte çalışıyorum. Kanun şudur: hafızada kazanırsın - zaman ve hesaplamalarda kaybedersin. Şahsen, bana öyle geliyor ki hafıza ticaret için daha az kritik. Bu nedenle, aynı uzunluktaki iki diziyi bile güvenle oluşturabilir ve ekstremum değerini bire ve koordinatını doğrudan oluşumları sırasında ikinciye yazabilirsiniz.

Eh, konudan tamamen sapmış ;-). Genellikle belirli görevler için zaten mevcut olan bu özelliklerden (API'ler, kitaplıklar vb.) en iyi şekilde yararlanmaya çalışırım. Özellikle, ekstremumları bulmak için ArrayMinimum/Maximum işlevlerini kullanmak daha verimli değil mi? Ek olarak, ekstrema depolamak için bir yöntem seçimi, onlarla yapılması planlanan sonraki işlemlerle belirlenmelidir. Özellikle, bazı hesaplamalarda ekstremumlardan geçmenin gerekli olacağına inanıyorum ve daha sonra grasn'ın önerdiği yöntem en uygunudur - bir döngüde gerçekleştirilir ve ardından ekstremi kolayca yinelemenizi sağlar.
 
grasn писал(а) >>

Lea için

Hayır, bu tür noktaları aramadım ve onları nasıl bulacağımı henüz bilmiyorum. "Zaman serisi hafızası" gibi bir kavram kullandım. Bu biraz özel bir terimdir, sinir ağlarında, fraktal analizde bulunabilir, ancak her zaman uygulamasının bağlamına bakmanız gerekir. Bu terime, tarihsel referansların sürecin gelecekteki uygulamaları üzerindeki etkisini koydum. Basitçe söylemek gerekirse, bu parametre "tarihi serinin ne kadar sürmesi gerektiği" sorusunu yanıtlar.

Not : Bu arada lineer kitaplığınızı geliştirip yeni bir sürüm yayınlamaya söz verdiğinizi hatırlıyorum...

Anladım, cevap için teşekkürler.

Prensip olarak iki ay önce kütüphanedeki çalışmaları son aşamaya getirdim (gereksiz işlevleri atladım, var olanları yeniden yaptım). Doğru, matrislerin koşulluluk derecesinin hesaplanması yapılmadı. Birkaç hafta içinde daha özgür olacağım, sonra çözeceğim.

Makale daha sonra yazılmaya başlandı, ancak yeterli zaman yoktu. Şu anda, işlev tanımlarının %50'si hazır (bunlar 16'dan 6'sı işlev grubu; şimdiye kadar sadece işlevler hakkında belgeler yazacağım, daha sonra kullanım örnekleri olacak).

 

Tahminlerde bir şey benim için iyi çalışmıyor, bu yüzden bugün Pazartesi gününden itibaren M1 ile denemeye karar verdim:

ana tabloyu göremiyorum :)

Ancak her dakika yeniden optimizasyon ve 3 saat ilerisi için tahmin.

 
Piboli >> :

Tahminlerde bir şey benim için iyi çalışmıyor, bu yüzden bugün Pazartesi gününden itibaren M1 ile denemeye karar verdim:

ana tabloyu göremiyorum :)

Ancak her dakika yeniden optimizasyon ve 3 saat ilerisi için tahmin.



Nasıl yeniden optimize edersiniz? Ve tahminleri nereden alıyorsunuz, herhangi bir ihtimalde dedüktörde değil?

 
mpeugep >> :

Nasıl yeniden optimize edersiniz? Ve tahminleri nereden alıyorsunuz, herhangi bir ihtimalde dedüktörde değil?


zavallı Piboli, şimdiden 4 kez soruldu ^_^, evet, Deductor'da tahminlerde bulunuyor
 

tahmin aşağı yukarı çakışıyor (maksimum entropiye sahip olan): o) Küçük bir açıklama, aşağıdaki yörüngeler kaldı ve "kanal" olan en olası olanıdır.



Lea için

Понятно

denedim :o)

Prensip olarak iki ay önce kütüphanedeki çalışmaları son aşamaya getirdim (gereksiz işlevleri atladım, var olanları yeniden yaptım). Doğru, matrislerin koşulluluk derecesinin hesaplanması yapılmadı.

ama diyor ki

Kod daha sonra yayınlanacaktır.

ve sürüm değişmedi :o(

Neden: