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

 
Dmitri Custurov :
솔루션을 제공해 주셔서 대단히 감사합니다. 모든 것이 작동합니다.
괜찮은. 그래서 CodeBase에 라이브러리와 사용 예를 배치합니다.
 
-Aleks- :
전체 어레이 파일을 메모리로 읽은 다음 작업하는 것이 훨씬 더 빠릅니다. 가속은 몇 배 더 빠릅니다.
최적화 프로그램에서 파일을 수만 번 열고 읽고 닫을 필요가 없다고 생각합니다.
 
Aliaksandr Yemialyanau :

어레이가 있는 파일을 어드바이저에 연결하는 방법은 무엇입니까?

먼저 스크립트는 배열을 작성합니다.

어드바이저에 다음 파일을 포함합니다.

컴파일할 때 오류:

'????????????????????????????????????...' - 식별자가 너무 깁니다. mas.dat 하나 하나

' ' - 알 수 없는 기호 mas.dat 하나 3015

배열 파일이란 무엇입니까? 어떤 형태인가요? 이러한 오류로 판단하면 바이트 스트림일 뿐입니다.
 

정적 변수 에 대한 심각한 버그. 다음 코드를 고려하십시오.

 class A  { public :
             int m;
            A() { Alert ( "A" );  m= 1 ; }
         };

class B  { public :
            B() { Alert ( "B" );   static A a;   Alert ( "a.m==" ,a.m);   Alert ( "&a==" ,&a);}
         };
B b;

void OnStart ()
{
};

실행되면 다음과 같은 경고 순서가 표시됩니다.


오전==0
&a==0

저것들. 정적 변수는 액세스할 때까지 아직 초기화되지 않았습니다. 포인터도 null입니다. 그녀의 유형은 뛰어 넘고 안전하게 이동했습니다.

그런 혼란이 없어야합니다. 변수를 초기화하고 계속 진행하거나 오류와 함께 컴파일을 중단합니다.

물론 여기서 초기화해야 합니다. 그러나 상호 참조 클래스에서 재귀가 형성되는 경우 컴파일을 중지해야 합니다.

 
Aliaksandr Yemialyanau :

어레이가 있는 파일을 어드바이저에 연결하는 방법은 무엇입니까?

먼저 스크립트는 배열을 작성합니다.

어드바이저에 다음 파일을 포함합니다.

컴파일할 때 오류:

'????????????????????????????????????...' - 식별자가 너무 깁니다. mas.dat 하나 하나

' ' - 알 수 없는 기호 mas.dat 하나 3015

스크립트는 데이터 바이트를 포함하는 uchar 유형의 배열을 포함하는 mas.mqh 파일을 생성해야 합니다. 예를 들어 파일 크기가 3바이트인 경우 mas.mqh 파일의 내용은 다음과 같아야 합니다.

 uchar mass[ 3 ] = { 25 , 127 , 89 };

생성된 대량 배열은 프로그램에서 사용해야 하는 것입니다.

 
Aliaksandr Yemialyanau :
최적화 프로그램에서 파일을 수만 번 열고 읽고 닫을 필요가 없다고 생각합니다.
아, 배열로 컴파일 하시겠습니까?
 
디스크에서 파일을 수만 번 읽어야 하는 경우는 거의 없습니다. 이것이 바로 디스크 캐시의 용도입니다. 물론 이런 특별한 경우에 쓰이는지는 모르겠지만 목발을 발명하기 전에 확인하고 측정해야 합니다.
 
MT5에서 단일 실행을 중단하면 균형 변경 그래프만 표시됩니다. 단, 거래 및 주문은 불가능합니다.
추가 제동 가능성으로 인해 시각화 모드를 사용하는 것이 항상 적합한 것은 아닙니다. MQLInfoInteger(MQL_VISUAL_MODE)에 의한 계산.
MT4에서와 같이 백테스트(시각화 없이) 동안 모든 정보의 가용성을 추가할 수 있습니까?
 
기록 데이터의 디버깅 모드 에서 MQLInfoInteger(MQL_VISUAL_MODE)는 항상 true를 반환합니다.
 
fxsaber :
기록 데이터의 디버깅 모드 에서 MQLInfoInteger(MQL_VISUAL_MODE)는 항상 true를 반환합니다.
무엇을 반환해야 합니까?