OnBookEvent에 대한 구독이 때때로 중단됩니다. 그런 일이 있습니까? - 페이지 5

 
A100 :
내일 나는 당신의 코드의 마법의 힘을 확인하겠습니다... 하지만 지금은... 주문서 열기/닫기 기능과 구독/구독 취소 기능을 결합할 수 있는지 여부에 대한 귀하의 의견을 듣고 싶습니다. /이 주문서에 대한 이벤트에서 또는 분리되어야 합니다.

안경의 경우 FORTS Plaza II 게이트웨이에서 안경을 받는 특성으로 인해 수행할 수 없습니다.

 
prostotrader :

이 오류가 원인이라고 확신합니다.

나는 invalid_book_transaction 오류가 발생한 적이 없으므로 두 가지 다른 것입니다.

 
prostotrader :

동일한 기호에 작성하는 작업을 수행하면 당연히 동일한 터미널에서 이 기호에 의해 구독이 파괴됩니다!

그리고 맞습니다.

여기가 뭐죠? 한 프로그램이 다른 프로그램을 녹아웃시킵니다. 전문가가 자신을 위해 타이머를 설정했고 Vasya Pupkin이 다음 스크립트에서 이 타이머를 껐다고 상상해 보십시오. 거대한.

 
Stanislav Korotky :

나는 invalid_book_transaction 오류가 발생한 적이 없으므로 두 가지 다른 것입니다.

새로운 빌드를 기다리자.

 
Stanislav Korotky :

여기가 뭐죠? 한 프로그램이 다른 프로그램을 녹아웃시킵니다. 전문가가 자신을 위해 타이머를 설정했고 Vasya Pupkin이 다음 스크립트에서 이 타이머를 껐다고 상상해 보십시오. 거대한.

구독을 올바르게 사용하면 Vasya Pupkin이 필요하지 않습니다.

한 컴퓨터의 두 터미널(실제)에 82명의 고문이 있으며 귀하가 설명하는 문제는 없었습니다.

추가됨

이것은 유리 구독을 켜고 끄는 것을 의미합니다.

두 줄의 코드:

다음은 예입니다.

코드

 //+------------------------------------------------------------------+
//|                                                        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 ());
   }
   
  }
//+------------------------------------------------------------------+




결과

 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 :

구독을 올바르게 사용하면 Vasya Pupkin이 필요하지 않습니다.

한 컴퓨터의 두 터미널(실제)에 82명의 고문이 있으며 귀하가 설명하는 문제는 없었습니다.

추가됨

이것은 유리 구독을 켜고 끄는 것을 의미합니다.

두 줄의 코드:

첫째, 이것이 버그인 것 같습니까?

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

다음과 같아야 합니다.

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

또는

 if (is_book) MarketBookRelease ( Symbol ());

그리고 두 번째로, 왜 이 검사를 합니까? 이 Expert Advisor의 구독이 연결되어 있지 않으면 다른 사람의 구독이 제거됩니까?

 
Sergey Savinkin :

첫째, 이것이 버그인 것 같습니까?

다음과 같아야 합니다.

또는

두 번째로, 왜 이 검사가 필요합니까? 이 Expert Advisor의 구독이 연결되어 있지 않으면 다른 사람의 구독이 제거됩니까?

감사합니다, 정말 오타

기호 구독 카운터가 있습니다.

 
prostotrader :

기호 구독 카운터가 있습니다.

어떻게 구성되어 있는지 자세히 설명해 주시겠습니까?

 
Sergey Savinkin :

어떻게 구성되어 있는지 자세히 설명해 주시겠습니까?

저는 개발자는 아니지만, MarketBookAdd() 심볼당 구독 카운터가 늘어나면,

따라서 MakerBookRelease()를 호출할 때 카운터가 0이면 구독이 감소하고 종료됩니다.

 
prostotrader :

저는 개발자는 아니지만, MarketBookAdd() 심볼당 구독 카운터가 늘어나면,

따라서 MakerBookRelease()를 호출할 때 카운터가 0이면 구독이 감소하고 종료됩니다.

이에 대한 문서가 없기 때문에 개발자의 의견을 듣고 싶습니다.