오류, 버그, 질문 - 페이지 2106

 
Andrey Khatimlianskii :

시간 초과는 적절한 시간 내에 서버로부터 응답을 받지 못했음을 나타냅니다. 그러나 명령 실행의 결과에 대해서는 아닙니다.


안녕하세요.

고맙습니다.

순전히 기술적으로 나는 그 기능을 이해했습니다. 이 경우: 시간 초과 시 - 새 티켓 이 거래 내역 에 나타날 때까지 기다려야 합니다. 새 티켓이 나타나면 거래 또는 주문이 열린 것입니다.

그건 그렇고, 이것은 MQL5 VPS에서만 발생합니다.

홈 서버에서는 모든 것이 정상입니다.

나는 생각 할 것이다 ...


고맙습니다.

Пользовательский интерфейс - Начало работы - MetaTrader 5
Пользовательский интерфейс - Начало работы - MetaTrader 5
  • www.metatrader5.com
Интерфейс платформы предоставляет доступ ко всем инструментам, необходимым для торговли на финансовых рынках. Он включает в себя различные меню, панели инструментов и служебные окна. Главное меню В главном меню собраны практически все команды и функции, которые можно выполнять в торговой платформе. Оно позволяет работать с графиками...
 
Vladislav Andruschenko :

순전히 기술적으로 나는 그 기능을 이해했습니다. 이 경우: 시간 초과 시 - 새 티켓 이 거래 내역 에 나타날 때까지 기다려야 합니다. 새 티켓이 나타나면 거래 또는 주문이 열린 것입니다.

거래 요청이 동기 OrderSend를 통해 전송된 경우 OrderSend 실행을 종료할 수 없습니다. 모든 것이 VPS 터미널 버그처럼 보입니다.
 
fxsaber :
거래 요청이 동기 OrderSend를 통해 전송된 경우 OrderSend 실행을 종료할 수 없습니다. 모든 것이 VPS 터미널 버그처럼 보입니다.


그를 통해.

문제는 원칙적으로 해결할 수 있으며 시간 초과 오류를 수신한 후 기록에서 새 티켓을 열거하는 기능을 시작합니다.

그렇지 않으면 EA는 티켓을 수신하지 않고 단순히 새 요청을 보내고 다시 시간 초과 오류를 수신합니다.

고맙습니다.

 
Vladislav Andruschenko :

문제는 원칙적으로 해결할 수 있으며 시간 초과 오류를 수신한 후 기록에서 새 티켓을 열거하는 기능을 시작합니다.

SD에 써야 합니다. 그렇지 않으면 각 OrderSend 후에 3분 동안 타임아웃을 기다리며 해당 거래 위험을 받습니다.

 
fxsaber :

SD에 써야 합니다. 그렇지 않으면 각 OrderSend 후에 3분 동안 타임아웃을 기다리며 해당 거래 위험을 받습니다.


그렇게 했다.

이 오류는 1000개 중 1개 발생하며 지금까지는 MQL VPS 에서만 발생했습니다...
 
Vladislav Andruschenko :

따라서 어드바이저는 오류 10012를 수신하고 다시 주문을 시도합니다.

나는 시장에서 그러한 코드에 대해 1년 동안 판매자의 지위를 박탈할 것입니다.
 
A100 :
나는 시장에서 그러한 코드에 대해 1년 동안 판매자의 지위를 박탈할 것입니다.

이런 오류는 처음입니다.

내 코드에는 이런 종류의 오류가 없습니다. 티켓 없음 - 거래가 열리지 않습니다. 그것은 고문이 다시 거래를 열려고 한다는 것을 의미합니다.
 
Vladislav Andruschenko :

문제는 원칙적으로 해결할 수 있으며 시간 초과 오류를 수신한 후 기록에서 새 티켓을 열거하는 기능을 시작합니다.

역사는 그것과 아무 관련이 없습니다. OrderSend는 주문을 보내고 ORDER_STATE_STARTED 상태로 터미널에 즉시 나타납니다.

그러나 이것이 OrderSend가 실행을 완료했음을 의미하지는 않습니다. OrderSend는 주문 상태가 변경될 때까지 실행됩니다.

따라서 시간 초과가 표시 되면 주문 상태가 ORDER_STATE_STARTED라는 99%를 의미합니다.

또한 MT5 서버가 OrderSend 자체(TP/SL/MC/만료)를 수행할 때 OrderSend 없이도 동일한 시간 초과가 발생할 수 있습니다. 하지만 터미널에서는 볼 수 없습니다.

 
Vladislav Andruschenko :
내 코드에는 이런 종류의 오류가 없습니다. 티켓 없음 - 거래가 열리지 않습니다. 그것은 고문이 다시 거래를 열려고 한다는 것을 의미합니다.

이것은 잘못된 논리입니다. 성공적이지 못한 OrderSend 후에는 현재 거래 환경을 완전히 다시 읽어야 합니다. 이 규칙은 항상 적용되어야 합니다.

반환 코드 정보. 나는 Expert Advisors에서 그것들을 분석하지 않습니다. 제 생각에는 거래 논리가 그들에게 의존해서는 안 됩니다.

 
fxsaber :

이것은 잘못된 논리입니다. 성공적이지 못한 OrderSend 후에는 현재 거래 환경을 완전히 다시 읽어야 합니다. 이 규칙은 항상 적용되어야 합니다.


동의한다. 변경해야 합니다.