OrderSend를 사용하여 MT5에서 올바르게 작동하는 방법 - 페이지 7

 
fxsaber :

아마도 그러한 예가 암시적일 것입니다.

Sleep을 하지 않으면 OrderClose 후 히스토리를 업데이트할 시간이 없고 OrderCommission이 OrderClose가 완료되지 않은 것처럼 값을 반환하는 상황이 자주 발생합니다.

이것은 스크립트이며 이벤트가 있을 수 없습니다. 유일한 탈출구는 바보 수면입니다.

SB를 사용하여 이 스크립트를 다시 작성하면 아무 것도 변경되지 않습니다.

MT4와 MT5를 혼동하지 마십시오.
 
prostotrader :
MT4와 MT5를 혼동하지 마십시오.

이것과 MT5

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
 
fxsaber :

이것과 MT5

OP_BUY

MT5에는 그런게 없다

그들은 완전히 다르게 작동합니다.

 
prostotrader :
OP_BUY

MT5에는 그런게 없다

그들은 완전히 다르게 작동합니다.

MT5에서 위의 코드를 실행하는 대신 빈 잡담에 시간을 낭비하십시오.
 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

라이브러리: MT4Orders

fxsaber , 2016.11.14 13:33

// 13.11.2016:
//   Add: Полная синхронизация OrderSend, OrderModify, OrderClose, OrderDelete с торговым окружением (реал-тайм и история) - как в MT4.
//        Максимальное время синхронизации можно задать через MT4ORDERS::OrderSend_MaxPause в мкс. Среднее время синхронизации в MT5 ~1 мс.
 
fxsaber :
위의 내용을 기반으로 각 거래 작업 후에 Sleep(1)을 넣어야 합니까?
 
Alexey Kozitsyn :
위의 내용을 기반으로 각 거래 작업 후에 Sleep(1)을 넣어야 합니까?
아니요, 동기화 시간은 유동적입니다. 바라보다
static bool MT4ORDERS:: OrderSend ( const MqlTradeRequest &Request, MqlTradeResult &Result );
 
fxsaber :
아니요, 동기화 시간은 유동적입니다. 바라보다
static bool MT4ORDERS:: OrderSend ( const MqlTradeRequest &Request, MqlTradeResult &Result );

실습은 압도적인 수의 경우에 Sleep(1)이 충분함을 보여줍니다.

일반적으로 이 변경된 환경 자체를 아직 읽을 수 없는 상태에서 변경된 거래 환경에 대해 OrderSend 로부터 응답을 받는 것은 다소 이상합니다.

 
Vasiliy Sokolov :

실습은 압도적인 수의 경우에 Sleep(1)이 충분함을 보여줍니다.

때때로 수면 (0)이면 충분합니다. 그러나 모든 경우에 대해 최소한의 대기 시간으로 작동하는 솔루션이 있어야 합니다.
 
fxsaber :
때때로 Sleep(0)이면 충분합니다. 그러나 모든 경우에 대해 최소한의 대기 시간으로 작동하는 솔루션이 있어야 합니다.

개발자가 버그를 수정해야 한다면 왜 "Mr."에서 공을 굴려야 할까요?

게다가 OrderSendAsync() 가 있습니다.