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

 
A100:
Amanhã vou verificar o poder mágico de seu código... Enquanto isso, gostaria de sua opinião sobre se a função de abertura/fechamento de um copo pode ser combinada com a função de assinatura/desinscrição para/de evento neste copo ou se devem ser separados

No caso de tumblers, isso não pode ser feito, devido às peculiaridades de receber tumblers pelo gateway FORTS Plaza II

 
prostotrader:

Tenho certeza de que esta é a razão do erro.

Nunca tive um erro de transação_do_livro inválido, por isso é diferente.

 
prostotrader:

Se você fizer o que escreve no mesmo símbolo, naturalmente a assinatura será destruída por esse símbolo no mesmo terminal!

E isto é correto.

O que há de tão certo nisso? Um programa derruba o outro. Imagine que o Consultor Especialista definisse um timer para si mesmo, enquanto Vasya Pupkin desabilitava o timer em seu roteiro vizinho. KOLOSSAL.

 
Stanislav Korotky:

Nunca tive um erro de transação_do_livro inválido, por isso é diferente.

Vamos esperar pela nova construção.

 
Stanislav Korotky:

Qual é a coisa certa a fazer? Um programa derruba o outro. Imagine que o Consultor Especialista definisse um timer para si mesmo, e Vasya Pupkin desabilitasse esse timer em seu roteiro vizinho. FALSO.

Use a assinatura corretamente, e você não precisará de Vasya Pupkin.

Tenho 82 EAs rodando em dois terminais (reais) em um computador e NUNCA tive o problema que você descreve.

Adicionado

Estou falando de habilitar/desabilitar a assinatura da aposta.

Duas linhas de código:

Aqui está um exemplo

Código

//+------------------------------------------------------------------+
//|                                                        Books.mq5 |
//|                                      Copyright 2018 prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018 prostotrader"
#property link      "https://www.mql5.com"
#property version   "1.00"
bool is_book = false;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Add books
   is_book = MarketBookAdd(Symbol());
   if(is_book == true) Print(__FUNCTION__, ": Подписка на стакан добавлена. Символ ", Symbol());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
    if(is_book == true)
{ MarketBookRelease(Symbol());
    Print(__FUNCTION__, ": Подписка на стакан удалена. Символ ", Symbol());}
  }

//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
   if(symbol == Symbol())
   {
     Print(__FUNCTION__, ": Подписка работает. Символ ", Symbol());
   }
   
  }
//+------------------------------------------------------------------+




Resultado

2018.07.24 13:51:19.719 Book_test (Si-9.18,M1)  OnInit: Подписка на стакан добавлена. Символ Si-9.18
2018.07.24 13:51:19.745 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:30.346 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:30.411 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:30.477 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:30.489 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.071 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.108 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.178 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.285 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.305 Book_test (Si-9.18,M1)  OnInit: Подписка на стакан добавлена. Символ Si-9.18
2018.07.24 13:51:31.549 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.549 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.877 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.877 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.909 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:31.909 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.046 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.046 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.217 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.217 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.687 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.687 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.761 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.761 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.969 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:32.969 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:33.036 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:33.036 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:33.220 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:33.220 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:33.259 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:33.259 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18

..............................

2018.07.24 13:51:44.888 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:44.939 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:44.939 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:45.959 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:45.959 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:45.991 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:45.991 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:46.251 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:46.251 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:48.952 Book_test (Si-9.18,M1)  OnDeinit: Подписка на стакан удалена. Символ Si-9.18
2018.07.24 13:51:49.048 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.176 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.382 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.493 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.517 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.551 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.630 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.651 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.706 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.726 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.791 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.890 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:49.928 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:50.170 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:50.582 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:50.908 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.041 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.080 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.112 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.362 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.457 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.470 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.523 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.771 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:51.850 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:52.221 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:52.240 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:52.392 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:52.688 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:53.013 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:53.169 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:53.328 Book_test (Si-9.18,M1)  OnBookEvent: Подписка работает. Символ Si-9.18
2018.07.24 13:51:54.185 Book_test (Si-9.18,M1)  OnDeinit: Подписка на стакан удалена. Символ Si-9.18
 
prostotrader:

Use sua assinatura corretamente e você não precisará de um Papkin.

Tenho 82 EAs rodando em dois terminais (reais) no mesmo computador e NUNCA tive o problema que você descreve.

Adicionado

Estou falando de habilitar/desabilitar a assinatura da aposta.

Duas linhas de código:

Primeiro, parece haver aqui um erro?

if(is_book = true) MarketBookRelease(Symbol());

Deveria ser assim:

if(is_book == true) MarketBookRelease(Symbol());

ou

if(is_book) MarketBookRelease(Symbol());

E, em segundo lugar, para que serve este cheque, afinal? Se a assinatura neste EA não estiver conectada, será que ela removerá a de outra pessoa?

 
Sergey Savinkin:

Antes de mais nada, parece haver aqui um erro?

Deveria ser assim:

ou

E, em segundo lugar, por que este cheque? Se a assinatura neste EA não estiver conectada, será que ela removerá a de outra pessoa?

Obrigado, é realmente uma gralha.

Há um contador de assinaturas para o símbolo.

 
prostotrader:

Existe um contador de assinaturas de símbolos.

Você pode explicar melhor como está organizado?

 
Sergey Savinkin:

Você pode explicar melhor como está organizado?

Eu não sou desenvolvedor, mas acho que quando se chama MarketBookAdd(), o contador de assinaturas no símbolo aumenta,

Assim, quando MakerBookRelease() é chamado, ele diminui e a assinatura é interrompida se o contador for zero.

 
prostotrader:

Eu não sou desenvolvedor, mas acho que quando se chama MarketBookAdd(), o contador de assinaturas do personagem aumenta,

de acordo, quando você chama a MakerBookRelease() ela diminui e deixa de subscrever se o contador for zero.

Gostaria de um comentário dos desenvolvedores, porque não há nada na documentação sobre isto.