요새. 실행 질문 - 페이지 9

 
Renat :
이것은 터미널 1060이고 서버는 여전히 1035입니다.
이해했다))
 

좋은 오후입니다, 레나트!

"긴급" 주문 추적 모드 설계(OnTradeTransaction 이벤트가 도착하지 않은 경우),

MARKET 주문이 3초 이상 기록에 나타나는 것을 발견했습니다.

CN       0        07 : 10 : 26.424     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 26
CE       0        07 : 10 : 26.424     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
CG       0        07 : 10 : 27.554     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 1138 мсек
NN       0        07 : 10 : 27.554     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
JD       0        07 : 10 : 29.328     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 29
DK       0        07 : 10 : 29.328     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
EP       0        07 : 10 : 30.596     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 1279 мсек
RE       0        07 : 10 : 30.596     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
KJ       0        07 : 10 : 41.112     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 41
LQ       0        07 : 10 : 41.112     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
GJ       0        07 : 10 : 43.123     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 2012 мсек
HK       0        07 : 10 : 43.123     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
IQ       0        07 : 10 : 46.176     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 46
LG       0        07 : 10 : 46.176     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
DD       0        07 : 10 : 48.193     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 2028 мсек
LQ       0        07 : 10 : 48.193     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
EG       0        07 : 10 : 58.440     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 58
NL       0        07 : 10 : 58.440     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
NN       0        07 : 11 : 01.531     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 3104 мсек
PG       0        07 : 11 : 01.531     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
DM       0        07 : 11 : 06.359     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 11 : 06
NR       0        07 : 11 : 06.359     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
RG       0        07 : 11 : 09.649     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 3292 мсек
HN       0        07 : 11 : 09.649     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
LS       0        07 : 11 : 19.636     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 11 : 19
GH       0        07 : 11 : 19.636     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
RQ       0        07 : 11 : 23.808     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4180 мсек
PF       0        07 : 11 : 23.808     History_bug (Eu- 3.15 ,H1)        CheckOrders: Билет получен = 9833674
QE       0        07 : 11 : 27.865     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4056 мсек
HN       0        07 : 11 : 27.865     History_bug (Eu- 3.15 ,H1)        CheckOrders: Сделка совершена, билет = 9833674
HD       0        07 : 11 : 30.832     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 11 : 30
IK       0        07 : 11 : 30.832     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
LP       0        07 : 11 : 34.962     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4134 мсек
DG       0        07 : 11 : 34.962     History_bug (Eu- 3.15 ,H1)        CheckOrders: Билет получен = 9833675
CD       0        07 : 11 : 39.018     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4057 мсек
JN       0        07 : 11 : 39.018     History_bug (Eu- 3.15 ,H1)        CheckOrders: Сделка совершена, билет = 9833675

이 로그를 발행한 EA 코드를 첨부합니다.

처음에는 시간 초과가 1000ms였고, 그 다음에는 2000, 3000, 마지막으로 4000ms였습니다.

각 기간에 2개의 명령이 전송되었습니다( 포지션 오픈 - 클로징)

MARKET 주문이 너무 길죠?

P/S 데모 오프닝(터미널 빌드 1060)

파일:
History_bug.mq5  10 kb
 

코드는 아직 실행되지 않았지만 소스는 HistorySelect 에서 잘못된 종료 날짜라는 고전적인 오류를 보여줍니다.

모든 첫 번째 프로그래머는 잘못된 날짜로 이 함수를 호출하고, 역사의 끝에서 끊임없이 간식을 먹으며 "역사의 장기 히트"를 발견합니다.

 

아마도 "모든 사람"이 "고전적인 실수"를 하기 때문에 이것이 기능일 것입니다.

해당 파일에는 특정 날짜에서 현재 순간까지의 기록을 읽으려는 시도가 있습니다. "이야기의 끝을 먹지"않도록 올바르게하는 방법을 알려주지 않습니까?

 

여기서 실수는 사람들이 현재 순간이 무엇인지 생각하지 않고 잘못된 출처에서 가져온 잘못된 날짜로 대체한다는 것입니다.

오래된 serverTime이 아니라 알려진 먼 날짜를 종료 날짜로 지정하는 것으로 충분합니다.

 
Renat :

여기서 실수는 사람들이 현재 순간이 무엇인지 생각하지 않고 잘못된 출처에서 가져온 잘못된 날짜로 대체한다는 것입니다.

오래된 serverTime이 아니라 알려진 먼 날짜를 종료 날짜로 지정하는 것으로 충분합니다.

그렇다면 예제와 함께 참조를 수정할 수 있습니까?

https://www.mql5.com/ru/docs/trading/historyselect

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Торговые функции / HistorySelect - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
papaklass :

Renat, 아직 OnTradeTransaction() 함수로 작업한 적이 있습니까?

아니요, 불행히도 매우 바쁩니다.

MetaQuotes-Demo 데모 서버에서 직접 사용해 보십시오.

 

Renata라는 문구에서

오래된 serverTime이 아니라 알려진 먼 날짜를 종료 날짜로 지정하는 것으로 충분합니다.

내일(또는 그보다 더 먼)이 최종 날짜로 표시되어야 하고 행복이 있을 것임을 깨달았습니다.

 
Renat :

여기서 실수는 사람들이 현재 순간이 무엇인지 생각하지 않고 잘못된 출처에서 가져온 잘못된 날짜로 대체한다는 것입니다.

오래된 serverTime이 아니라 알려진 먼 날짜를 종료 날짜로 지정하는 것으로 충분합니다.

그리고 시작 날짜에 관해서는 "오래된" TimeTradeServer() 가 적합합니까?
 
Mikalas :
그리고 시작 날짜에 관해서는 "오래된" TimeTradeServer() 가 적합합니까?

시작 날짜와 종료 날짜 모두 오류를 인식하고 필수 여백을 두고 설정해야 합니다. 그것은 마이너스 N초와 플러스 N초입니다.

TimeTradeServer()는 정확한 실시간 시간이 아니지만 시장 개요에 나오는 가격 틱에 대해서만 업데이트됩니다.


히스토리 선택에 갑자기 데이터가 없는 경우 99%는 오류가 요청 범위 내에 있음을 의미합니다.