MT5에 대한 소원 - 페이지 113

 

MQL에는 주어진 기호/시간 프레임에 대해 변경된 막대 수를 반환하는 함수가 부족합니다. 매번 전체 이력을 확인하고 이전에 얻은 기록과 비교하여 변경 사항을 찾아야 합니다. 이것은 매우 비합리적입니다. 배열에 전체 기록을 저장하는 데 메모리 낭비와 바로 이 기록을 얻고 비교하는 데 드는 비용이 필요합니다. 특히 과거 이력이 주기적으로 메모리에서 삭제된 다음 디스크에서 로드해야 하는 MT5에서. 글쎄, 나는 일반적으로 코드의 복잡성에 대해 침묵합니다. 역사가 변경되었는지 여부를 확실히 알고 있는 Metatrader에게 묻는 것 대신에 어리석은 일들이 너무 많습니다.

표시기에는 유사한 메커니즘(prev_calculated 매개변수)이 있지만 표시기가 실행되는 기호 및 기간에만 해당합니다. 그리고 다른 기호가 계산에 참여할 수 있습니다. 따라서 모든 기호에 대해 업데이트된 막대의 수(또는 업데이트된 막대가 시작되는 시간)를 반환하는 함수가 필요합니다.

 
개발자 여러분, MetaEditor에서 일반 구문 강조 를 수행할 계획입니까? 저것들. 유형/클래스는 한 색상에, 변수는 다른 색상에, 함수는 세 번째 색상, 매크로는 네 번째 색상 등입니다. 일반적으로 일반 IDE에서와 같습니다. 그렇지 않으면 일반 MQL 도구만 강조 표시됩니다. 결과적으로 OOP를 적극적으로 사용하면 모든 코드가 검은색 텍스트로 바뀝니다(연산자를 계산하지 않음). 클래스 이름이 어디에 있는지, 객체가 어디에 있는지, 함수가 어디에 있는지 즉시 구별할 수 없습니다. 읽기가 매우 어렵습니다. 종종 나는 코드의 시각화를 위해 (검은 덩어리처럼 보이지 않도록) 일반 프리미티브를 사용하는 것이 더 즐겁다고 생각합니다. 그러면 안됩니다.
 
meat :
개발자 여러분, MetaEditor에서 일반 구문 강조 를 수행할 계획입니까? 저것들. 유형/클래스는 한 색상에, 변수는 다른 색상에, 함수는 세 번째 색상, 매크로는 네 번째 색상 등입니다. 일반적으로 일반 IDE에서와 같습니다. 그렇지 않으면 일반 MQL 도구만 강조 표시됩니다. 결과적으로 OOP를 적극적으로 사용하면 모든 코드가 검은색 텍스트로 바뀝니다(연산자를 계산하지 않음). 클래스 이름이 어디에 있는지, 객체가 어디에 있는지, 함수가 어디에 있는지 즉시 구별할 수 없습니다. 읽기가 매우 어렵습니다. 종종 나는 코드의 시각화를 위해 (검은 덩어리처럼 보이지 않도록) 표준 프리미티브를 사용하는 것이 더 즐겁다고 생각합니다. 그러면 안됩니다.
다른 컴파일러에서 열기!!!
 

안타깝게도 개발자 중 누구도 이 스레드에 응답하지 않습니다. 흥미롭게도 그들은 여기를 봅니다 ... 서비스 데스크에서도 모든 제안은 일반적으로 답변되지 않은 상태로 유지됩니다(버그에만 답변함). 안좋다.

하지만 계속하자.

때때로 나는 실행 중인 Expert Advisor/indicator를 명확하게 식별하는 것이 불가능한 문제에 직면합니다. 예를 들어, 작업 과정의 어드바이저는 이 어드바이저를 위해 특별히 의도된 특정 파일(또는 전역 변수 )을 생성하고 사용합니다(더 정확하게는 이 경우). 그리고 다른 EA는 이 파일/전역 변수를 사용해서는 안 됩니다. 자체 변수가 있습니다. 그렇다면 EA는 터미널을 다시 시작한 후 또는 매개변수를 다시 초기화한 후 파일/변수를 어떻게 찾을 수 있습니까?

파일의 제목이 어드바이저/기호/시간 프레임인 경우 동일한 차트에 있는 이 어드바이저의 다른 인스턴스가 이 파일을 엽니다. 그러나 창 핸들을 사용하는 경우 재부팅 후 핸들은 더 이상 유효하지 않습니다.

간단히 말해서, 어드바이저/지시자의 고유한 ID 번호가 필요하며 재부팅 시 변경되지 않습니다. 이러한 ID는 예를 들어 Expert Advisor가 차트에 첨부된 시간일 수 있습니다. 이 매개변수를 MQLInfoInteger에 추가하는 것이 좋습니다.

 

MetaEditor'에서 한 단계 뒤로 돌아갈 수 있기를 바랍니다.

즉, "Function_A" 함수에서 "Function_B" 함수에 대한 호출이 있습니다 .

 bool Function_A( void )
  {
   Function_B()
   return ( true );
  }

" Function_B "라는 텍스트를 클릭하거나 중간 버튼을 클릭 하거나 Alt+G 를 클릭하면 Function_B 기능으로의 전환이 수행됩니다. 코드를 검토한 후 호출 위치로 돌아가서 Function_A 함수로 돌아가야 합니다. 하지만 그런 기능은 없습니다. 그리고 원합니다.

 
Karputov Vladimir :

MetaEditor'에서 한 단계 뒤로 돌아갈 수 있기를 바랍니다.

즉, "Function_A" 함수에서 "Function_B" 함수에 대한 호출이 있습니다 .

" Function_B "라는 텍스트를 클릭하거나 중간 버튼을 클릭 하거나 Alt+G 를 클릭하면 Function_B 기능으로의 전환이 수행됩니다. 코드를 검토한 후 호출 위치로 돌아가서 Function_A 함수로 돌아가야 합니다. 하지만 그런 기능은 없습니다. 그리고 원합니다.

예, 편리할 것입니다. 서비스 데스크에도 씁니다.

정의에 빠르게 액세스할 수 있습니다( Alt+G ). 정의에서 다시 빠른 전환이 필요합니다.

 
Karputov Vladimir :

MetaEditor'에서 한 단계 뒤로 돌아갈 수 있기를 바랍니다.

즉, "Function_A" 함수에서 "Function_B" 함수에 대한 호출이 있습니다 .

" Function_B "라는 텍스트를 클릭하거나 중간 버튼을 클릭 하거나 Alt+G 를 클릭하면 Function_B 기능으로의 전환이 수행됩니다. 코드를 검토한 후 호출 위치로 돌아가서 Function_A 함수로 돌아가야 합니다. 하지만 그런 기능은 없습니다. 그리고 원합니다.

앞으로 이동 Ctrl+-, 뒤로 이동 Ctrl+Shift+-
 
Vitalie Postolache :
앞으로 이동 Ctrl+-, 뒤로 이동 Ctrl+Shift+-
사실이 아니다. 작동하지 않습니다.
 
Karputov Vladimir :
사실이 아니다. 작동하지 않습니다.

이상하게도, 그것은 나를 위해 작동합니다. 함수 호출 Alt+G를 클릭 하고 함수 정의 로 점프한 다음 Ctrl+-를 누르고 뒤로 점프했습니다.

위의 조합을 혼합했는데 반대입니다. 앞으로 Ctrl+Shift+ - , 뒤로 Ctrl+ - , 죄송합니다.

 
Karputov Vladimir :
사실이 아니다. 작동하지 않습니다.
시험을 마친. 나를 위해 작동합니다. )