OrderSendAsync() 함수 - 페이지 6

 
Renat :

이는 비동기 요청 이 실제로 "성공적으로 전송됨" 상태를 제공하지 않는다는 점입니다.

기능이 성공적으로 완료되었다는 것은 "클라이언트의 관점에서 볼 때 주문이 정확하고 네트워크 파이프에 던져졌고 OnTrade에서 답변을 기다립니다"라는 의미일 뿐입니다.

죄송합니다. 약간 누락되었습니다.

요청이 서버에 도달하지 못한 상황과 관련하여 "OnTrade에서 답변을 기다리십시오"라는 문구를 여전히 명확히 하고 싶습니다.

요청이 서버에 도달하지 않은 경우 이 "누락된" 요청과 관련될 수 있는 Trade 이벤트가 생성되지 않습니다. 결국, 그렇지? 그렇다면 OnTrade()에서 해당 답변을 기다리지 않을 것입니다. 이 결론이 맞을까요?

OrderSendAsync() 함수가 성공적으로 완료되면 요청이 서버에 도달하지 않을 수 있으며 이 경우 OnTrade()에서 응답을 기다리는 것은 쓸모가 없습니다.

?

 

sergeev :

예델킨 :
고마워! 성공적으로 전송된 비동기 요청 은 쉽게 손실되고 기록에 들어갈 수 없습니다.

아니요.

명확히 해주세요. "아니오" - 내 결론이 부정확합니까, 아니면 그것을 확인하는 것입니까?

아마도 우리는 내 결론의 부정확성에 대해 이야기하고 있지만 Renat는 이전에 " 요청이 서버에 도달하지 않으면 클라이언트 터미널에 나타날 가능성이 없습니다 "라고 말했습니다. 이 논리를 계속하면 다음과 같은 결과가 나타납니다. 요청이 클라이언트 터미널에 나타날 가능성이 없으면 터미널 데이터베이스에 들어갈 기회가 없고 따라서 과거 주문 데이터베이스에 들어갈 기회가 없습니다. 이러한 결론이 올바르지 않다면 오류는 어디에 있으며 무엇입니까?

 
Renat :

이는 비동기 요청이 실제로 "성공적으로 전송됨" 상태를 제공하지 않는다는 점입니다.

기능이 성공적으로 완료되었다는 것은 "클라이언트의 관점에서 볼 때 주문이 정확하고 네트워크 파이프에 던져졌고 OnTrade에서 답변을 기다립니다"라는 의미일 뿐입니다.

나는 OnTrade가 가까운 장래에 사용자가 다른 유형의 실행 제어와 마찬가지로 문제 없이 " 요청이 서버에 도달하지 못했습니다 "와 같은 검사를 구성할 수 있는 방식으로 개선되기를 바랍니다.

현재 형태로는 OnTrade가 그러한 위업을 수행할 수 없기 때문입니다. 왜냐하면 어떤 요청에 대한 응답이 작동하는지 알 수 없기 때문입니다.

 
Urain :

나는 OnTrade가 가까운 장래에 사용자가 다른 유형의 실행 제어와 마찬가지로 문제 없이 " 요청이 서버에 도달하지 못했습니다 "와 같은 검사를 구성할 수 있는 방식으로 개선되기를 바랍니다.

현재 형태로는 OnTrade가 그러한 위업을 수행할 수 없기 때문입니다. 왜냐하면 어떤 요청에 대한 응답이 작동하는지 알 수 없기 때문입니다.

원칙적으로 요청을 보낸 후 요청이 서버에 도달했다는 5-10초 이내에 서버로부터 응답을 받지 못하면 "시간 초과에 의해 요청이 실패했습니다"라는 가상 응답을 추가할 수 있습니다.

이렇게 하면 OnTrade에서 깨진 주문을 잡을 수 있습니다. 사실, 이를 위해서는 매개변수를 추가하여 함수를 오버로드해야 합니다.

 
Yedelkin :


요청이 서버에 도달하지 않은 경우 이 "누락된" 요청과 관련될 수 있는 Trade 이벤트가 생성되지 않습니다. 결국, 그렇지?

네, 논리적입니다.

위에서 설명한 대로 가상 응답을 추가할 수 있습니다. 이렇게 하면 비동기 작업의 실행을 제어할 수 있습니다.

 
Renat :

원칙적으로 요청을 보낸 후 요청이 서버에 도달했다는 5-10초 이내에 서버로부터 응답을 받지 못하면 "시간 초과에 의해 요청이 실패했습니다"라는 가상 응답을 추가할 수 있습니다.

이렇게 하면 OnTrade에서 깨진 주문을 잡을 수 있습니다. 사실, 이를 위해서는 매개변수를 추가하여 함수를 오버로드해야 합니다.

너 때문에 놀랐다,

사람들은 실행 제어를 구현하기 위해 매개변수가 있는 OnTrade 완료를 기다리고 있습니다. 당신은 "한 빌드에서", 즉 다음 빌드에서 시간순으로 무슨 일이 일어날 것인지에 대해 목소리를 냈습니다.

지금 몇 달 동안 3개의 주문이 걸려 있고 언제, 언제를 기다리고 있으며 "할 수 있습니다. 하지만 이를 위해서는 다시 로드해야 합니다..."라고 말합니다.

왜 OnTrade 개정을 하지 않습니까???

추신: 저는 누군지 모르지만 지금과 같은 상황이 저에게 어울리지 않아 MQL5가 간접적이 아닌 직접 실행 제어를 보장하는 기능을 갖게 될 때까지 모든 코드 작성을 미루었습니다.

 
Urain :

너 때문에 놀랐다,

사람들은 실행 제어를 구현하기 위해 매개변수가 있는 OnTrade 완료를 기다리고 있습니다. 당신은 "한 빌드에서", 즉 다음 빌드에서 시간순으로 무슨 일이 일어날 것인지에 대해 목소리를 냈습니다.

지금 몇 달 동안 3개의 주문이 걸려 있고 언제, 언제를 기다리고 있으며 "할 수 있습니다. 하지만 이를 위해서는 다시 로드해야 합니다..."라고 말합니다.

왜 OnTrade 개정을 하지 않습니까???

우리는 긴장하고 다음 빌드에서 그것을 시도할 것입니다.

직장에는 실제로 많은 작업이 있으며 아직 휴가 기간입니다. 여름에는 일반적인 개발 속도를 유지하기가 어렵습니다.

 
Renat :

우리는 긴장하고 다음 빌드에서 그것을 시도할 것입니다.

직장에는 실제로 많은 작업이 있으며 아직 휴가 기간입니다. 여름에는 일반적인 개발 속도를 유지하기가 어렵습니다.

휴, 출발했습니다 :)

정말 무서웠어요 진짜 상황이 너무 리얼해서 얘기도 하고 헤어지고 잊기도 하고 사람들이 희망을 기다리고 있어요 :)

젠장 양말, 오, 살기 위해 :))

 

메타따옴표는 강력하고 가벼우며 다용도 터미널을 만듭니다.

그들은 강하고 가볍게 만드는 법을 이미 배웠습니다. 그러나 여기서 또 다른 과제는 승계입니다. 하나의 터미널에서 다른 거래 층의 모든 "chpoks"와 많은 브로커를 연결해야 합니다. 이것이 문제라고 생각합니다. 더 이상 다재다능한 MQ5는 없습니다.

PS 예, OnTrade 매개변수를 기다리고 있습니다. 그리고 우리 주식 중개인들에게. 그리고 비동기를 처리하는 좋은 방법이 필요합니다. 그러면 (터미널별로) 경쟁자가 없을 것 같습니다. 테스터 한 명이 가치가 있습니다 ...

 
Renat :

원칙적으로 요청을 보낸 후 요청이 서버에 도달했다는 5-10초 이내에 서버로부터 응답을 받지 못하면 "시간 초과에 의해 요청이 실패했습니다"라는 가상 응답을 추가할 수 있습니다.

이렇게 하면 OnTrade에서 깨진 주문을 잡을 수 있습니다. 사실, 이를 위해서는 매개변수를 추가하여 함수를 오버로드해야 합니다.

위에서 설명한 대로 가상 응답을 추가할 수 있습니다. 이렇게 하면 비동기 작업의 실행을 제어할 수 있습니다.

Ps, 좋은 결정. 적어도 내 문제를 해결하는 데 도움이 됩니다. 우리는 기다리고 있지만 사용자 정의하지 않습니다 :)