A assinatura do OnBookEvent às vezes cai - existe algo assim? - página 14

 
fxsaber:

Não consigo apagá-lo.

Que tal fechar todos os gráficos?

 
Andrey Barinov:

E se todos os gráficos estivessem fechados?

Isso não ajudaria, é claro.

 
Stanislav Korotky:

De acordo com a resposta do service-desk, o contador deve ser o mesmo para todo o gráfico (cada símbolo é diferente), e cada desenvolvedor de MQL tem que confiar no fato de que outros desenvolvedores de MQL não cometerão um erro ao diminuir o contador no mesmo gráfico. Explicações serão acrescentadas à ajuda.

"Salvar o afogamento é uma questão de afogamento".

A resposta do Service Desk foi um pouco diferente. E a solicitação ao Service Desk não fazia referência a nenhum balcão.

No entanto, o tratamento do balcão será fixado nas próximas construções. Exatamente como eu escrevi anteriormente.

Assinar adiciona um contador, cancelar a assinatura adiciona um contador. O balcão está dentro do cronograma. Para cada ferramenta (você pode inscrever-se em qualquer ferramenta), ela tem seu próprio contador. Este contador conta as assinaturas de quaisquer instrumentos que se originem dos programas anexados ao quadro dado. Quando a tabela for fechada, todos os contadores restantes não zerados serão descadastrados.

 
Slava:

A resposta do Service Desk foi um pouco diferente. E o pedido de serviço não dizia respeito a nenhum balcão.

No entanto, no futuro, a operação contrária será corrigida. Exatamente como eu escrevi anteriormente.

Assinar adiciona um contador, cancelar a assinatura adiciona um contador. O balcão está dentro do cronograma. Para cada ferramenta (você pode inscrever-se em qualquer ferramenta), ela tem seu próprio contador. Este contador conta as assinaturas de quaisquer instrumentos que se originem dos programas anexados ao quadro dado. Quando a tabela for fechada, todos os contadores restantes não zerados serão descadastrados.

Você repetiu o que disse a mesa de serviço. A questão é que não há garantia de salvar a assinatura de um programa MQL válido, que tenha se inscrito uma vez e não tenha cancelado a inscrição, mas há um programa MQL alienígena que cancelará a inscrição. Já que o contador é para o gráfico e não para o programa. Pelo menos é o que parece.

 
fxsaber:

E se um indicador invisível tiver sido acionado "acidentalmente" (tenho certeza que há alguns no Mercado)... Até que você reinicie o Terminal, você ainda terá que se preocupar com isso sem sucesso.

Com a chegada dos Serviços ainda mais urgente.

Há muito tempo eu venho escrevendo uma proposta para um analógico do gerente de CPU (scripts) no SD.

 

A fim de não ser infundado, aqui está uma citação de uma nova (próxima) referência:

Начальное значение счетчика подписок равно нулю. При каждом вызове MarketBookAdd() счетчик подписок для указанного символа на данном графике увеличивается на единицу (символ графика и символ в MarketBookAdd() не обязаны совпадать). При вызове MarketBookRelease() счетчик подписок на указанный символ в пределах графика уменьшается на единицу. Трансляция событий BookEvent по любому символу в пределах графика продолжается до тех пор, пока счетчик подписок по данному символу не станет равным нулю. Поэтому важно, чтобы каждая MQL5-программа, которая содержит вызовы MarketBookAdd(), при завершении своей работы правильно отписывалась от получения событий по каждому использованному символу с помощью MarketBookRelease(). Для этого достаточно, чтобы количество вызовов MarketBookAdd() и  MarketBookRelease() по каждому вызову было четным за всё время жизни MQL5-программы. Использолвание флагов или собственных счетчиков подписок внутри программы позволяет безопасно работать с событиями BookEvent и предотвращает отключение подписок на получение этого события в чужих программах в пределах одного графика.

Se novas correções de comportamento fossem feitas, como este fragmento soaria? A recomendação destacada em amarelo, cujo cumprimento não pode ser rastreado nos programas de outras pessoas e uma fonte potencial de erros.

 
Slava:

Aresposta do Service Desk foi um pouco sobre outras coisas. Sim e o pedido de servicedesk não tocou em nenhum balcão.

No entanto, no futuro, a operação contrária será corrigida. Exatamente como eu escrevi antes.

Assinar adiciona um contador, cancelar a assinatura adiciona um contador. O balcão está dentro do cronograma. Para cada ferramenta (você pode inscrever-se em qualquer ferramenta), ela tem seu próprio contador. Este contador conta as assinaturas de quaisquer instrumentos que se originem dos programas anexados ao quadro dado. Quando a tabela for fechada, todos os contadores restantes não zerados serão descadastrados.

Muito à espera de novas construções (muitos bugs acumulados).

Razão: