FORTS: OnTradeTransaction() 반환 코드 - 페이지 2

 
Михаил :

당신과 나는 "다른 언어로" 말합니다.

교차 거래로 인해 주문이 삭제될 수 있으며,

ORDER_STATE_CANCELED는 반환 코드 "0"과 함께 제공됩니다.

브로커는 그것과 아무 관련이 없습니다.

MT5는 보편적인 플랫폼이고, 특정 게이트웨이의 조건에 적응할 때 브로커(각 브로커)가 각자의 방식으로 서버 부분을 설정한다는 것을 이해합니다.

브로커 프로그래머가 작성하는 것은 서버가 반환하는 것입니다.

따라서 질문은 Broker의 기술 지원 서비스와 직접 해결해야 합니다. 그들만이 서버 측 로그를 가지고 있으며 상황을 명확히 할 수 있습니다.

이 경우 제3자 관찰자는 이것이 실제 반환 코드인지조차 확신할 수 없습니다. 이는 코드로 작성되었지만 코드가 첨부되어 있지 않기 때문입니다.

예, 인쇄를 통해 그러한 빠른 기능을 기록하면 종종 아무 것도 얻을 수 없습니다. 상황을 재현하는 것이 좋을 것입니다(어려움을 이해합니다). 가급적이면 문자열에 로깅한 다음 파일에 덤프하는 것이 좋습니다.

어쨌든, 나는 반복합니다. 브로커의 SD 없이는 알아낼 수 없습니다.

 
Nikolay Demko :

MT5는 보편적인 플랫폼이고, 특정 게이트웨이의 조건에 적응할 때 브로커(각 브로커)가 각자의 방식으로 서버 부분을 설정한다는 것을 이해합니다.

브로커 프로그래머가 작성하는 것은 서버가 반환하는 것입니다.

따라서 질문은 브로커의 지원 서비스에서 직접 해결해야 합니다. 그들만이 서버 측 로그를 가지고 있으며 상황을 명확히 할 수 있습니다.

이 경우 제3자 관찰자는 이것이 실제 반환 코드인지조차 확신할 수 없습니다. 이는 코드로 작성되었지만 코드가 첨부되어 있지 않기 때문입니다.

예, 인쇄를 통해 그러한 빠른 기능을 기록하면 종종 아무 것도 얻을 수 없습니다. 상황을 재현하는 것이 좋을 것입니다(어려움을 이해합니다). 가급적이면 문자열에 로깅한 다음 파일에 덤프하는 것이 좋습니다.

어쨌든, 나는 반복합니다. 브로커의 SD 없이는 알아낼 수 없습니다.

친애하는 니콜라이!

모든 브로커 프로그래머가 "자신의" 반환 코드를 작성하는 경우....

무슨 일이 일어날지 생각해 보세요 :)

 
Михаил :

친애하는 니콜라이!

모든 브로커 프로그래머가 "자신의" 반환 코드를 작성하는 경우....

무슨 일이 일어날지 생각해 보세요 :)

왜곡하지 마십시오. Broker의 프로그래머는 사전 출시 준비 중에 서버를 한 번 구성합니다. 아무 것도 아니라 기존 집합에서만 구성합니다.

그러나 서버를 설정하는 것은 지적인 일이고 제조업체에서 가능한 옵션을 제공했지만 특정 구성 체계를 미리 개발하기가 어렵고 각 브로커가 어떤 조건을 가지고 있는지 알 수 없습니다.

따라서 이번에는 서버 부분이 브로커 자체에서 설정된다. 그리고 브로커에 연락해야 하는 두 번째 이유는 브로커에 서버 측 로그가 있기 때문이며 브로커가 그렇게 말할 때만 이것은 서버 버그이므로 이미 MQ로 갈 수 있지만 이 경우에는 ' 더 이상 걱정할 필요가 없습니다. 그들은 스스로 개발자에게 의지할 것입니다 .

 
Nikolay Demko :

왜곡하지 마십시오. Broker의 프로그래머는 사전 출시 준비 중에 서버를 한 번 구성합니다. 아무 것도 아니라 기존 집합에서만 구성합니다.

그러나 서버를 설정하는 것은 지적인 일이고 제조업체에서 가능한 옵션을 제공했지만 특정 구성 체계를 미리 개발하기가 어렵고 각 브로커가 어떤 조건을 가지고 있는지 알 수 없습니다.

따라서 이번에는 서버 부분이 브로커 자체에서 설정된다. 그리고 브로커에 연락해야 하는 두 번째 이유는 브로커에 서버 측 로그가 있기 때문이며 브로커가 그렇게 말할 때만 이것은 서버 버그이므로 이미 MQ로 갈 수 있지만 이 경우에는 ' 더 이상 걱정할 필요가 없습니다. 그들은 스스로 개발자에게 의지할 것입니다 .

브로커 응답:

안녕하세요.

 

아니요, 이 설정은 개발자 측에 있습니다.

작년 말에 다음과 같은 질문이 제기되었습니다.

 

잘못된 거래에 대한 모스크바 거래소 벌금. 전체 위치는 http://fs.moex.com/files/4266 링크에서 볼 수 있습니다.

예를 들어 교환 벌금은 다음과 같습니다.

거래 유형*

실행 결과(오류 코드)*

Q 점수

주문 추가

교차 거래 발생 (31)

Q1

고객 자금 부족(332)

2분기

증권사 자금 부족(333)

3분기

FOK 입찰가가 일치하지 않음(4103)

4분기

주문 취소

응용 프로그램을 찾을 수 없습니다 (14)

5분기

이동 지시

교차 거래 발생 (31)

6분기

응용 프로그램을 찾을 수 없습니다 (50)

Q7

고객 자금 부족(332)

8분기

증권사 자금 부족(333)

Q9

DelUserOrders

거래가 성공적으로 완료되었습니다

삭제된 요청이 없습니다.

Q10

 

MT5에서는 반환 코드 "고객 자금 부족"을 제외하고 "무역 서버 반환 코드"에 다른 반환 코드가 없습니다.

MetaQuotes 로부터 다음과 같은 응답을 받았습니다 .

 

여보세요,

1. 불행히도 교환 응답 코드의 변환 문제는 간단하지 않으며 많은 변경이 필요합니다. 가장 수용 가능한 솔루션을 찾는 작업이 현재 진행 중입니다. 아마도 내년에 필요한 기능이 추가될 것입니다.

2. 잘못된 거래의 표는 MT5 거래 서버가 고객의 거래 요청(증거금 요구 사항 제어 포함)에 대한 사전 확인을 수행한다는 사실을 고려하여 실제로 2에서 거래소의 거부를 얻을 수 있습니다. 사례:

거래 유형*

실행 결과(오류 코드)*

Q 점수

주문 추가

교차 거래 발생 (31)

Q1

고객 자금 부족(332)

2분기

증권사 자금 부족(333)

3분기

FOK 입찰가가 일치하지 않음(4103)

4분기

주문 취소

응용 프로그램을 찾을 수 없습니다 (14)

5분기

이동 지시

교차 거래 발생 (31)

6분기

응용 프로그램을 찾을 수 없습니다 (50)

Q7

고객 자금 부족(332)

8분기

증권사 자금 부족(333)

Q9

DelUserOrders

거래가 성공적으로 완료되었습니다

삭제된 요청이 없습니다.

Q10


둘 다 사실상 가능성이 희박합니다.

 

감사합니다,

미하일 바투로프

트레이딩 시스템 사용자 지원 부서장

거래 시스템 지원 부서

증권사 "OPENING"

 

때로는 MQ, 일부 답변이 혼란 스럽습니다.

예시:

MQ: " 둘 다 거의 불가능합니다. "

그러나 어떤 이유로 실패했는지 결코 알 수 없습니다!

2015년 5월 12일 MGNT 기호가 변경되었습니다(가격 단계는 1,

가격은 정수여야 함)

브로커는 거래소의 변경 사항을 추적하지 않을 수 있습니다.

내 Expert Advisor가 반환 코드로 보호되지 않은 경우,

그러면 몇 초 만에 수천 건의 트랜잭션을 얻을 수 있습니다.

 2015.05 . 15 10 : 00 : 10.051 Forts_trader (MGNT- 6.15 ,H1)     StopTrading: Неправильная цена в запросе

그리고 그러한 상황은 또한 "가능성이 희박"해야 합니다!


 

친애하는 개발자 여러분!

답변 부탁드립니다 최종 결제는 언제인가요

거래 서버의 반환 코드에 주의?

MT5 서버 "버그" 또는 교환이 충돌하면 다음이 발생합니다.

EA는 기존 주문을 삭제하라는 명령을 보내고 이에 대한 응답이 옵니다.

"잘못된 요청" !!!! 그리고 전문가는 삭제 명령으로 서버를 계속 "비우기"합니다.

명령.

 //+------------------------------------------------------------------+
// Remove order                                                      |
//+------------------------------------------------------------------+
void COrder::Remove()
{
   if ( ticket > 0 )
  {
     if ( OrderSelect ( ticket ) )
    {
      mem_magic = ulong ( OrderGetInteger ( ORDER_MAGIC ) );
      mem_tick = GetTickCount ();
      req_id = 0 ;
       MqlTradeRequest request = { 0 };
       MqlTradeResult   result  = { 0 };
            
      request.action = TRADE_ACTION_REMOVE ;
      request.order = ticket;
          
       if ( OrderSendAsync ( request, result ) )
      {
         if ( result.retcode == TRADE_RETCODE_PLACED )
        { 
          req_id = result.request_id;
//---          
           switch ( order_status )
          {
             case BUY_ORDER:  state = ORD_BUY_DO_CANCEL;
                             break ;
                
             case SELL_ORDER: state = ORD_SELL_DO_CANCEL;
                             break ;           
          } 
          SetTransCount( true );
        }
         else
        {
          mem_magic = 0 ;
          mem_tick = 0 ;
          CheckError( result.retcode, "Remove: Результат удаления ордера не верен! Причина: " , order_status, ticket );
        }  
      }
       else
      {
        mem_magic = 0 ;
        mem_tick = 0 ;
        CheckError( result.retcode, "Remove: Ордер не отослан! Причина: " , order_status, ticket );
      }
    }
     else
    {
      ticket = 0 ;
      modify_count = 0 ;
    }
  }
   else
  {
    modify_count = 0 ;
  }
}

주문이 유효한 경우 어떻게 잘못된 요청이 있을 수 있나요???

2015.09.15 15:27:31.402 Trades  'xxxxx': failed modify order #20619541 sell limit 35.00 BR-11.15 at 50.33000 sl: 0.00000 tp: 0.00000 -> 49.19000, sl: 0.00000 tp: 0.00000 [Invalid request]
2015.09.15 15:27:32.611 Trades  'xxxxx': failed cancel order #20619541 sell limit 35.00 BR-11.15 at 50.33000 [Invalid request]
2015.09.15 15:27:34.163 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:42.815 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.006 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.358 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.407 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:44.562 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:44.572 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:45.593 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:45.892 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.007 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.407 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.769 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.789 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.819 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.879 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.900 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:28:04.330 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:28:04.330 Trades  'xxxxx': failed cancel order #20619541 sell limit 35.00 BR-11.15 at 50.33000 [Invalid request]
 

또 글의 끊임없는 편집이 시작되었습니다. 이것에서 마치 개발자에게 주제가 더 눈에 띄게됩니다.

서비스 데스크에서 매일 그들을 잡아당기고 보이지 않는 업데이트로 포럼을 업데이트하지 않는 것이 더 나을 것입니다 ...

 
Andrey Khatimlianskii :

또 글의 끊임없는 편집이 시작됐다. 이것에서 마치 개발자에게 주제가 더 눈에 띄게됩니다.

서비스 데스크에서 매일 그들을 잡아당기고 보이지 않는 업데이트로 포럼을 업데이트하지 않는 것이 더 나을 것입니다 ...

좋은 아침입니다 안드레이!

그리고 거기에서도 아무도 대답하지 않습니다(모두 "얻었다").

 
그리고 여기에서 커뮤니티는 현재 문제를 인식할 것입니다.
 

그리고 Andrey는 MT5의 오류 수정에 반대하고

플랫폼의 거래 기능을 개선하시겠습니까?

사유: