Olayların akışı. Boşta bir olay nasıl kontrol edilir ve yapılır? (+ karar verildi) - sayfa 5

 
Yedelkin :

Tamam anlaşıldı. TheXpert bir dalga aldı ve gidiyoruz.

Hayır, seninle dalga geçiyorum. İnsanlarla nasıl iletişim kuracağını bilmemenden de ben mi sorumluyum?

Bir Expert Advisor'ın bellek tüketimi, aşağıdaki durumlarda sabittir:

(1) arabellek öykünmesi yok

(2) tarihte çizim nesnesi yok.

(3) bellek tahsisinde hata yok. Ancak bu genellikle deinitte görülür.

(4) hindilerle çalışırken hata olmaz. Hindi tüm boyut için bir tampon alırsa, bu bir hatadır.

(1) veya (2) zhor varsa, test cihazı + göndericiyi izlemek kolaydır. Boyut kontrolü ile tedavi edilir.

Olayların kendisi hafızayı hiç yemez (giderek daha fazla). Bu nedenle eksperde sorun yoksa sorun kesinlikle türkiyededir.

Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5
 
TheXpert :

Bir Expert Advisor'ın bellek tüketimi, aşağıdaki durumlarda sabittir:

(1) arabellek öykünmesi yok

(2) tarihte çizim nesnesi yok.

(3) bellek tahsisinde hata yok. Ancak bu genellikle deinitte görülür.

(4) hindilerle çalışırken hata olmaz. Hindi tüm boyut için bir tampon alırsa, bu bir hatadır.

(1) veya (2) zhor varsa, test cihazı + göndericiyi izlemek kolaydır. Boyut kontrolü ile tedavi edilir.

Olayların kendisi hafızayı hiç yemez (giderek daha fazla). Bu nedenle eksperde sorun yoksa sorun kesinlikle türkiyededir.

Ayrıntılı cevap için çok teşekkürler. beyin fırtınası yapacağım. (1) - (3) kesinlikle hayır.

(4) hakkında, lütfen açıklayın: varsayımlarda kaybolmamak için "gösterge tüm boyut için bir arabellek alırsa" ne anlama gelir?

"Eğer (1) veya (2) zhor varsa, test edici + gönderici tarafından izlenmesi kolaysa" hakkında lütfen açıklığa kavuşturun: yani. Test cihazını yalnızca programın hızını ölçmek için değil, aynı zamanda tüketilen hacmi ölçmek için de kullanmanızı öneriyor musunuz? Hmm; bu kadar basit bir çözüm, aklımdan bile geçmedi!

Daha ileri. Bir Expert Advisor dinamik nesneler kullanılarak oluşturulmuşsa, sabit bir belleğe sahip olamayacağı ortaya çıktı. Öte yandan, dinamik nesnelerle hatalı çalışma raporu yoktur; ustayı kaç kez silip başlattın..

Genel olarak, beyin fırtınası görünüşte banal bir fikir uyandırdı: ortaklaşa çalışan programların hacimlerini bölmek mümkün değilse, o zaman onları ayrı ayrı çalıştırmanız ve kimin tüketiminin arttığını görmeniz gerekir. Aynı zamanda, Expert Advisor, aşina olduğu göstergeden değil, örneğin kendi grafiğindeki kenelerden başlatılır. Test hacmi ölçümüyle ilgili ipucunuzu göz önünde bulundurursak, genel olarak her şey sorunsuz çıkıyor. Belki de Roche'un yazıdan bahsederken aklından geçen buydu?.. Ama yine de yazıyı tekrar okurken böyle bir düşünce hiç aklıma gelmedi. Bir ipucu olmadan - hiçbir yerde!

TheXpert :

Hayır, seninle dalga geçiyorum. İnsanlarla nasıl iletişim kuracağını bilmemenden de ben mi sorumluyum?

Suçluluk - kusur, dalga - dalga :)

Ben de zaten aşırı kötü tavrımla ilgili bakış açınızı yakaladım ve şimdiden özür diledim :) Buna rağmen, benim kötü huyum, insanlar için değil, kendim için konuşmanın daha verimli olduğunu söylüyor :) Devlette değiliz. Duma :)

 
Yedelkin :

(4) hakkında, lütfen açıklayın: varsayımlarda kaybolmamak için "gösterge tüm boyut için bir arabellek alırsa" ne anlama gelir?

Burada demek istediğim, eğer grafikte 100.000 çubuk varsa ve EA 100.000 çubuğun tümü için bir arabellek çiziyorsa, bu yanlıştır.

"Eğer (1) veya (2) zhor varsa, test edici + gönderici tarafından izlenmesi kolaysa" hakkında lütfen açıklığa kavuşturun: yani. Test cihazını yalnızca programın hızını ölçmek için değil, aynı zamanda tüketilen hacmi ölçmek için de kullanmanızı öneriyor musunuz? Hmm; bu kadar basit bir çözüm, aklımdan bile geçmedi!

Bu, test cihazını ve bir yerde (örneğin Windows Görev Yöneticisi'nde) bellek ayırmayı izlemek anlamına gelir. Çok güvenilir bir yöntem değil ama sorun uzmandaysa büyük ihtimalle bellek tüketimi çok fazla olacaktır.

Genel olarak, beyin fırtınası görünüşte banal bir fikir uyandırdı: ortaklaşa çalışan programların hacimlerini bölmek mümkün değilse, o zaman onları ayrı ayrı çalıştırmanız ve kimin tüketiminin arttığını görmeniz gerekir.

işte ben böyle geliştirdim...
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5
 
sergeev :
...

Yani, örneğin, bir nesneye tıklandığında, CHARTEVENT_OBJECT_CLICK olayı hemen gelmez, ancak yalnızca önceki tüm olaylar kuyruktan kaldırıldıktan sonra gelir.
Ve anladığınız gibi, olay kuyruğu EventChartCustom ile sıkıca tıkanmış.

...

Alex, şimdi biraz benzer bir sorunum var. Yani, Expert Advisor başlatıldıktan hemen sonra her şey yolunda gidiyor. Bir süredir terminale hiç girmiyorum, bir kullanıcı bilgi panelinden diğerine ve "aptal" programa geçmeye çalışıyorum. Anahtar gerçekleşirken birkaç saniye bile askıda kalabilir. Aynı durum mu?

Çözümünüzü henüz denemedim, başka bir soruyla meşgulüm ama çözümü kendim bulamadığım için kesinlikle deneyeceğim. Şimdiye kadar bir soru var.

Örneğinizde, OnChartEvent () işlevinin beş parametresi vardır. iview nedir?

 ulong event_idle= 0 ; bool bidle;
//---
void OnChartEvent ( int iview , int id, long lparam, double dparam, string sparam)
  {
     if (id== CHARTEVENT_CUSTOM + VM_IDLE )
      {
         if (event_idle>( ulong )lparam || bidle) // если последнее посланное больше чем пришедшее, то сразу выходим
          {
           bidle=event_idle > ( ulong )lparam;
           //---
           if (bidle) return ;
           //---
           event_idle= 0 ;
          } 
        event_idle++;
         ChartRedraw (m_chart); // обновили чарт
         EventChartCustom (m_chart, VM_IDLE, ( long )event_idle, 0 , "" ); // отправили событие с указанием последнего счетчика
         return ; 
      }
     EventChartCustom (m_chart, VM_IDLE, ( long )event_idle, 0 , "" ); // отправили событие с указанием последнего счетчика

     /*
        обработка остальных событий
    */
  }
 
tol64 :

Alex, şimdi biraz benzer bir sorunum var. Yani, Expert Advisor başlatıldıktan hemen sonra her şey yolunda gidiyor. Bir süredir terminale hiç girmiyorum, bir kullanıcı bilgi panelinden diğerine ve "aptal" programa geçmeye çalışıyorum. Anahtar gerçekleşirken birkaç saniye bile askıda kalabilir. Aynı durum mu?

evet, tam olarak bu. Etkinlik Grafiğiniz , OnChartEvent'e yapılan aramalar arasında birden fazla kez gönderilir. Gelen olay numarasını analiz etmeyi önerdiğim eklemeyi yapın ve sorun ortadan kalkacaktır.

Örneğinizde, OnChartEvent () işlevinin beş parametresi vardır. iview nedir?

Yanlışlıkla işlev başlığına girdi. Dikkat etme.

Документация по MQL5: Основы языка / Функции
Документация по MQL5: Основы языка / Функции
  • www.mql5.com
Основы языка / Функции - Документация по MQL5
 
Okuyorum ve hayret ediyorum - insanların ne kadar enerjisi var)) Ah, 17 yılım nerede!
 

tol64 :

sergeev :
...

Yani örneğin bir nesneye tıklandığında CHARTEVENT_OBJECT_CLICK olayı hemen gelmez, ancak yalnızca önceki tüm olaylar kuyruktan kaldırıldıktan sonra gelir .
Ve anladığınız gibi, olay kuyruğu EventChartCustom ile sıkıca tıkanmış .

İnsanlar, bu mesajın 1.1 paragrafını okuyun. Orada tartışılan bilgiler bugün sunuldu, resmi olarak kabul edilebilir. Eh, (bu durumda) artık EventChartCustom işlevi tarafından "önceki" olay-olaylar ve kuyruğun "sağır tıkanması" gibi fenomenlerin kuyruğunda olamaz. ... Veya Rehber'den gelen yeni bilgilerin resmi olarak reddedilmesine ihtiyacınız var.

TheXpert , açıklama için teşekkürler.

 
Yedelkin :

İnsanlar, bu mesajın 1.1 paragrafını okuyun. Orada tartışılan bilgiler bugün sunuldu, resmi olarak kabul edilebilir. Eh, (bu durumda) artık EventChartCustom işlevi tarafından "önceki" olay-olaylar ve kuyruğun "sağır tıkanması" gibi fenomenlerin kuyruğunda olamaz. ... Veya Rehber'den gelen yeni bilgilerin resmi olarak reddedilmesine ihtiyacınız var.

bu sirk oluyor mu
 
sergeev :
bu sirk oluyor mu

Bunu bir sirk olarak görüyorsanız, silmekten çekinmeyin. Veya spesifik olmaya çalışın.

 
yeni soru mu sordun