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

 
컴퓨터를 끄고 다음 날 MT4로 가면 레벨이 저장되지 않는 이유는 무엇입니까?
 

개발자 여러분, 안녕하세요.

일반 용량의 CArrayList 가 잘못 사용되었습니다. 이것이 예약 크기인 경우 다음과 같이 생성자에서 호출해야 합니다.

 ArrayResize (m_items, 0 ,m_default_capacity);

이제 다음과 같습니다.

 ArrayResize (m_items,m_default_capacity);

자신을 강조하고 고려하려면 위치를 지정하고 bsearch 등을 포함한 모든 곳에서 사용하세요.


추신. 코드를 연구하는 과정에서 결국 m_size를 전달하고 있음을 발견했습니다. 빈 배열에서 BinarySearch는 -1이 아닌 0을 반환합니다.

ArrayResize 수준에 용량이 있다면 왜 스스로 용량을 구성해야 합니까?

추신 LowerBound를 만들 계획이 있습니까?
 

일반적으로 CArrayList 에는 3가지 주요 사항이 있습니다.

1. 이미 ArrayResize에 있으므로 추가 용량 구현을 제거하는 것을 고려하십시오.

2. 빈 배열에 대한 BinarySearch를 수정합니다. 기본 배열에 4개의 요소가 있고 0번째 인덱스가 먼저 전달되고 크기도 0으로 반환됩니다.

3. LowerBound를 추가하는 것이 좋습니다. 아무도 전에 묻지 않은 것이 이상하다

 
Yevhenii8370 :
컴퓨터를 끄고 다음날 MT4로 가면 레벨이 저장되지 않는 이유는 무엇입니까?

두 가지 옵션이 있습니다. 초기화 중에 모든 레벨을 지우는 표시기/어드바이저가 있거나 세트에 저장할 시간이 없습니다. 두 가지 문제에 모두 직면한 첫 번째는 코드를 편집하여 처리하고 두 번째 는 터미널을 시작할 때 세트를 두 번 저장하고 저장된 버전을 로드하여 처리됩니다.

 
Sergey Dzyublik :

MT5(빌드 2118), typedef 기능의 버그 수정을 얼마나 기다려야 합니까?
일종의 넌센스 - typedef 를 사용하는 원시적인 예에서 왼쪽으로 한 단계 더 나아가 개발을 방해하는 많은 버그 입니다.

코드 주셔서 감사합니다.

버그가 수정되었습니다.

오늘 출시된 MT4 데모 빌드 1192, MT4와 함께 제공되는 MetaEditor 2121을 사용하여 MQ5 파일을 컴파일해 보세요.

[삭제]  

지표를 철거해도 차트에 남아 있습니다(첨부).

제거하는 방법? spsb

개체 목록에서 검색 - 찾지 못했습니다. 모든 지표와 고문을 철거했습니다. 도움이되지 않았습니다.

파일:
 
barashka :

지표를 철거해도 차트에 남아 있습니다(첨부).

제거하는 방법? spsb

개체 목록에서 검색 - 찾지 못했습니다. 모든 지표와 고문을 철거했습니다. 도움이되지 않았습니다.

개체 목록에는 숨겨진 개체 표시 버튼이 있습니다. 그곳에서 삭제...

[삭제]  
Vladimir Pastushak :

개체 목록에는 숨겨진 개체 표시 버튼이 있습니다. 그곳에서 삭제...

:)
 
Sergey Dzyublik :

https://www.mql5.com/ru/docs/basis/types/classes

처음에는 offsetof의 존재를 몰랐기 때문에 놀랐습니다.
그러나 현실은 모든 것을 제자리에 두었습니다.

 struct Parent{ 
       char               c;     // sizeof(char)=1 
};
     
struct Children pack( 2 ) : Parent{ 
       short              s;   // sizeof(short)=2 
};

void OnStart (){ 
//--- объявим переменную типа Children 
   Children child;   
//--- узнаем смещения от начала структуры  
   Print ( "offsetof(child.c)=" ,offsetof(child.c)); 
   Print ( "offsetof(child.s)=" ,offsetof(child.s));
}   



'offsetof' - 정의되지 않은 함수

메시지 주셔서 감사합니다.

복사-붙여넣기 오류 도움말에서 다음을 수정하십시오.

변수 이름 대신 child는 클래스 Children의 유형이어야 하고 '.' (필드 액세스)는 쉼표여야 합니다( offsetof는 (조건부) 인라인 매크로임)

 struct Parent{ 
       char               c;     // sizeof(char)=1 
};
     
struct Children pack( 2 ) : Parent{ 
       short              s;   // sizeof(short)=2 
};

void OnStart (){ 
//--- узнаем смещения от начала структуры  
   Print ( "offsetof( Children,c)=" ,offsetof(Children,c); 
   Print ( "offsetof( Children,s)=" ,offsetof(Children,s));
}   

 

.NET에 문제가 있습니다. 라이브러리가 다른 사용자 정의 모듈에 액세스하면 프로그램이 충돌하여 파일을 찾을 수 없다고 보고합니다.

System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.TypeInitializationException: Инициализатор типа "MDD.IQFeedAPI" выдал исключение. ---> System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "NLog, Version=2.1.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c" либо одну из их зависимостей. Не удается найти указанный файл.

사용된 모든 dll(언급된 NLog.dll 포함)은 동일한 폴더에 있습니다. 그러나 어떤 이유에서인지 시스템은 MT에서 시작할 때 그것들을 보지 못합니다. 일반적으로 일반 프레임워크에서만 작동합니다. 이것은 모든 사람에게 해당됩니까, 아니면 내가 뭔가를 놓치고 있습니까? 누구든지 문제를 해결하는 방법을 알고 있다면 감사하겠습니다.