오류, 버그, 질문 - 페이지 2612

 
Vladimir Simakov :
완전히 죽었습니까 아니면 잠시 후 EA가 언로드됩니까? 후자의 경우 사이클을 찾으십시오.

더 흥미로운. 디버그 모드에서는 중단되지 않습니다. 그리고 본격적인 - 단단히.

 
안녕 동료들! 안드로이드용 MT4 터미널이 히스토리에 표시되지만 일부 마감된 포지션 을 이익으로 계산하지 않는 이유를 아는 사람이 있습니까?

일종의 버그가 아닐까요?
 
fxsaber :

더 흥미로운. 디버그 모드에서는 중단되지 않습니다. 그리고 본격적인 - 단단히.

문제를 현지화했습니다.

 #include <WinAPI\WinAPI.mqh>

#define GA_ROOT           0x00000002

void OnDeinit ( const int )
{
   static const int ControlID[] = { 0xE81E , 0x804E , 0x2712 , 0x4196 };
  
   long Handle = user32::GetAncestor(:: ChartGetInteger ( 0 , CHART_WINDOW_HANDLE ), GA_ROOT);
                                                                                        
   for ( int i = 0 ; i < sizeof (ControlID) / sizeof ( int ); i++)                             
    Handle = user32::GetDlgItem(Handle, ControlID[i]);

   ushort Str[ 6 ];
  user32::GetWindowTextW(Handle, Str, sizeof (Str) / sizeof ( ushort )); // Freeze
}


차트에서 이 Expert Advisor를 시작한 다음 수동으로 제거합니다. 터미널이 끊길 것입니다.

다른 On-function에서 동일한 코드를 실행해도 hangup이 발생하지 않습니다.

 
갑자기 테스터 폴더에 존재하지 않았던 세 번째 에이전트(포트 3002)용 폴더가 나타났다. 나는 아무것도 변경하지 않았고 관리자가 시작하지 않았습니다. 다른 두 에이전트(일반)의 폴더에도 오늘의 새 파일이 있습니다. 왜 그럴 수 있습니까? 추가로 받을 수 있나요?
 
Stanislav Korotky :
추가로 받을 수 있나요?

캐시만 남기고 적어도 전체 Tester 폴더를 종료할 수 있습니다.

 

말해봐, 이것이 버그인지 아닌지?

 struct A { int i; };

struct B : public A { int j; };

void OnStart ()
{
  B b;
  
   DebugBreak ();
}

필드 i가 누락되었습니다.

 

터미널에 지속적인 문제가 있습니다.

1- 그리기 및 시간 프레임에 대한 패널을 켭니다. 우리는 그것들을 주 행과 한 행에 배치합니다.

2- 터미널을 화면 바닥에 대십시오.

3- 터미널을 전체 화면으로 확장하면 그리기 및 시간 프레임에 대한 패널이 "두 번째 줄"이 됩니다! 큰 화면 공간이 쓸모없는 공허함으로 가득 차 있다는 것이 밝혀졌습니다!

그리고 단말은 자신의 위치를 기억하고 복원해야 합니다.

또한 첫 번째를 가져 가면 2가 아니라 한 번에 드래그됩니다. 이는 예상 한 것입니다. 그러나 하나만 ... 즉, 차례로 다시 드래그합니다!

그리고 일반적으로 - 그들은 너무 건강하므로 모든 것을 반 / 세 배 줄여야합니다!

그리고 차트창의 테두리도 얇아서 하는게 좋아요! 이제 그들은 너무 콘도입니다. 그들은 모두 키피치에서 만들어졌습니다 ...

그냥 인체 공학, 일반적인 인상과 전반적인 편의성입니다!

우리나라에는 항상 인체 공학에 문제가 있습니다! 그녀는 끊임없이 무시됩니다. 외국 제품은 일반적으로 이러한 의미에서 승리합니다. 다른 제조업체의 터미널에 대해 말하는 것이 아니라 일반적으로 그렇습니다! 적어도 자동차 산업, 적어도 전자 제품을 가져 가야합니다 ... 적어도 ... 소련과 계획 경제 시대 이후로 너무 관례가되었습니다.

이 사건에서 마침내 이기면 좋을 텐데!

 
Михаил :

그리고 일반적으로 - 그들은 너무 건강하므로 모든 것을 반 / 세 배 줄여야합니다!

그리고 100% 비전이 없는 사람에 대해 생각할 필요가 없습니다 ??? 그들은 매립지로 갈 수 있습니까? 단추가 너무 커 보이지 않도록 안경을 쓰는 것이 더 쉬울지도?

 
Alexey Viktorov :

그리고 100% 비전이 없는 사람에 대해 생각할 필요가 없습니다 ??? 그들은 매립지로 갈 수 있습니까? 단추가 너무 커 보이지 않도록 안경을 쓰는 것이 더 쉬울지도?

조정이 필요합니다...시력이 다른 것은 분명합니다. 화면은 크든 작든 노트북이 될 수 있으니... 따라서 설정이 필요합니다! 그리고 터미널이 요소의 위치를 잊지 않도록 ...

사람들이 점차 모니터에서 TV로, 모니터가 아닌 TV로 바뀌고 있습니다... 매우 편리합니다. TV에서 큰 컨트롤 은 공간 낭비입니다. 그리고 노트북에는 더 많은 요소가 있는 것이 편리합니다. 우리는 선택할 수 있는 옵션이 필요합니다.

플랫폼은 더 이상 작지 않습니다. 너무 복잡하고 심각한 일들이 많이 행해졌습니다. 그리고 디자인이 많이 낡아서 오래도록 바뀌지 않았습니다...

 

GetMicrosecondCount()에 대한 질문

도움말은 - GetMicrosecondCount() 함수는 MQL5 프로그램 시작 이후 경과된 마이크로초 수를 반환합니다 .

닫기 - 열기 - 주문 수정 - 위치를 요청할 때 이 기능이 멈춘다는 것을 정확히 이해하고 있습니다.


확인 방법

20개 포지션 개설

수정 20개 위치

GetMicrosecondCount() 미터

20개 포지션 마감

GetMicrosecondCount() 미터


결과적으로 모든 위치는 70,000마이크로초 간격으로 닫힙니다. 모두 20개지만, 터미널에서 육안으로 보면 일부 포지션이 2~5초 동안 닫히기를 기다리는 과정에 있는 것을 볼 수 있습니다!