메시지 주셔서 감사합니다. 다음 업데이트에서 사용할 수 있습니다. 현재 버전에서 작동하도록 하려면 일반적으로 상수 또는 곱셈에 대해 명시적 캐스팅을 사용하세요.
void OnStart() { // вот так работает Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1)); // а вот так нет (а раньше работало) datetime time_end=0; time_end=TimeCurrent()+ (long) 2*PeriodSeconds(PERIOD_D1); Print(time_end); }
서버에서 이러한 응답을 받은 경우 다음 두 가지 중 하나가 발생할 때까지 기다려야 합니다.
1. 가격은 필요한 거리( 심볼의 속성에표시된 것보다 큼)로 이동하지 않습니다.
2. 순서나 위치는 그 안에 명시된 조건을 충족하지 않습니다.
에 관하여
10021
TRADE_RETCODE_PRICE_OFF
요청을 처리할 따옴표가 없습니다.
아마도 그러한 응답을 받았을 때 기호의 이름을 확인하고(만일을 대비하여) 기호가 선택되어 있는지(테스터 및 만화와 관련이 있음), 다음을 포함한 이력이 있는지 확인해야 합니다. 서버(업로드해야 하는 경우), 아마도 시장이 열려 있고 상품에서 거래가 가능한지 확인하십시오.
추신
여기에서 개발자와 명확히해야하지만
스윙은 무엇입니까
10028
TRADE_RETCODE_LOCKED
처리를 위해 차단된 요청
이것은 아마도 위에 나열된 서버 응답 중 가장 구체적일 것입니다. 여기, 아마도 개발자의 설명이 필요할 것입니다 (특정 시간 동안 기다릴 가치가 가장 크다고 가정 할 것입니다) ...
개발자가 알아낼 수 있도록 하십시오. 여기에 이 스크립트의 3번 실행 화면이 있습니다.
불행히도 그것은 나를 위해 작동하지 않습니다
버그 - 이전에는 작동했지만 지금은 작동하지 않습니다.
메시지 주셔서 감사합니다.
추구합니다.
PrintCheckResult 메서드에서 작은 버그를 찾았습니다(Trade.mqh 파일, Trade 클래스, CTrade 클래스).
무효 CTrade::PrintCheckResult(무효) const
{
printf("검사결과");
// printf("%d,%f,%f,%f,%f,%f,%f,'%s'", - 끝에서 두 번째 매개변수가 중복됨
printf("%d,%f,%f,%f,%f,%f,'%s'",
m_check_result.retcode,m_check_result.balance,m_check_result.equity,
m_check_result.margin,m_check_result.margin_free,m_check_result.margin_level,
m_check_result.comment);
}
줄 대신: printf("%d,%f,%f,%f,%f,%f,%f,'%s'", 내가 주석 처리함
라인이어야 합니다: printf("%d,%f,%f,%f,%f,%f,'%s'",
확인하면 수정된 기능이 올바르게 작동합니다.
버그 - 이전에는 작동했지만 지금은 작동하지 않습니다.
메시지 주셔서 감사합니다. 다음 업데이트에서 사용할 수 있습니다. 현재 버전에서 작동하도록 하려면 일반적으로 상수 또는 곱셈에 대해 명시적 캐스팅을 사용하세요.
{
// вот так работает
Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1));
// а вот так нет (а раньше работало)
datetime time_end=0;
time_end=TimeCurrent()+ (long) 2*PeriodSeconds(PERIOD_D1);
Print(time_end);
}
PrintCheckResult 메서드에서 작은 버그를 찾았습니다(Trade.mqh 파일, Trade 클래스, CTrade 클래스).
메시지 주셔서 감사합니다.
곧 수정됩니다.
메시지 주셔서 감사합니다. 다음 업데이트에서 사용할 수 있습니다. 현재 버전에서 작동하도록 하려면 일반적으로 상수 또는 곱셈에 대해 명시적 캐스팅을 사용하세요.
고맙습니다. 내가 올바르게 이해했다면 이것은 유형 캐스팅 때문이었습니다. 컴파일시 이런 메시지가 없는게 아쉽네요, 찾기 쉬울꺼에요
ENUM_TRADE_RETURN_CODES 오류를 올바르게 처리하려면 오류를 올바르게 해석해야 합니다. 자세한 설명에 자료가 있습니까?
특히 다음 오류는 완전히 이해되지 않습니다.
10008
TRADE_RETCODE_PLACED
주문 완료
10021
TRADE_RETCODE_PRICE_OFF
요청을 처리할 따옴표가 없습니다.
10028
TRADE_RETCODE_LOCKED
처리를 위해 차단된 요청
10029
TRADE_RETCODE_FROZEN
주문 또는 위치가 동결됨
누구든지 이 질문에 도움을 줄 수 있습니까?
ENUM_TRADE_RETURN_CODES 오류를 올바르게 처리하려면 오류를 올바르게 해석해야 합니다. 자세한 설명에 자료가 있습니까?
특히 다음 오류는 완전히 이해되지 않습니다.
10008
TRADE_RETCODE_PLACED
주문 완료
10021
TRADE_RETCODE_PRICE_OFF
요청을 처리할 따옴표가 없습니다.
10028
TRADE_RETCODE_LOCKED
처리를 위해 차단된 요청
10029
TRADE_RETCODE_FROZEN
주문 또는 위치가 동결됨
누구든지 이 질문에 도움을 줄 수 있습니까?
위의 모든 것은 서버가 터미널 요청에 대한 응답으로 반환하는 코드를 나타냅니다. 따라서 "무역 서버 반환 코드" 섹션에 모든 것이 제공됩니다.
목록에 오류만 포함되어 있지 않다고 가정하는 것이 논리적일 것입니다.
이제 순서대로
에 관하여
10008
TRADE_RETCODE_PLACED
주문 완료
이 응답이 단순한 오류가 아니라 단순히 주문이 성공적으로 배치되었음을 클라이언트(거래 터미널)에 알리는 것이라고 가정하는 것이 논리적입니다.
이 경우 세 가지 방법으로 수행할 수 있습니다.
1. 응답을 전혀 처리하지 마십시오.
2. OnTrade() 블록에서 주문하는 프로세스 - 상당히 수용 가능하지만 제 생각에는 그다지 올바른 옵션이 아닙니다.
3. 주문한 곳에서 답변 처리 - 제 생각에는 기계 거래를 처리하는 가장 최적의 방법입니다.
추신
나는 거래 작업이 수행 된 장소에서 서버의 응답을 처리하고 상인, 서버 또는 기타 Expert Advisors의 행동 결과를 포착하기 위해 OnTrade()에서 처리하는 것을 선호합니다.
예를 들어, OnTrade에서 거래자의 거래 작업(주문 배치 또는 삭제, 포지션 작업)을 파악할 수 있습니다.
에 관하여
10029
TRADE_RETCODE_FROZEN
주문 또는 위치가 동결됨
특정 수준에 도달하면 위치 또는 주문이 "동결"됩니다(이와 관련된 모든 작업은 금지됨).
이 수준은 서버가 주문 또는 위치에 대한 모든 작업을 금지하는 현재 가격까지의 거리를 나타냅니다. 이 거리는 포인트로 측정되며 각 문자에 대해 설정됩니다.
SYMBOL_TRADE_FREEZE_LEVEL 매개변수 와 함께 SymbolInfoInteger() 를 사용하여 찾을 수 있습니다 .
서버에서 이러한 응답을 받은 경우 다음 두 가지 중 하나가 발생할 때까지 기다려야 합니다.
1. 가격은 필요한 거리( 심볼의 속성에 표시된 것보다 큼)로 이동하지 않습니다 .
2. 순서나 위치는 그 안에 명시된 조건을 충족하지 않습니다.
에 관하여
10021
TRADE_RETCODE_PRICE_OFF
요청을 처리할 따옴표가 없습니다.
아마도 그러한 응답을 받았을 때 기호의 이름을 확인하고(만일을 대비하여) 기호가 선택되어 있는지(테스터 및 만화와 관련이 있음), 다음을 포함한 이력이 있는지 확인해야 합니다. 서버(업로드해야 하는 경우), 아마도 시장이 열려 있고 상품에서 거래가 가능한지 확인하십시오.
추신
여기에서 개발자와 명확히해야하지만
스윙은 무엇입니까
10028
TRADE_RETCODE_LOCKED
처리를 위해 차단된 요청
이것은 아마도 위에 나열된 서버 응답 중 가장 구체적일 것입니다. 여기, 아마도 개발자의 설명이 필요할 것입니다 (특정 시간 동안 기다릴 가치가 가장 크다고 가정 할 것입니다) ...
에 관하여
10029
TRADE_RETCODE_FROZEN
주문 또는 위치가 동결됨
특정 수준에 도달하면 위치 또는 주문이 "동결"됩니다(이와 관련된 모든 작업은 금지됨).
이 수준은 서버가 주문 또는 위치에 대한 모든 작업을 금지하는 현재 가격까지의 거리를 나타냅니다. 이 거리는 포인트로 측정되며 각 문자에 대해 설정됩니다.
SYMBOL_TRADE_FREEZE_LEVEL 매개변수 와 함께 SymbolInfoInteger() 를 사용하여 찾을 수 있습니다 .
서버에서 이러한 응답을 받은 경우 다음 두 가지 중 하나가 발생할 때까지 기다려야 합니다.
1. 가격은 필요한 거리( 심볼의 속성에 표시된 것보다 큼)로 이동하지 않습니다 .
2. 순서나 위치는 그 안에 명시된 조건을 충족하지 않습니다.
자세한 답변 감사합니다. 코드 "10029: TRADE_RETCODE_FROZEN: 주문 또는 위치가 동결됨"은 이해할 수 있습니다.
그러나 나머지에 대한 질문은 남아 있습니다(가정이 아닌 정확한 답변을 듣고 싶습니다).
10008
TRADE_RETCODE_PLACED
주문 완료
10021
TRADE_RETCODE_PRICE_OFF
요청을 처리할 따옴표가 없습니다.
10028
TRADE_RETCODE_LOCKED
처리를 위해 차단된 요청
특히 "10008: 주문 완료"가 무엇을 의미하는지 완전히 명확하지 않습니다. 주문이 서버에 대기할 때 티켓이 할당되고 코드 "10009: TRADE_RETCODE_DONE: 주문 완료"가 반환되기 때문입니다.