Ну и с удалением ордера та же история, получив TRADE_TRANSACTION_REQUEST и result.retcode == TRADE_RETCODE_PLACED мы уже знаем, что ордер в состоянии удаления.
Да и вообще, зачем знать переходные состояния ордера, если с ним, в этот момент, ничего нельзя сделать?
Т.е для отслеживания команд и состояния ордера
достаточно Type = TRADE_TRANSACTION_REQUEST и result.retcode == TRADE_RETCODE_PLACED для понимания, что команда исполнена и происходит действие
А для результата действия достаточно Type = TRADE_TRANSACTION_ORDER_UPDATE ; State = ORDER_STATE_PLACED ; Retcode = PLACE_DONE | MODIFY_DONE | CANCELED_DONE | OTHER_ERRORS
안녕하세요!
"킹덤"에 문제가 있습니다.
작업에 진전이 있습니까?
안녕하세요!
"킹덤"에 문제가 있습니다.
작업에 진전이 있습니까?
예, 큰 발전입니다.
이번 주에 우리는 새로운 빌드를 출시할 예정이며 서버가 업데이트되면 가속을 보게 될 것입니다. 작업은 계속 진행 중입니다.
예, 큰 발전입니다.
이번 주에 우리는 새로운 빌드를 출시할 예정이며 서버가 업데이트되면 가속을 보게 될 것입니다. 작업은 계속 진행 중입니다.
좋은 오후입니다, 레나트!
미국의 중개인이 MT5를 사용합니까?
선물 거래?
아직 아님.
당신의 계획은 장기적입니까, 아니면 가까운 미래입니까?
좋은 오후입니다, 레나트!
OnTradeTransaction 핸들러를 개선할 계획입니까?
무슨 뜻이에요?
안녕하세요!
그림에서 보류 중인 주문이 있는 작업 로그:
설치 --> 수정 --> 제거
중복되는 이유(빨간색 원)?
그리고 반환 코드가 없습니다.
예를 들어, 나는 주문을 삭제할 수 있지만 중개인은 삭제할 수 있거나 주문이 만료되었을 수 있습니다.
알아내는 방법?
이제 보류 중인 주문을 고려하십시오.
OrderSendAsync 명령을 전송하여 요청 번호 req_id = result.request_id를 얻습니다.
OnTradeTransaction에서 주문이 접수되었는지(티켓을 받았는지) 여부에 관계없이 즉시 응답(result.retcode)을 받습니다.
3개의 메시지가 더 필요한 이유는 무엇입니까?
우리가 이미 그것을 알아 냈다면?
다음으로 수정입니다.
왜 메시지,
여전히 이 작업의 결과를 모르는 경우( Retcode = 0 )?
주문을 수정하라는 명령을 보내면 주문의 경우와 마찬가지로 수정되고 있음을 이미 알고 있습니다(티켓을 다시 받았고 result.retcode == TRADE_RETCODE_PLACED ).
메시지에 Retcode = MODIFY_DONE을 추가하는 것이 훨씬 더 유익할 것입니다.