OnBookEvent aboneliği bazen düşüyor - böyle bir şey var mı?

 

Cama daha yakından baktıktan ve OnBookEvent'e abone olan birkaç uzman ve göstergeyi çizelgelere astıktan sonra, bazılarının, özellikle 1 uzman ve farklı semboller için 1 gösterge olmak üzere, kendiliğinden düştüğünü gördüm. Günlüklerde hata yok. Alıntılar devam etti. Diğer karakterler çalışmaya devam etti. Boşta kalan MQL programlarını manuel olarak yeniden başlattıktan sonra, Depth of Market olayları bunlara tekrar ulaşmaya başladı.

Bunu gözlemleyen var mı? Kendinizi nasıl korursunuz? Şimdiye kadar, tespit açısından, son sipariş defteri olayı ile yeni tikler arasındaki zaman aşımını izlemek için bir fikir var. Ama ya zaman aşımı aşılırsa? MarketBookAdd'i tekrar aramak yeterli mi?

 

Daha önce "zombiler" olarak adlandırılıyordu, belki de arama hala eski konuları bulacaktır.

Bu, uzmanlar/göstergeler sipariş defterinden abone olduklarından daha fazla kez abonelikten çıktıklarında olur.

Örneğin, her biri 1 kez abone olan 2 uzman vardı. Sonra biri kapatıldı, iki kez abonelikten çıktı. Çalışmaya devam eden ikinci Expert Advisor, güncellemeleri almayı durdurur.

Bunu birkaç kez gördüm.

Uzmanları ayarladıktan sonra sorun ortadan kalktı ve bir yıldan fazla bir süredir tekrarlanmadı.

 
Ilya Baranov :

Daha önce "zombiler" olarak adlandırılıyordu, belki de arama hala eski konuları bulacaktır.

Bu, uzmanlar/göstergeler sipariş defterinden abone olduklarından daha fazla kez abonelikten çıktıklarında olur.

Daha doğrusu, uymuyor. Aboneliğim başlangıçta bir kez yapılır ve abonelikten çıkma işlemi deinite'dedir. DeInit'in bir şekilde OnInit'ten daha fazla çağrılma olasılığını dışlayamasam da.

 
Stanislav Korotky :

Daha doğrusu, uymuyor. Aboneliğim başlangıçta bir kez ve abonelikten çıkma - deinite'de yapılır. DeInit'in bir şekilde OnInit'ten daha fazla çağrılma olasılığını dışlayamasam da.

Göstergeler için bu konuya bakın.

Последовательность выполнение Init() и DeInit()
Последовательность выполнение Init() и DeInit()
  • 2017.04.07
  • www.mql5.com
Всем привет ! Столкнулся с такой проблемой Написан индикатор или советник...
 
Sergey Savinkin :

Göstergeler için bu konuya bakın.

Evet öyle bir konu vardı hatta katıldım ama anlaşılan sorun devam etti. Ancak mevcut durumda, bir Uzman Danışmanın aboneliği de ortadan kalktı.

Tamam, bum bir tef ile danslar düzenleyin.

 
Stanislav Korotky :

Cama daha yakından baktıktan ve OnBookEvent'e abone olan birkaç uzman ve göstergeyi çizelgelere astıktan sonra, bazılarının, özellikle 1 uzman ve farklı semboller için 1 gösterge olmak üzere, kendiliğinden düştüğünü gördüm. Günlüklerde hata yok. Alıntılar devam etti. Diğer karakterler çalışmaya devam etti. Boşta kalan MQL programlarını manuel olarak yeniden başlattıktan sonra, Depth of Market olayları bunlara tekrar ulaşmaya başladı.

Bunu gözlemleyen var mı? Kendinizi nasıl korursunuz? Şimdiye kadar, tespit açısından, son sipariş defteri olayı ile yeni tikler arasındaki zaman aşımını izlemek için bir fikir var. Ama ya zaman aşımı aşılırsa? MarketBookAdd'i tekrar aramak yeterli mi?

Düğme ve anahtar olmak üzere iki tür anahtar vardır. Birincisi bir darbe gönderir ve işi tamamlar, ikincisi çalışma modunda bir değişiklik anlamına gelir. Birincisine bir örnek, bir olayın ideali olan bir kapı zilidir. İkincisine bir örnek, bir ışık anahtarıdır, - basılır - ve yanar. Görüyorsunuz, bu tam olarak bir olay değil, daha fazlası.

 
Алексей Тарабанов :

İki tür anahtar vardır, bir düğme ve bir anahtar. Birincisi bir darbe gönderir ve işi tamamlar, ikincisi çalışma modunda bir değişiklik anlamına gelir. Birincisine bir örnek, bir olayın ideali olan bir kapı zilidir. İkincisine bir örnek, bir ışık anahtarıdır, - basılır - ve yanar. Görüyorsunuz, bu tam olarak bir olay değil, daha fazlası.

Hayır, anlamıyorum. Belgelere bakılırsa, abone olmak dahili sayacı artırır ve abonelikten çıkmak bunu 1 azaltır. 0'a ulaşıldığında hiçbir olay gönderilmez.

Baskıları koydum. Hem Expert Advisor hem de gösterge aynı grafikte olduğunda sorunu yeniden oluşturmayı başardım. Her biri OnInit'te MarketBookAdd ve OnDeinit'te MarketBookRelease yapar. Bu nedenle, Expert Advisor'ı grafikten çıkardıktan sonra ( MarketBookRelease'e bir çağrı ), gösterge, Depth of Market'i almayı durdurur (teorik olarak, MarketBookAdd'e yaptığı kendi çağrısı henüz iptal edilmemiş olsa da). Tam tersine aynısı geçerli - hindiyi kaldırırsanız Expert Advisor'da abonelik kaybolur. Tabii ki, bunu zaten tespit ediyorum ve tekrar abone oluyorum, ancak bu şekilde çalışmamalı, IMHO.

 
Stanislav Korotky :

Hayır, anlamıyorum. Belgelere bakılırsa, abone olmak dahili sayacı artırır ve abonelikten çıkmak bunu 1 azaltır. 0'a ulaşıldığında hiçbir olay gönderilmez.

Baskıları koydum. Hem Expert Advisor hem de gösterge aynı grafikte olduğunda sorunu yeniden oluşturmayı başardım. Her biri OnInit'te MarketBookAdd ve OnDeinit'te MarketBookRelease yapar. Bu nedenle, Expert Advisor'ı grafikten çıkardıktan sonra ( MarketBookRelease öğesine bir çağrı ), gösterge, Depth of Market'i almayı durdurur. Tam tersine aynısı geçerli - hindiyi kaldırırsanız Expert Advisor'da abonelik kaybolur. Tabii ki, bunu zaten tespit ediyorum ve tekrar abone oluyorum, ancak bu şekilde çalışmamalı, IMHO.

Zaten her şeyi söyledi. sessiz kalacağım.

 
Stanislav Korotky :

Hayır, anlamıyorum. Belgelere bakılırsa, abone olmak dahili sayacı artırır ve abonelikten çıkmak bunu 1 azaltır. 0'a ulaşıldığında hiçbir olay gönderilmez.

Baskıları koydum. Hem Expert Advisor hem de gösterge aynı grafikte olduğunda sorunu yeniden oluşturmayı başardım. Her biri OnInit'te bir MarketBookAdd ve OnDeinit'te bir MarketBookRelease yapar. Bu nedenle, Expert Advisor'ı grafikten çıkardıktan sonra ( MarketBookRelease'e bir çağrı ), gösterge, Depth of Market'i almayı durdurur (teorik olarak, MarketBookAdd'e yaptığı kendi çağrısı henüz iptal edilmemiş olsa da). Tam tersine aynısı geçerli - hindiyi kaldırırsanız Expert Advisor'da abonelik kaybolur. Tabii ki, bunu zaten tespit ediyorum ve tekrar abone oluyorum, ancak bu şekilde çalışmamalı, IMHO.

BookEvent etkinliği yayınlanır. OnBookEvent açıklamasını buradan dikkatlice okuyun.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Stanislav Korotky :

Cama daha yakından baktıktan ve OnBookEvent'e abone olan birkaç uzman ve göstergeyi çizelgelere astıktan sonra, bazılarının, özellikle 1 uzman ve farklı semboller için 1 gösterge olmak üzere, kendiliğinden düştüğünü gördüm. Günlüklerde hata yok. Alıntılar devam etti. Diğer karakterler çalışmaya devam etti. Boşta kalan MQL programlarını manuel olarak yeniden başlattıktan sonra, Depth of Market olayları bunlara tekrar ulaşmaya başladı.

Bunu gözlemleyen var mı? Kendinizi nasıl korursunuz? Şimdiye kadar, tespit açısından, son sipariş defteri olayı ile yeni tikler arasındaki zaman aşımını izlemek için bir fikir var. Ama ya zaman aşımı aşılırsa? MarketBookAdd'i tekrar aramak yeterli mi?

Oku bunu

https://www.mql5.com/ru/forum/95131

invalid book transaction
invalid book transaction
  • 2016.09.06
  • www.mql5.com
Раньше не было, появилось сегодня (реал). Что это...
 

Teşekkürler ;-). Tabii ki belgeleri ve forumu okudum. Sorumun bir cevabı varsa, burada formüle etmek veya vurgulamak çok nazik olurdu.

Özellikle, belgelerde büyüleyici bir ifade var:

В отличие от других событий, событие BookEvent является широковещательным. Это означает, что достаточно одному эксперту подписаться на получение события BookEvent с помощью функции MarketBookAdd, все остальные эксперты, имеющие обработчик OnBookEvent(), будут получать это событие.

Ancak buna değip değmeyeceği tahmin edilmeye devam ediyor - analojiyle, "diğer tüm uzmanlar da almayı bırakacağından, bir uzmanın bir etkinlik alma aboneliğinden çıkması yeterlidir" diye devam edin? Bunun olamayacağına, bir hata olacağına (veya olduğuna) inanıyorum.