MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1311

 
MakarFX :

질문 1: 질문을 이해하지 못했습니다

선택한 기간 또는 기간 자체의 시작을 가져오는 프로그램

 
Andrey Sokolov :

선택한 기간 또는 기간 자체의 시작을 가져오는 프로그램

아니오, "OrdersHistoryTotal 클라이언트 터미널에 로드된 현재 계정 내역에서 마감 및 삭제된 주문 수를 반환합니다."
 
Andrey Sokolov :

선택한 기간 또는 기간 자체의 시작을 가져오는 프로그램

옛날 옛적에 기간은 "기록" 탭의 설정뿐만 아니라 정렬 순서에도 의존했습니다. 정렬은 변경할 수 없는 것으로 보이지만 기간은 종속된 상태로 남아 있는 것 같습니다. 즉, 설정에 2020년 12월 1일 - 2020년 4월 12일의 기록이 표시되면 OrdersHistoryTotal()은 이 기간 동안 의 주문 수만 반환합니다. 그리고 내 두뇌가 완전히 건조되지 않은 경우 닫힐 때까지 고려됩니다. 개장 시간은 계산되지 않습니다. 가정: 주문이 2020년 2월 12일에 시작되었고 마감되었습니다(지금까지는 날짜가 매우 좋지는 않지만 여전히). /2020.
 
Alexey Viktorov :
그리고 내 두뇌가 완전히 건조되지 않은 경우 닫힐 때까지 고려됩니다.

예, 닫기 또는 삭제만 가능

 
알렉세이 빅토로프 MakarFX 는 고려되는 날짜를 명확히 해 주셔서 감사합니다. 그러나 질문은 그것에 관한 것이 아니었습니다. "지난 달"이라는 기간이 선택되었다고 가정해 보겠습니다. 해당 날짜에 거래가 없더라도 이 (선택한) 기간의 시작 날짜를 프로그래밍 방식으로 가져오는 방법은 무엇입니까?
 
Andrey Sokolov :
알렉세이 빅토로프 MakarFX 는 고려되는 날짜를 명확히 해 주셔서 감사합니다. 그러나 질문은 그것에 관한 것이 아니었습니다. "지난 달"이라는 기간이 선택되었다고 가정해 보겠습니다. 해당 날짜에 거래가 없더라도 이 (선택한) 기간의 시작 날짜를 프로그래밍 방식으로 가져오는 방법은 무엇입니까?
안 돼요.
 
Andrey Sokolov :
알렉세이 빅토로프 MakarFX 는 고려되는 날짜를 명확히 해 주셔서 감사합니다. 그러나 질문은 그것에 관한 것이 아니었습니다. "지난 달"이라는 기간이 선택되었다고 가정해 보겠습니다. 해당 날짜에 거래가 없더라도 이 (선택한) 기간의 시작 날짜를 프로그래밍 방식으로 가져오는 방법은 무엇입니까?

기간에 대한 시작 날짜가 없으며 가장 빠른 날짜의 주문이 있습니다. 슬프게도, 솔직히 말해서, 역사에 명령이 없다면 그 기간에 대한 날짜도 없기 때문입니다. 사실, 모든 것.

 
Valeriy Yastremskiy :

기간에 대한 시작 날짜가 없으며 가장 빠른 날짜의 주문이 있습니다. 슬프게도, 솔직히 말해서, 역사에 명령이 없다면 그 기간에 대한 날짜도 없기 때문입니다. 사실, 모든 것.

이 설정은 "일일 트위스트"용이 아닙니다. 터미널을 한 번 설정하고 만지지 마십시오.

99.9%의 거래 시스템에서 3개월의 기록 기간은 완벽하게 작동할 것입니다. 아마도 TS를 제외하고는 한 달에 수만 건의 주문이 있습니다. 여기에서는 아마도 1개월의 기간이 될 것입니다. . 폭로하다

추신: 주문 내역 이 긴 기간 동안 성능 손실을 발견하지 못했습니다. 놀라움이 가능하다


ZYZY: MT 개발자들은 주문 기록을 "비틀기"할 수 있게 했습니다. 이 기회를주지 않았을 것입니다 - 다시 나쁜?

)))

 
Igor Makanu :

이 설정은 "일일 트위스트"용이 아닙니다. 터미널을 한 번 설정하고 만지지 마십시오.

99.9%의 거래 시스템에서 3개월의 기록 기간은 완벽하게 작동할 것입니다. 아마도 TS를 제외하고는 한 달에 수만 건의 주문이 있습니다. 여기에서는 아마도 1개월의 기간이 될 것입니다. . 폭로하다

추신: 주문 내역 이 긴 기간 동안 성능 손실을 발견하지 못했습니다. 놀라움이 가능하다


ZYZY: MT 개발자들은 주문 기록을 "비틀기"할 수 있게 했습니다. 이 기회를주지 않았을 것입니다 - 다시 나쁜?

)))

내 접근 방식은 더 비관적입니다. 이력과 같은 기본 데이터에 대한 분석은 이미 있어야 하고 찾아야 하기 때문에 수행할 수 없으며 효과적인 분석을 위해서는 자체 데이터 수집이 필요합니다.)))) 이력은 운영 관리 전용입니다.

 

WinAPI를 사용하여 양식에서 날짜 추출을 시도할 수 있습니다. 그리고 새로운 기간도 주문하십시오.

4명의 경우, 5명의 경우 어떻게 되는지 모르겠습니다.


여기서 나는 몇 년 전에 다음과 같은 일을 한 것을 발견했습니다.

 #import "user32.dll"
   int GetForegroundWindow();
   int PostMessageA( int hWnd, int msg, int wParam, int lParam);
#import

//загружает всю историю закрытых ордеров
bool DownloadOrderHistory()
   {
   int eHandle=GetForegroundWindow();
   if (eHandle<= 0 ) return ( false );
   return (PostMessageA(eHandle, 0x0111 , 0x8122 , 0 )== 1 );
   }
GetForegroundWindow는 대체하는 것이 좋습니다....