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

 

그만 그들이 말했다

 

서버가 다시 충돌합니다

3분간 멈춘 후 [요청 시간 초과]

2019.01.04 14:18:20.427 Trades  'xxxxx': modify #97538997 buy limit 1.00 BR-3.19 -> price: 57.39, sl: 0.00, tp: 0.00) done in 47.866 ms
2019.01.04 14:18:28.399 Trades  'xxxxx': modify order #97538868 sell limit 1.00 BR-3.19 at 57.51 sl: 0.00 tp: 0.00 -> 57.55, sl: 0.00 tp: 0.00
2019.01.04 14:18:28.445 Trades  'xxxxx': accepted modify order #97538868 sell limit 1.00 BR-3.19 at 57.51 sl: 0.00 tp: 0.00 -> 57.55, sl: 0.00 tp: 0.00
2019.01.04 14:18:28.445 Trades  'xxxxx': modify order #97538868 sell limit 1.00 BR-3.19 at 57.51 sl: 0.00 tp: 0.00 -> 57.55, sl: 0.00 tp: 0.00 placed for execution
2019.01.04 14:18:28.461 Trades  'xxxxx': deal #56712593 sell 1.00 BR-3.19 at 57.51 done (based on order #97538868)
2019.01.04 14:21:28.407 Trades  'xxxxx': failed modify order #97538868 buy 0.00 BR-3.19 at market sl: 0.00 tp: 0.00 -> 57.55, sl: 0.00 tp: 0.00 [Request timeout]

디스커버리 서버, 터미널 빌드 1947.
무엇을 할까요?



 
Sergey Chalyshev :

서버가 다시 충돌합니다

3분간 정지 후 [요청 시간 초과]

디스커버리 서버, 터미널 빌드 1947.
무엇을 할까요?



세레자!

이것은 일종의 실패입니다(나는 이것을 관찰하지 못했습니다).

이 주문은 57.51 수정 전 가격으로 채워졌습니다.

MT5 서버가 거래소에 14:18:28.445 를 수정하라는 명령을 보냈기 때문에 이것은 아마도 거래소 자체 의 결함일 것입니다.

거래 완료 14:18:28.461

2019.01.04 14:18:28.461 Trades  'xxxxx': deal #56712593 sell 1.00 BR-3.19 at 57.51 done (based on order #97538868)

아무래도 서버(교환)에 뭔가 '멈춤'이 있었는데, 주문이 '언스턱'일 때 주문을 찾지 못해서 [요청 타임아웃]

당신의 질문에 무엇을 하시겠습니까?

나는 당신이 OnTradeTransaction (TRADE_TRANSACTION_DEAL_ADD)을 사용해야 한다고 대답할 것입니다. 그러면 거래를 놓치지 않을 것이며 따라서 주문에 무슨 일이 일어났는지 알게 될 것입니다.

추가됨

비동기 주문 제출 및 다음 주문 추적 모델을 사용하고 있습니다.

 //+------------------------------------------------------------------+
// Expert Trade Transaction function                                 |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
                         const MqlTradeRequest &request,
                         const MqlTradeResult &result )
{
   switch (trans.type)
  {
     case TRADE_TRANSACTION_REQUEST :
       //Получение тикета ордера
     break ;
     case TRADE_TRANSACTION_DEAL_ADD :
       //Произошла сделка (отложенный ордер)
     break ;
     case TRADE_TRANSACTION_HISTORY_ADD :
     //Ордера нет (исполнился, отменен и т.д)
     break ;
     case TRADE_TRANSACTION_ORDER_UPDATE :
       switch (trans.order_state)
      {
         case ORDER_STATE_PLACED :
           //Ордер размешен (модификация)  
         break ;
         case ORDER_STATE_PARTIAL :
           //Ордер исполнился частично 
         break ;
         case ORDER_STATE_REJECTED :
         case ORDER_STATE_EXPIRED :
           //    
         break ;                       
      }
     break ;
  }
}
 
prostotrader :

나는 당신이 OnTradeTransaction (TRADE_TRANSACTION_DEAL_ADD)을 사용해야 한다고 대답할 것입니다. 그러면 거래를 놓치지 않을 것이며 따라서 주문에 무슨 일이 일어났는지 알게 될 것입니다.

추가됨

비동기 주문 제출 및 다음 주문 추적 모델을 사용하고 있습니다.

질문은 다음과 같습니다.

어떤 이유로 필요한 OnTradeTransaction 이벤트를 놓친 경우(인터넷이 끊어지고 패키지가 손실되고 컴퓨터가 재부팅되었지만 이벤트 대기열이 방금 넘쳤습니다) - 다음 단계는 무엇입니까?

 
JRandomTrader :

질문은 다음과 같습니다.

어떤 이유로 필요한 OnTradeTransaction 이벤트를 놓친 경우(인터넷이 끊겼고 패키지가 손실되었으며 컴퓨터가 재부팅되었지만 이벤트 대기열이 넘쳤습니다) - 다음 단계는 무엇입니까?

나열한 각 케이스에 대해 조치가 있습니다.

예를 들어 컴퓨터가 재부팅되고 보류 중인 주문이 있는 경우 전문가를 로드 한 후 확인합니다.

이 악기에 대한 주문. (고려할 것이 많지만 모든 것이 해결 가능)

 
Aleksey Vyazmikin :

실용성의 관점에서 볼 때 - 예, 유용하지만 모든 것을 동기화하려는 시도에서 터미널이 어떻게 느려질지 상상하기 어렵습니다 ... 그러나이 데이터의 비동기식 도착에 어떤 지점이 있습니까? 잘 모르겠어.

뛰어들어서 죄송합니다. 제때가 아닐 수도 있습니다. 그냥 앉아서 글을 읽습니다. 그들이 말하는 것처럼 비동기적으로)). Depth of Market 데이터만 분석하는 경우 Depth of Market 이벤트에 대한 데이터의 비동기 도착이 유용할 수 있습니다. 즉, 수준에서 응용 프로그램의 이동입니다. 그런 다음 갑자기 주문서 상태의 모든 변경 사항을 사용할 수 있게 되면 다음에 무슨 일이 일어나든 상관없이 사용할 수 있습니다. 이 같은.

 
Andrey Gladyshev :

뛰어들어서 죄송합니다. 제때가 아닐 수도 있습니다. 그냥 앉아서 글을 읽습니다. 그들이 말하는 것처럼 비동기적으로)). Depth of Market 데이터만 분석하는 경우 Depth of Market 이벤트에 대한 데이터의 비동기 도착이 유용할 수 있습니다. 즉, 수준에서 응용 프로그램의 이동입니다. 그런 다음 갑자기 주문서 상태의 모든 변경 사항을 사용할 수 있게 되면 다음에 무슨 일이 일어나든 상관없이 사용할 수 있습니다. 이 같은.

내가 아는 한, 오더 북의 사본은 특정 주파수, 즉 거래소에서 방송됩니다. 모든 변화는 쉽게 얻을 수 없습니다.

그리고, 나는 아직도 이해하지 못한다. 그러나 그것으로 무엇을 해야 하는가? 특히 움직임이 심할 때 데이터가 딜레이 된다면...
 
Aleksey Vyazmikin :

내가 아는 한, 오더 북의 사본은 특정 주파수, 즉 거래소에서 방송됩니다. 모든 변화는 쉽게 얻을 수 없습니다.

그리고, 나는 아직도 이해하지 못한다. 그러나 그것으로 무엇을 해야 하는가? 특히 움직임이 심할 때 데이터가 딜레이 된다면...

반문을 하고 답변드리겠습니다. 말 그대로 증권 거래소에 앉아 있으면 주문서의 상태에 대한 더 완전한 정보 (또는 오히려 적시에)를받을 수 있습니까? 예를 들어 배열에 대해 이야기하고 있습니다.

 
Andrey Gladyshev :

제가 반문을 하고 답변드리겠습니다. 말 그대로 증권 거래소에 앉아 있으면 주문서의 상태에 대한 더 완전한 정보 (또는 오히려 적시에)를받을 수 있습니까? 예를 들어 배열에 대해 이야기하고 있습니다.

거래소도 방송합니다. 아니면 DOM 프레임이 손실되었다고 생각하십니까?

 
예, 교환에 따라 다릅니다. 나는 우리를 볼 수 없습니다.