나는 CTrade::PositionClose (const ulong ticket, const ulong 편차=ULONG_MAX)를 만지작거리고 있는데 내부에서 잘 정리되어 있지 않다는 것을 알고 있습니다. bool 및 ResultRetcode()의 2가지 반환 코드에 관한 것입니다. RetCode는 false를 반환하기 전에 내부적으로 항상 0이 아니므로 PositionClose가 false로 평가되면 RetCode가 TRADE_RETCODE_DONE을 반환할 수 있습니다. 개발자는 이 2개의 반환 값을 어떻게 동기화할까요?
. ... Rick D. ... . : 나는 CTrade::PositionClose(const ulong ticket, const ulong deviation=ULONG_MAX)를 만지작거리고 있는데 내부가 잘 정리되어 있지 않다는 것을 이해합니다. bool 및 ResultRetcode()의 2가지 반환 코드에 관한 것입니다. RetCode는 false를 반환하기 전에 내부적으로 항상 0이 아니므로 PositionClose가 false로 평가되면 RetCode가 TRADE_RETCODE_DONE을 반환할 수 있습니다. 개발자는 이 2개의 반환 값을 어떻게 동기화할까요?
나는 CTrade::PositionClose(const ulong ticket, const ulong deviation=ULONG_MAX)를 만지작거리고 있는데 내부가 잘 정리되어 있지 않다는 것을 이해합니다. bool 및 ResultRetcode()의 2가지 반환 코드에 관한 것입니다. RetCode는 false를 반환하기 전에 내부적으로 항상 0이 아니므로 PositionClose가 false로 평가되면 RetCode가 TRADE_RETCODE_DONE을 반환할 수 있습니다. 개발자는 이 2개의 반환 값을 어떻게 동기화할까요?
코드 + 예제 + 로그.
COOrderInfo::OrderType()은 항상 0을 반환합니다.
확인을 위해 보류 중인 주문 (BuyStop, SellStop, ...)을 수동으로 배치할 수 있습니다.
그런 다음 스크립트에 티켓을 입력하십시오.
아마도 가상 기능 테이블과 함께 뭔가? 디버깅에서는 가상 int CObject::Type()에만 들어갑니다.
추신. 나는 이미 그것을 스스로 알아 냈습니다. COrderInfo에는 Type() 및 OrderType()의 2가지 유사한 메서드가 있습니다.
코드 + 예제 + 로그.
무슨 상황인지 보세요.
CTrade 에서 SetResultRetcode 및 SetResultComment 메서드가 각각의 새 작업 전에 재설정하는 것을 볼 수 없습니다.
하나의 단일 메서드가 추가된 클래스를 상속해야 합니다.
무슨 상황인지 보세요.
CTrade에서 SetResultRetcode 및 SetResultComment 메서드가 각각의 새 작업 전에 재설정하는 것을 볼 수 없습니다.
무엇 때문에? 완전히 불필요한 기능.
첫째: 당신은 공중에서 쏘고 - 첫 번째 확인 없이 거래 주문을 보냅니다 - 작업이 반환된 것을 확인하지 않고. 도움말 보기: PositionClose 는 bool 유형입니다.
두 번째: 위치 닫기 체인을 살펴봅니다. 위치를 찾을 수 없는 경우(지정된 티켓으로 선택할 수 없음) "거짓"이 반환됩니다.
동시에 구조는 아무데도 지워지지 않습니다. 이것은 의미가 없기 때문에 결국, 그 전에는 위치를 선택할 수 없었으므로 구조에 정보가 없습니다.
무엇 때문에? 완전히 불필요한 기능.
첫째: 당신은 공중에서 쏘고 - 첫 번째 확인 없이 거래 주문을 보냅니다 - 작업이 반환된 것을 확인하지 않고. 도움말 보기: PositionClose 는 bool 유형입니다.
두 번째: 위치 닫기 체인을 살펴봅니다. 위치를 찾을 수 없는 경우(지정된 티켓으로 선택할 수 없음) "거짓"이 반환됩니다.
동시에 구조는 아무데도 지워지지 않습니다. 이것은 의미가 없기 때문에 결국, 그 전에는 위치를 선택할 수 없었으므로 구조에 정보가 없습니다.
1) 동일한 성공으로 ResetLastError()가 절대적으로 불필요한 함수라고 말할 수 있습니다.
2) 반환된 결과에 대한 확인이 있습니다. 유추하여 일부 WinAPI 함수를 호출하고 오류를 반환하고 GetLastError()(ResultRetcode와 유사)가 모든 마지막 코드를 반환한다고 상상해 보십시오.
PositionClose를 호출하기 전에 몇 가지 검사를 추가하면(하나를 추가할 것입니다) RetCode가 변경되지 않을 때 다른 호출 전에 다른 검사를 무시하지 않습니다.
My Expert Advisor는 로그에 정보를 기록합니다. 내가 필요한 것은 일부 호출이 false를 반환한 경우 정상적인 ResultRetcode 및 ResultComment를 로그에 작성하는 것입니다.
1) 동일한 성공으로 ResetLastError()가 절대적으로 불필요한 함수라고 말할 수 있습니다.
2) 반환된 결과에 대한 확인이 있습니다. 유추하여 일부 WinAPI 함수를 호출하고 오류를 반환하고 GetLastError()(ResultRetcode와 유사)가 모든 마지막 코드를 반환한다고 상상해 보십시오.
PositionClose를 호출하기 전에 몇 가지 검사를 추가하면(하나를 추가할 것입니다) RetCode가 변경되지 않을 때 다른 호출 전에 다른 검사를 무시하지 않습니다.
My Expert Advisor는 로그에 정보를 기록합니다. 내가 필요한 것은 일부 호출이 false를 반환한 경우 정상적인 ResultRetcode 및 ResultComment를 로그에 작성하는 것입니다.
필요할 때 CTrade 클래스의 거래 작업에 대한 도움말을 읽으십시오. ResultRetcode() 메서드 를 호출하여 거래 요청(거래 서버 반환 코드) 실행 결과를 확인합니다 .
필요할 때 CTrade 클래스의 거래 작업에 대한 도움말을 읽으십시오. ResultRetcode() 메서드 를 호출하여 거래 요청(거래 서버 반환 코드) 실행 결과를 확인합니다 .
라고 주장할 수 있습니다.
1) PositionClose가 false를 반환하면 Retcode가 채워지지 않습니까?
2) PositionClose가 true를 반환하면 Retcode가 항상 채워집니까?
주문 -> 거래 -> 포지션. 위치에서 시작 가격 을 가져옵니다.
주문 -> 딜 -> 포지션과 같은 사진을 보여주시면 됩니다. 딜이 쓰여진 아래쪽에서 복사가 안되는 부분입니다.
주문 -> 딜 -> 포지션과 같은 사진을 보여주시면 됩니다. 딜이 쓰여진 아래쪽에서 복사가 안되는 부분입니다.
질문을 다시 쓰거나 구두점을 표시하거나 더 나은 방법으로 사진에 무엇을, 어디에, 누구를 추가하십시오. 그렇지 않으면 익숙한 글자가 보이지만 그 의미와 생각을 이해할 수 없습니다.