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

 
Alexandr Bryzgalov :
그렇게 생각


고마워.

개념에 대한 정보는 어디에서 읽을 수 있습니까? 설명서에 없는 단어

문자열 변수에만 해당됩니까?

코멘트에 사용할 수 있는 문자는 무엇입니까?

 
Stanislav Korotky :
나는 당신의 생각을 이해했습니다. 그러나 다음 질문은 - 시각적 테스트 창이 닫힐 때 OnDeinit가 예상대로 작동하지 않는 이유는 무엇입니까? 지표의 OnDeinit에 무엇이 있는지 디버그하는 방법은 수집된 실행 프로세스 정보의 처리와 관련이 있습니다(특히, 온라인 차트의 긴 과거 데이터에 대해 신속하게 수행할 수 없는 프로파일링)?

생각해 봅시다.

히스토리에 대해 프로파일링할 때 데이터 종료 직후 OnDeinit를 고통 없이 호출할 수 있습니다. 프로파일링할 때 일반적으로 지표 아티팩트가 필요하지 않습니다.

 
Slava :

생각해 봅시다.

히스토리에 대해 프로파일링할 때 데이터 종료 직후 OnDeinit를 고통 없이 호출할 수 있습니다. 프로파일링할 때 지표 아티팩트가 일반적으로 필요하지 않습니다.

SD에 신청서를 작성했습니다.
 
Stanislav Korotky :
SD에 신청서를 작성했습니다.
고맙습니다. 저는 이미 신청했습니다.
 
Slava :
고맙습니다. 저는 이미 신청했습니다.
SD에 쓰기 전에 여기 ;-)에 답이 있는지 확인했는데 그땐 답이 없었어요. 어쨌든 응용 프로그램의 제안 중 하나가 작동할 수 있습니다.
 
Alexandr Bryzgalov :

그들이 "자신의 게임"에서 말했듯이 - 그러한 주제는 없습니다. 고정됩니다


 
테스터에서 Expert Advisor가 선택됩니다. 컴파일 후 매번 테스터는 다른 Expert Advisor를 선택합니다. 실수야!
 

MT5에서 "홈" 키를 누르고 차트를 최대한 멀리 이동하면 그래픽 개체와 표시기가 아래로 이동합니다. 그림에서 이것은 지그재그에서 볼 수 있습니다.


 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

레나트 팻쿨린 , 2017.05.13 17:07

맞습니다. 아래에서 위로 줄 수 없고 위에서 아래로만 줄 수 있습니다. 이것은 안전을 위한 것입니다.

C ++와 비교하는 것은 불가능합니다. 무엇이든 거기에 가져올 수 있습니다.

왜 컴파일됩니까?
 class A {};

class B : public A
{
public :  
   int i;
};

void OnStart ()
{
  A* a = new B;
  
   ((B*)a).i = 1 ;
  
   dynamic_cast <B*>(a).i = 1 ;
  
   delete a;
}
 

일반적으로 세 가지 옵션이 있습니다.

1. 이것은 버그입니다.

2. 이 캐스트를 사용하면 원칙적으로 안전하지 않은 reinterpret_cast로 캐스트할 수 있습니다. 그렇다면 이 사용자 지정을 사용하면 나중에 액세스 예외가 발생할 위험이 있는 모든 포인터를 서로 캐스팅할 수 있습니다.

3. 이 캐스트를 사용하면 dynamic_cast로 캐스트할 수 있지만 동적 캐스트와 정적 캐스트를 구별하는 방법에 대한 질문이 발생 하고 프로그램 실행 중에 모든 캐스트가 만들어집니다.

사유: