요새. 실행 질문 - 페이지 131

 

멋진 리뷰 감사합니다!

1. 어떤 종류의 철? 서버는 까다롭지만 여기서는 모든 것이 일반 PC에서 실행되는 것처럼 보입니다. 아니면 내가 틀렸습니까?

2. 성능 설정/플러그인/라우팅을 정확히 확인하셨나요? 인공 지연(b-너도밤나무를 태우지 않도록)과 매우 유사합니다.

그것을 알아내는 것은 흥미로울 것입니다.


ps: 여기에서 중복됩니다. 왜냐하면 답을 보겠습니다(블로그에 가서 확인하셔야 합니다)

 
Andrey Khatimlianskii :

ps: 여기에서 중복됩니다. 왜냐하면 답을 보겠습니다(블로그에 가서 확인하셔야 합니다)

거기에 대답했다.

 
Andrey Khatimlianskii :

그것을 알아내는 것은 흥미로울 것입니다.



6년 동안 나는 개발자와 중개인에게 그것을 알아내도록 요청해왔다....

추가됨

이해를 돕기 위해 비동기 주문을 사용하는 것이 좋습니다(로그가 더 많습니다).

 

아무것도 변경되지 않습니다 .... 슬프게도 (Opener, real, FORTS, Build 2280).

--------------------------- Установка ордера -----------------------------
Терминал
2020.02 . 11 10 : 00 : 02.170 Trades   'xxxxx' : buy limit 2.00 SBRF- 6.20 at 22147                                                          ( приказ на установку ордера )


Советник
2020.02 . 11 10 : 00 : 03.233 FCS_Trader (SBRF- 3.20 ,M1)       CheckOrders: Не получен билет Buy ордера. Ожидание продолжается...          ( ожидание получения тикета ) 

Терминал
2020.02 . 11 10 : 00 : 04.147 Trades   'ххххх' : accepted buy limit 2.00 SBRF- 6.20 at 22147                                                 ( ордер проверен, присвоен тикет )  


Советник
2020.02 . 11 10 : 00 : 04.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 05.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 06.738 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773

Терминал
2020.02 . 11 10 : 00 : 07.247 Trades   'ххххх' : buy limit 2.00 SBRF- 6.20 at 22147 placed for execution in 5078.289 ms                         ( приказ отправлен на биржу )
                                                                                                                                       ( ответ биржи терминалом не логируется )  
----------------------------------- Удаление ордера ---------------------------------------------------
2020.02 . 11 10 : 00 : 07.444 Trades   'ххххх' : cancel order # 117122773 buy limit 2.00 SBRF- 6.20 at 22147                                     ( приказ на удаление ордера ) 


Советник
2020.02 . 11 10 : 00 : 08.747 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117122773                ( ожидание проверки ордера сервером МТ5 )

Терминал
2020.02 . 11 10 : 00 : 09.469 Trades   'ххххх' : accepted cancel order # 117122773 buy limit 2.00 SBRF- 6.20 at 22147                             ( ордер проверен ) 
2020.02 . 11 10 : 00 : 09.759 Trades   'ххххх' : cancel order # 117122773 buy limit 2.00 SBRF- 6.20 at 22147 placed for execution in 2315.130 ms ( приказ отправлен на биржу )
                                                                                                                                        ( ответ биржи терминалом не логируется ) 

Советник
2020.02 . 11 10 : 00 : 10.235 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 11.235 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 12.748 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 13.751 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 15.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 16.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 17.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 18.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 20.241 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 21.729 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 22.739 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 23.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 25.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 26.740 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 28.241 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 29.733 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 31.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 32.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 33.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 35.239 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 36.738 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 37.740 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 38.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 40.237 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 41.740 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 43.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 44.739 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 45.740 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 47.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 48.241 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 49.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 51.235 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 52.729 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 53.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 55.241 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 56.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 58.239 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 00 : 59.739 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 01.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 02.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 03.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 04.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 06.239 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 07.736 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 09.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 10.737 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 11.740 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 12.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 14.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 15.241 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 16.737 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 17.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 19.235 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 20.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 21.734 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 22.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 23.742 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 25.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 26.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 27.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 29.235 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 30.739 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 32.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 33.740 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 35.240 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 36.738 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 38.236 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 39.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 41.242 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 42.741 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 44.238 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 45.241 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 46.740 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 48.241 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02 . 11 10 : 01 : 49.737 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773

개발자가 교환 응답 을 기록할 필요가 있다고 생각하지 않았기 때문에 터미널 로그가 없습니다.

1분 42초 주문이 삭제되었습니다!

 
정보 감사합니다. 나쁜 인터넷 연결과 실행을 지연시키는 나쁜 교환을 인용할 수 없는 진공 상태에서 터미널에 대한 매우 유용한 탐색입니다.
 

오프너, 실제, FORTS, 빌드 2280

오늘은 일반적으로 "버그"였고 동기화가 전혀 없었습니다.

다음은 로그의 시작과 끝입니다(전문가가 손으로 다시 설치)

 2020.02 . 13 10 : 01 : 45.988 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
......
2020.02 . 13 15 : 18 : 50.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549

다른 차트(터미널 2개 터미널 83 Expert Advisors)에서는 Expert Advisors가 정상적으로 작동했습니다.

추가됨

터미널이 어떻게 든 이전에 동기화되었다는 사실 때문에 "클릭"한 것 같습니다.

" 수락된 수정 주문 번호 117284549" 이후의 데이터이지만 확인을 받고 동기화되어야 합니다.

" 수정 주문 번호 117284549 구매 제한 1.00 SBRF- 9.20 at 23557 sl: 0 tp: 0 만료: 일 -> 24138 , sl: 0 tp: 0 만료: 실행 날짜 1299.618ms "

 2020.02 . 13 10 : 00 : 09.529 Trades   'xxxxx' : modify order # 117284549 buy limit 1.00 SBRF- 9.20 at 23557 sl: 0 tp: 0 expiration: day -> 24138 , sl: 0 tp: 0 expiration: day
2020.02 . 13 10 : 00 : 10.079 Trades   'xxxxx' : accepted modify order # 117284549 buy limit 1.00 SBRF- 9.20 at 23557 sl: 0 tp: 0 expiration: day -> 24138 , sl: 0 tp: 0 expiration: day
2020.02 . 13 10 : 00 : 10.080 Trades   'xxxxx' : cancel order # 117284549 buy limit 1.00 SBRF- 9.20 at 23557
2020.02 . 13 10 : 00 : 10.105 Trades   'xxxxx' : accepted cancel order # 117284549 buy limit 1.00 SBRF- 9.20 at 23557
2020.02 . 13 10 : 00 : 10.828 Trades   'xxxxx' : modify order # 117284549 buy limit 1.00 SBRF- 9.20 at 23557 sl: 0 tp: 0 expiration: day -> 24138 , sl: 0 tp: 0 expiration: day placed for execution in 1299.618 ms
2020.02 . 13 10 : 00 : 10.930 Trades   'xxxxx' : cancel order # 117284549 buy limit 1.00 SBRF- 9.20 at 23557 placed for execution in 850.015 ms
 
prostotrader :

오늘은 일반적으로 "버그"였고 동기화가 전혀 없었습니다.

다음은 로그의 시작과 끝입니다(전문가가 손으로 다시 설치)

EA 논리의 오류와 비슷합니다.

그들은 일련의 사건에 의존했거나(그리고 달랐습니다), 아니면 단순히 무언가를 고려하지 않았습니다.

 
Andrey Khatimlianskii :

EA 논리의 오류와 비슷합니다.

그들은 일련의 사건에 의존했거나(그리고 달랐습니다), 아니면 단순히 무언가를 고려하지 않았습니다.

안드레이!

이 Expert Advisor( 5년 동안 편집되지 않음)가 항상 제대로 작동했다면 동의할 것입니다!

어드바이저의 주문에 대한 조치로 주문에 무슨 일이 일어났는지 알아낼 때까지 아무 일도 일어나지 않습니다.

그리고 주문이 수정되었다는 기록(Print(__FUNCTION__, ": Buy order modify.", "New price = ", order_data.price_open, " Ticket = ", a_ticket);) no!

아니오 및 기타 항목 인쇄 ( __FUNCTION__ , ": 수정 중인 주문 구매. 티켓 = " , a_ticket);

 case SELECT_TRUE:
       switch (order_data.real_state)
      {
         case ORDER_EXIST:
           switch (o_status)
          {
             case BUY_ORDER:
              BuyOrder.mem_time = GetMicrosecondCount ();
               switch (BuyOrder.state)
              {
                 case ORD_DO_SET:  //Операции запрещены
                  BuyOrder.state = ORD_WORK;   //Операции разрешены
                   Print ( __FUNCTION__ , ": Buy ордер установлен. Билет = " , a_ticket);
                 break ;
                 case ORD_DO_MODIFY:  //Операции запрещены
                   if ( NormalizeDouble (BuyOrder.modify_price, Digits ()) == NormalizeDouble (order_data.price_open, Digits ()))
                  {
                    BuyOrder.state = ORD_WORK; //Изменено состояние ордера, над ним можно совершать операции
                     Print ( __FUNCTION__ , ": Buy ордер модифицирован. " , "Новая цена = " , order_data.price_open, " Билет = " , a_ticket);
                  }
                   else Print ( __FUNCTION__ , ": Buy ордер в процессе модификации. Билет = " , a_ticket);
                 break ;
                 case ORD_DO_CANCEL: //Операции запрещены
                   Print ( __FUNCTION__ , ": OE Buy ордер в процессе удаления. Билет = " , a_ticket);
                 break ;
              }
             break


 2020.02 . 13 10 : 00 : 08.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 11.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 12.992 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 14.485 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 15.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 16.982 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 18.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 19.989 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 20.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 22.489 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 23.489 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 24.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 25.983 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 26.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549

기록

 2020.02 . 13 10 : 00 : 08.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549

오류가 발생했거나 주문 상태 가 정의되지 않은 경우에만 나타날 수 있습니다( 경우 SELECT_BUSY: )

  ENUM_ORD_SELECT order_select = OrderRealSelect(a_ticket, order_data, true );
   switch (order_select)
  {
     case SELECT_ERROR:
     case SELECT_BUSY:
       if (order_data.error_code == ERR_ZERO_TICKET)
      {
         switch (o_status)
        {
           case BUY_ORDER:
            BuyOrder.Canceled( true );
             Print ( __FUNCTION__ , ": Билет Buy ордера = 0" );
           break ;
           case SELL_ORDER:
            SellOrder.Canceled( true );
             Print ( __FUNCTION__ , ": Билет Sell ордера = 0" );
           break ;
        }
      }
       else
      {
         switch (o_status)
        {
           case BUY_ORDER:
            BuyOrder.mem_time = GetMicrosecondCount ();
             Print ( __FUNCTION__ , ": Состояние Buy ордера не определено. Билет = " , a_ticket);
           break ;
           case SELL_ORDER:
            SellOrder.mem_time = GetMicrosecondCount ();
             Print ( __FUNCTION__ , ": Состояние Sell ордера не определено. Билет = " , a_ticket);
           break ;
        }
      }
     break ;

추가됨

OrderRealSelect() 함수는 오늘까지 항상 제대로 작동했습니다(여전히 작동하는 것 같습니다...)

 #define ERR_ZERO_TICKET - 1111

enum ENUM_ORD_SELECT
{
  SELECT_ERROR = 0 ,
  SELECT_FALSE = 1 ,
  SELECT_TRUE  = 2 ,
  SELECT_BUSY  = 3
};
enum ENUM_ORD_HYSTORY
{
  HYST_NOT_SPECIFIED = 0 ,
  HYST_TRUE          = 1 ,
  HYST_FALSE         = 2
};
//---
struct ORDER_DATA
{
   int                      error_code;
   ulong                    ticket;
   datetime                 time_setup;
   ENUM_ORDER_TYPE          type;
   ENUM_ORDER_STATE         state;
  ENUM_ORD_REAL_STATE     real_state;
   datetime                 expiration;
   datetime                 time_done;
   long                     t_set_msc;
   long                     t_done_msc;
   ENUM_ORDER_TYPE_FILLING type_filling;
   ENUM_ORDER_TYPE_TIME     type_time;
   long                     magic;
   ENUM_ORDER_REASON        reason;
   long                     pos_id;
   long                     pos_by_id;
   double                   vol_init;
   double                   vol_cur;
   double                   price_open;
   double                   sl;
   double                   tp;
   double                   price_cur;
   double                   price_stlim;
   string                   symbol;
   string                   comment;
   string                   ext_id; 
  ENUM_ORD_HYSTORY        is_hystory;       
};
enum ENUM_ORD_REAL_STATE
{
  ORDER_NOT_SPECIFIED         = 0, //Состояние ордера не определено
  ORDER_NONE_CANCELED         = 1, //Ордера нет, отменён пользователем
  ORDER_NONE_PARTIAL_CANCELED = 2, //Ордера нет, исполнился частично (не был залит вторым объёмом)
  ORDER_NONE_PARTIAL          = 3, //Ордера нет, исполнился частично
  ORDER_NONE_EXPIRED          = 4, //Ордера нет, удалён по сроку
  ORDER_NONE_FILLED           = 5, //Ордера нет, исполнился полностью
  ORDER_NONE_REJECTED         = 6, //Ордера нет, отклонён брокером(биржей)
  ORDER_BUSY                  = 7, //Ордер находится в переходном состоянии
  ORDER_EXIST                 = 8, //Ордер выставлен на биржу, возможны действия над ним
  ORDER_EXIST_PARTIAL         = 9  //Ордер выставлен на биржу, частично исполнился, возможны действия над ним
};

//+------------------------------------------------------------------+
// Expert Order Real Select function                                 |
//+------------------------------------------------------------------+
ENUM_ORD_SELECT OrderRealSelect( const ulong ticket, ORDER_DATA &ord_data, const bool get_data)
{
   double init_vol = 0 ;
   double cur_vol = 0 ;
   ZeroMemory (ord_data);
  ord_data.real_state = ORDER_NOT_SPECIFIED;
  ord_data.error_code = ERR_SUCCESS ;
   ResetLastError ();
  ord_data.is_hystory = HYST_NOT_SPECIFIED;
   if (ticket > 0 )
  {
     if ( HistoryOrderSelect (ticket))
    {
      ord_data.is_hystory = HYST_TRUE;
       if (get_data == true )
      {
//--- long      
        ord_data.ticket = ulong ( HistoryOrderGetInteger (ticket, ORDER_TICKET ));
        ord_data.time_setup = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_SETUP ));
        ord_data.type = ENUM_ORDER_TYPE ( HistoryOrderGetInteger (ticket, ORDER_TYPE ));
        ord_data.state = ENUM_ORDER_STATE ( HistoryOrderGetInteger (ticket, ORDER_STATE ));
        ord_data.expiration = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_EXPIRATION ));
        ord_data.time_done = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_DONE ));
        ord_data.t_set_msc = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_SETUP_MSC ));
        ord_data.t_done_msc = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_DONE_MSC ));
        ord_data.type_filling = ENUM_ORDER_TYPE_FILLING ( HistoryOrderGetInteger (ticket, ORDER_TYPE_FILLING ));
        ord_data.type_time = ENUM_ORDER_TYPE_TIME ( HistoryOrderGetInteger (ticket, ORDER_TYPE_TIME ));
        ord_data.magic = HistoryOrderGetInteger (ticket, ORDER_MAGIC );
        ord_data.reason = ENUM_ORDER_REASON ( HistoryOrderGetInteger (ticket, ORDER_REASON ));
        ord_data.pos_id = HistoryOrderGetInteger (ticket, ORDER_POSITION_ID );
        ord_data.pos_by_id = HistoryOrderGetInteger (ticket, ORDER_POSITION_BY_ID );
//--- double        
        ord_data.vol_init = HistoryOrderGetDouble (ticket, ORDER_VOLUME_INITIAL );
        ord_data.vol_cur = HistoryOrderGetDouble (ticket, ORDER_VOLUME_CURRENT );
        ord_data.price_open = HistoryOrderGetDouble (ticket, ORDER_PRICE_OPEN );
        ord_data.sl = HistoryOrderGetDouble (ticket, ORDER_SL );
        ord_data.tp = HistoryOrderGetDouble (ticket, ORDER_TP );
        ord_data.price_cur = HistoryOrderGetDouble (ticket, ORDER_PRICE_CURRENT );
        ord_data.price_stlim = HistoryOrderGetDouble (ticket, ORDER_PRICE_STOPLIMIT );
//--- string        
        ord_data.symbol = HistoryOrderGetString (ticket, ORDER_SYMBOL );
        ord_data.comment = HistoryOrderGetString (ticket, ORDER_COMMENT );
        ord_data.ext_id = HistoryOrderGetString (ticket, ORDER_EXTERNAL_ID );
      }
       else
      {
        ord_data.state = ENUM_ORDER_STATE ( HistoryOrderGetInteger (ticket, ORDER_STATE ));
        cur_vol = HistoryOrderGetDouble (ticket, ORDER_VOLUME_CURRENT );
        init_vol = HistoryOrderGetDouble (ticket, ORDER_VOLUME_INITIAL );
      }   
//---
       switch (ord_data.state)
      { 
         case ORDER_STATE_CANCELED :
           if (get_data)
          {
             if (ord_data.vol_init == ord_data.vol_cur)
            {
              ord_data.real_state = ORDER_NONE_CANCELED;
            }
             else
            {
              ord_data.real_state = ORDER_NONE_PARTIAL_CANCELED;
            }
          }
           else
          {
             if (init_vol == cur_vol)
            {
              ord_data.real_state = ORDER_NONE_CANCELED;
            }
             else
            {
              ord_data.real_state = ORDER_NONE_PARTIAL_CANCELED;
            }
          }    
         break ;
         
         case ORDER_STATE_PARTIAL :
          ord_data.real_state = ORDER_NONE_PARTIAL;
         break ;
                                         
         case ORDER_STATE_EXPIRED :
          ord_data.real_state = ORDER_NONE_EXPIRED;
         break ;
                                                                              
         case ORDER_STATE_FILLED :
          ord_data.real_state = ORDER_NONE_FILLED;
         break ;
                                         
         case ORDER_STATE_REJECTED :
          ord_data.real_state = ORDER_NONE_REJECTED;
         break ;  
      }
    }
     else
     if ( OrderSelect (ticket))
    {
      ord_data.is_hystory = HYST_FALSE;
       if (get_data == true )
      {
//--- long      
        ord_data.ticket = ulong ( OrderGetInteger ( ORDER_TICKET ));
        ord_data.time_setup = datetime ( OrderGetInteger ( ORDER_TIME_SETUP ));
        ord_data.type = ENUM_ORDER_TYPE ( OrderGetInteger ( ORDER_TYPE ));
        ord_data.state = ENUM_ORDER_STATE ( OrderGetInteger ( ORDER_STATE ));
        ord_data.expiration = datetime ( OrderGetInteger ( ORDER_TIME_EXPIRATION ));
        ord_data.time_done = datetime ( OrderGetInteger ( ORDER_TIME_DONE ));
        ord_data.t_set_msc = datetime ( OrderGetInteger ( ORDER_TIME_SETUP_MSC ));
        ord_data.t_done_msc = datetime ( OrderGetInteger ( ORDER_TIME_DONE_MSC ));
        ord_data.type_filling = ENUM_ORDER_TYPE_FILLING ( OrderGetInteger ( ORDER_TYPE_FILLING ));
        ord_data.type_time = ENUM_ORDER_TYPE_TIME ( OrderGetInteger ( ORDER_TYPE_TIME ));
        ord_data.magic = OrderGetInteger ( ORDER_MAGIC );
        ord_data.reason = ENUM_ORDER_REASON ( OrderGetInteger ( ORDER_REASON ));
        ord_data.pos_id = OrderGetInteger ( ORDER_POSITION_ID );
        ord_data.pos_by_id = OrderGetInteger ( ORDER_POSITION_BY_ID );
//--- double        
        ord_data.vol_init = OrderGetDouble ( ORDER_VOLUME_INITIAL );
        ord_data.vol_cur = OrderGetDouble ( ORDER_VOLUME_CURRENT );
        ord_data.price_open = OrderGetDouble ( ORDER_PRICE_OPEN );
        ord_data.sl = OrderGetDouble ( ORDER_SL );
        ord_data.tp = OrderGetDouble ( ORDER_TP );
        ord_data.price_cur = OrderGetDouble ( ORDER_PRICE_CURRENT );
        ord_data.price_stlim = OrderGetDouble ( ORDER_PRICE_STOPLIMIT );
//--- string        
        ord_data.symbol = OrderGetString ( ORDER_SYMBOL );
        ord_data.comment = OrderGetString ( ORDER_COMMENT );
        ord_data.ext_id = OrderGetString ( ORDER_EXTERNAL_ID );      
      }
       else ord_data.state = ENUM_ORDER_STATE ( OrderGetInteger ( ORDER_STATE ));
       switch (ord_data.state)
      { 
         case ORDER_STATE_STARTED :
         case ORDER_STATE_REQUEST_ADD :
         case ORDER_STATE_REQUEST_MODIFY :
         case ORDER_STATE_REQUEST_CANCEL :
          ord_data.real_state = ORDER_BUSY;
         break ; 
         case ORDER_STATE_PARTIAL :
          ord_data.real_state = ORDER_EXIST_PARTIAL;
         break ;
         case ORDER_STATE_PLACED :
          ord_data.real_state = ORDER_EXIST;
         break ;
      }
    }
     else ord_data.error_code = GetLastError ();
     if ((ord_data.error_code != ERR_SUCCESS ) ||
       (ord_data.real_state == ORDER_NOT_SPECIFIED))
    {
       return (SELECT_ERROR);
    }
     else
    {
       switch (ord_data.real_state)
      {
         case ORDER_BUSY:
           return (SELECT_BUSY);
         break ;
         case ORDER_EXIST:   
         case ORDER_EXIST_PARTIAL:
           return (SELECT_TRUE);
         break ;
         default :   
           return (SELECT_FALSE);
         break ;                                             
      }
    }
  } 
   else
  {
    ord_data.error_code = ERR_ZERO_TICKET; 
     return (SELECT_ERROR);
  }
}
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
 

불행히도 대부분의 오류(적어도 FORTS의 경우)는 부동 상태입니다!

즉, 오류 를 재현하는 것은 항상 매우 어렵습니다 .

이 주제가 거의 6년 동안 지속되어 온 것은 당연합니다.

고문의 논리에 오류가 있으면 거래 주에 한두 번이 아니라 자주 "크롤링"됩니다!

또한, 이 Expert Advisor는 5년 이상 동안 84개의 기기에 대해 작업했습니다!

추가됨

예, 그리고 결함에서(위의 게시물)

 2020.02 . 11 10 : 01 : 49.737 FCS_Trader (SBRF- 3.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773

그래도 교환 응답이 OnTradeTransaction() 에서 수신되었거나 데이터가 여전히 터미널에서 동기화되었습니다( 이 마지막 항목 )!

1분 42초 후에도 주문에 무슨 일이 일어났는지 확인되었습니다!

추가됨

그리고 로그에 이러한 엄청난 지연을 넣는 것은 제가 아닙니다 !

 2020.02 . 13 10 : 00 : 04.427 Trades   'xxxxx' : sell limit 1.00 SILV- 12.20 at 18.91 placed for execution in 3400.385 ms
2020.02 . 13 10 : 00 : 05.049 Trades   'xxxxx' : cancel order # 117284388 buy limit 2.00 GAZR- 9.20 at 21086
2020.02 . 13 10 : 00 : 05.049 Trades   'xxxxx' : cancel order # 117284389 sell limit 1.00 GAZR- 9.20 at 25858
2020.02 . 13 10 : 00 : 05.106 Trades   'xxxxx' : cancel order # 117284392 buy limit 2.00 RTS- 6.20 at 145350
2020.02 . 13 10 : 00 : 05.106 Trades   'xxxxx' : cancel order # 117284394 sell limit 1.00 RTS- 6.20 at 162370
2020.02 . 13 10 : 00 : 05.815 Trades   'xxxxx' : buy limit 1.00 SBRF- 6.20 at 21997 placed for execution in 4582.068 ms
2020.02 . 13 10 : 00 : 05.816 Trades   'xxxxx' : sell limit 2.00 SBRF- 6.20 at 26879 placed for execution in 4583.598 ms
2020.02 . 13 10 : 00 : 06.809 Trades   'xxxxx' : cancel order # 117284397 sell limit 2.00 Si- 12.20 at 66549
2020.02 . 13 10 : 00 : 08.356 Trades   'xxxxx' : buy limit 2.00 ROSN- 6.20 at 42128 placed for execution in 7119.210 ms
2020.02 . 13 10 : 00 : 08.367 Trades   'xxxxx' : sell limit 1.00 ROSN- 6.20 at 51112 placed for execution in 7129.944 ms
2020.02 . 13 10 : 00 : 08.370 Trades   'xxxxx' : accepted buy limit 1.00 MOEX- 6.20 at 10231
2020.02 . 13 10 : 00 : 08.374 Trades   'xxxxx' : accepted sell limit 2.00 MOEX- 6.20 at 12403
2020.02 . 13 10 : 00 : 08.375 Trades   'xxxxx' : buy limit 1.00 GBPU- 6.20 at 1.2631 placed for execution in 7093.203 ms
2020.02 . 13 10 : 00 : 08.382 Trades   'xxxxx' : buy limit 2.00 LKOH- 6.20 at 62201 placed for execution in 7100.184 ms
2020.02 . 13 10 : 00 : 08.384 Trades   'xxxxx' : sell limit 1.00 GBPU- 6.20 at 1.3405 placed for execution in 7101.788 ms
2020.02 . 13 10 : 00 : 08.384 Trades   'xxxxx' : sell limit 2.00 LKOH- 6.20 at 66799 placed for execution in 7102.416 ms
2020.02 . 13 10 : 00 : 08.570 Trades   'xxxxx' : accepted buy limit 7.00 Eu- 9.20 at 71131
2020.02 . 13 10 : 00 : 08.572 Trades   'xxxxx' : buy limit 1.00 PLT- 6.20 at 921.3 placed for execution in 7170.723 ms
2020.02 . 13 10 : 00 : 08.573 Trades   'xxxxx' : accepted buy limit 1.00 MTSI- 6.20 at 30664
2020.02 . 13 10 : 00 : 08.574 Trades   'xxxxx' : accepted sell limit 2.00 MTSI- 6.20 at 37202
2020.02 . 13 10 : 00 : 08.589 Trades   'xxxxx' : buy limit 1.00 MIX- 6.20 at 293475 placed for execution in 7153.171 ms
2020.02 . 13 10 : 00 : 08.590 Trades   'xxxxx' : buy limit 2.00 MXI- 6.20 at 2914.25 placed for execution in 7155.083 ms
2020.02 . 13 10 : 00 : 08.605 Trades   'xxxxx' : buy limit 1.00 HYDR- 6.20 at 6716 placed for execution in 7169.712 ms
2020.02 . 13 10 : 00 : 08.607 Trades   'xxxxx' : sell limit 2.00 MXI- 6.20 at 3295.65 placed for execution in 7171.361 ms
2020.02 . 13 10 : 00 : 08.609 Trades   'xxxxx' : sell limit 1.00 MIX- 6.20 at 331775 placed for execution in 7173.465 ms
2020.02 . 13 10 : 00 : 08.610 Trades   'xxxxx' : sell limit 2.00 HYDR- 6.20 at 8128 placed for execution in 7174.417 ms
2020.02 . 13 10 : 00 : 08.611 Trades   'xxxxx' : buy limit 2.00 VTBR- 6.20 at 4397 placed for execution in 7166.885 ms
2020.02 . 13 10 : 00 : 08.612 Trades   'xxxxx' : sell limit 2.00 VTBR- 6.20 at 5321 placed for execution in 7167.615 ms
2020.02 . 13 10 : 00 : 08.633 Trades   'xxxxx' : buy limit 1.00 AUDU- 6.20 at 0.6592 placed for execution in 7115.432 ms
2020.02 . 13 10 : 00 : 08.636 Trades   'xxxxx' : accepted buy limit 1.00 RTKM- 6.20 at 8144
2020.02 . 13 10 : 00 : 08.640 Trades   'xxxxx' : accepted sell limit 2.00 RTKM- 6.20 at 10450
2020.02 . 13 10 : 00 : 08.655 Trades   'xxxxx' : buy limit 10.00 BR- 7.20 at 51.87 placed for execution in 7133.431 ms
2020.02 . 13 10 : 00 : 08.658 Trades   'xxxxx' : sell limit 2.00 BR- 7.20 at 61.51 placed for execution in 7136.161 ms
2020.02 . 13 10 : 00 : 08.667 Trades   'xxxxx' : buy limit 2.00 LKOH- 12.20 at 59401 placed for execution in 7072.427 ms
2020.02 . 13 10 : 00 : 08.677 Trades   'xxxxx' : sell limit 1.00 LKOH- 12.20 at 72363 placed for execution in 7081.993 ms
2020.02 . 13 10 : 00 : 08.677 Trades   'xxxxx' : buy limit 1.00 BR- 9.20 at 54.06 placed for execution in 7078.509 ms
2020.02 . 13 10 : 00 : 08.690 Trades   'xxxxx' : buy limit 1.00 CHMF- 6.20 at 91501 placed for execution in 6985.443 ms
2020.02 . 13 10 : 00 : 08.704 Trades   'xxxxx' : cancel order # 117284430 buy limit 1.00 SBRF- 6.20 at 21997
2020.02 . 13 10 : 00 : 08.704 Trades   'xxxxx' : cancel order # 117284431 sell limit 2.00 SBRF- 6.20 at 26879
2020.02 . 13 10 : 00 : 08.734 Trades   'xxxxx' : buy limit 2.00 SBPR- 6.20 at 20354 placed for execution in 6811.282 ms
2020.02 . 13 10 : 00 : 08.734 Trades   'xxxxx' : buy limit 2.00 MGNT- 6.20 at 3404 placed for execution in 6811.918 ms
2020.02 . 13 10 : 00 : 08.735 Trades   'xxxxx' : sell limit 2.00 MGNT- 6.20 at 4128 placed for execution in 6812.492 ms
2020.02 . 13 10 : 00 : 08.736 Trades   'xxxxx' : sell limit 2.00 SBPR- 6.20 at 25106 placed for execution in 6813.437 ms
2020.02 . 13 10 : 00 : 08.807 Trades   'xxxxx' : buy limit 1.00 MOEX- 6.20 at 10231 placed for execution in 6542.366 ms
2020.02 . 13 10 : 00 : 08.809 Trades   'xxxxx' : sell limit 2.00 MOEX- 6.20 at 12403 placed for execution in 6544.267 ms
2020.02 . 13 10 : 00 : 08.811 Trades   'xxxxx' : buy limit 1.00 MTSI- 6.20 at 30664 placed for execution in 6426.971 ms
2020.02 . 13 10 : 00 : 08.829 Trades   'xxxxx' : buy limit 7.00 Eu- 9.20 at 71131 placed for execution in 6491.851 ms
2020.02 . 13 10 : 00 : 08.830 Trades   'xxxxx' : sell limit 2.00 MTSI- 6.20 at 37202 placed for execution in 6445.075 ms
2020.02 . 13 10 : 00 : 08.833 Trades   'xxxxx' : buy limit 1.00 RTKM- 6.20 at 8144 placed for execution in 6401.223 ms
2020.02 . 13 10 : 00 : 08.834 Trades   'xxxxx' : sell limit 2.00 RTKM- 6.20 at 10450 placed for execution in 6402.302 ms

이것은 거래소 의 반응을 고려하지 않은 것입니다!

추가됨

자세한 오류

  ORDER_DATA order_data;
  ENUM_ORD_SELECT order_select = OrderRealSelect(a_ticket, order_data, true );
   switch (order_select)
  {
     case SELECT_ERROR:
       if (order_data.error_code == ERR_ZERO_TICKET)
      {
         switch (o_status)
        {
           case BUY_ORDER:
            BuyOrder.Canceled( true );
             Print ( __FUNCTION__ , ": Билет Buy ордера = 0" );
           break ;
           case SELL_ORDER:
            SellOrder.Canceled( true );
             Print ( __FUNCTION__ , ": Билет Sell ордера = 0" );
           break ;
        }
      }
       else
      {
         switch (o_status)
        {
           case BUY_ORDER:
            BuyOrder.mem_time = GetMicrosecondCount ();
             Print ( __FUNCTION__ , ": Ошибка определения состояния Buy ордера! Билет = " , a_ticket, " Код ошибки: " , order_data.error_code);
           break ;
           case SELL_ORDER:
            SellOrder.mem_time = GetMicrosecondCount ();
             Print ( __FUNCTION__ , ": Ошибка определения состояния Sell ордера! Билет = " , a_ticket, " Код ошибки: " , order_data.error_code);
           break ;
        }
      }
     break ;
     case SELECT_BUSY:
       switch (o_status)
      {
         case BUY_ORDER:
          BuyOrder.mem_time = GetMicrosecondCount ();
           Print ( __FUNCTION__ , ": Buy Ордер в переходном состоянии. Билет = " , a_ticket, " Состояние: " , order_data.state);
         break ;
         case SELL_ORDER:
          SellOrder.mem_time = GetMicrosecondCount ();
           Print ( __FUNCTION__ , ": Sell Ордер в переходном состоянии. Билет = " , a_ticket, " Состояние: " , order_data.state);
         break ;
      }
     break ;

결함이 있으면 내일 보자

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

이 주제의 역사를 제기하면 맨 처음에 수십 밀리 초의 지연을 분개했습니다.

그 다음 , 그리고 지금 , 우리는 "어깨 위에" 있습니다!

저는 천천히 QUIK용 로봇을 다시 작성하기 시작했습니다!

내 네트워크에서 6-7밀리초의 MT5 잠재력 사용(집에서, 교환 응답 제외)

 2020.02 . 13 19 : 30 : 01.442 Trades   'xxxxx' : sell limit 1.00 Si- 6.21 at 67370
2020.02 . 13 19 : 30 : 01.447 Trades   'xxxxx' : accepted sell limit 1.00 Si- 6.21 at 67370
2020.02 . 13 19 : 30 : 01.448 Trades   'xxxxx' : sell limit 1.00 Si- 6.21 at 67370 placed for execution in 6.555 ms
2020.02 . 13 19 : 30 : 01.508 Trades   'xxxxx' : cancel order # 117348182 sell limit 1.00 Si- 6.21 at 67370
2020.02 . 13 19 : 30 : 01.514 Trades   'xxxxx' : accepted cancel order # 117348182 sell limit 1.00 Si- 6.21 at 67370
2020.02 . 13 19 : 30 : 01.515 Trades   'xxxxx' : cancel order # 117348182 sell limit 1.00 Si- 6.21 at 67370 placed for execution in 7.421 ms
2020.02 . 13 19 : 30 : 52.139 Trades   'xxxxx' : buy limit 1.00 CHMF- 6.20 at 91001
2020.02 . 13 19 : 30 : 52.144 Trades   'xxxxx' : accepted buy limit 1.00 CHMF- 6.20 at 91001
2020.02 . 13 19 : 30 : 52.146 Trades   'xxxxx' : buy limit 1.00 CHMF- 6.20 at 91001 placed for execution in 6.647 ms
2020.02 . 13 19 : 31 : 28.521 Trades   'xxxxx' : cancel order # 117348372 buy limit 1.00 CHMF- 6.20 at 91001
2020.02 . 13 19 : 31 : 28.527 Trades   'xxxxx' : accepted cancel order # 117348372 buy limit 1.00 CHMF- 6.20 at 91001
2020.02 . 13 19 : 31 : 28.528 Trades   'xxxxx' : cancel order # 117348372 buy limit 1.00 CHMF- 6.20 at 91001 placed for execution in 7.740 ms
2020.02 . 13 19 : 33 : 35.368 Trades   'xxxxx' : sell limit 2.00 BR- 7.20 at 57.52
2020.02 . 13 19 : 33 : 35.373 Trades   'xxxxx' : accepted sell limit 2.00 BR- 7.20 at 57.52
2020.02 . 13 19 : 33 : 35.375 Trades   'xxxxx' : sell limit 2.00 BR- 7.20 at 57.52 placed for execution in 7.326 ms
2020.02 . 13 19 : 33 : 35.424 Trades   'xxxxx' : cancel order # 117348626 sell limit 2.00 BR- 7.20 at 57.52
2020.02 . 13 19 : 33 : 35.429 Trades   'xxxxx' : accepted cancel order # 117348626 sell limit 2.00 BR- 7.20 at 57.52
2020.02 . 13 19 : 33 : 35.431 Trades   'xxxxx' : cancel order # 117348626 sell limit 2.00 BR- 7.20 at 57.52 placed for execution in 6.922 ms
지금과 같은 지연 으로 제 생각에는 터미널에 미래가 없습니다.
사유: