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

 

printf(), 이중, 과학적 형식. 소수점 이하 자릿수, 숫자 의 총 길이를 설정할 수 있습니다. 다음을 설정할 수 있습니다.

 double d= 12.3456789 ;
printf ( "d=%012.4E" ,d);

결과: d=001.2346E+01

학위 앞에 0을 추가할 수 있습니까? 다음과 같이 하려면: d=001.2346E+0001
 
sershi87 :
위에서 쓴 것처럼 업데이트 후 터미널 이 느려지기 시작하고 완전히 정지되었습니다. 업데이트 전에는 그런 문제가 없었고 모든 것이 완벽하게 작동했습니다. 데비안은 매우 안정적인 배포판이라는 것을 알고 있으며 전적으로 동의합니다. 그럼에도 불구하고 네이티브 버전에 대한 필요성이 무르익었고 이를 달성해야 한다고 생각합니다.

제동 및 정지는 히스토리 서버와의 잘못된 동기화로 인한 것으로 가정합니다.
즉, 예를 들어 터미널 창에 막대를 표시하는 설정이 100000인 경우 코드에서 예를 들어 3000개의 막대를 요청합니다.
그러나 동기화는 결함이 있고 서버에서 사용 가능한 모든 기록과 동기화를 시작하고 서버에서 모든 기록을 다운로드할 수 있습니다.
이 완전한 다운로드 기록 때문에 터미널은 서버의 사용 가능한 모든 기록을 다운로드할 때까지 중단됩니다.
이 펌핑을 기다리면 터미널이 멈추고 작동을 시작합니다.

 
Roman :

제동 및 정지는 히스토리 서버와의 잘못된 동기화로 인한 것으로 가정합니다.
즉, 예를 들어 터미널 창에 막대를 표시하는 설정이 100000인 경우 코드에서 예를 들어 3000개의 막대를 요청합니다.
그러나 동기화는 결함이 있고 서버에서 사용 가능한 모든 기록과 동기화를 시작하고 서버에서 모든 기록을 다운로드할 수 있습니다.
이 완전한 다운로드 기록 때문에 터미널은 서버의 사용 가능한 모든 기록을 다운로드할 때까지 중단됩니다.
이 펌핑을 기다리면 터미널이 멈추고 작동을 시작합니다.

브레이크는 유리를 열었을 때만 작동합니다. 유리를 닫으면 모든 것이 정상입니다. 하지만 그것 없이는 일할 수 없습니다.
 

MT5(빌드 2496)는 사용자 지정 공식에 따라 계산되는 사용자 지정 차트에서 매우 좋지 않습니다.
CPU를 영구적으로 로드합니다. 코어의 로드는 100%입니다.
영구적으로 디스크를 로드합니다. 3GB 이상의 데이터에서 디스크에 씁니다.
기본 창에 그리기 위한 버퍼가 있는 지표를 추가하는 경우 터미널을 끊습니다(예: 지표/추세/적응 이동 평균).


플레이 단계:
MetaQuotes-데모, 헤지 계정.
설정에서 차트당 최대 막대 수: 1000

사용자 지정 기호 만들기: Ctrl+U ==> 사용자 지정 기호 만들기:
- 기호 : NZDUSD_AUDUSD
- 공식 : NZDUSD-AUDUSD
- 음수 가격 허용: True

결과 - 시스템이 디스크에서 최대 3GB를 먹기 시작합니다.
사용자 지정 기호가 있는 차트를 열면 코어의 부하가 100% 미만으로 점프합니다.
지표(예: 지표/추세/적응 이동 평균)를 추가하고 TF를 전환하면 "데이터 창" 창이 경련하기 시작하고 터미널이 몇 초 안에 응답을 멈춥니다.


 
UPD. 또한 수만 개의 단조로운 항목이 로그에 기록됩니다.
QG       0        18 : 18 : 12.209     Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06 . 19 to 2020.06 . 19 ( 4294967295 M1 bars from 1970.01 . 01 00 : 00 to 2020.06 . 19 23 : 54 )
ML       0        18 : 18 : 12.209     Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
LF       0        18 : 18 : 12.212     Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06 . 19 23 : 54 updated
GO       0        18 : 18 : 12.212     Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06 . 19 to 2020.06 . 19 ( 4294967295 M1 bars from 1970.01 . 01 00 : 00 to 2020.06 . 19 23 : 54 )
CD       0        18 : 18 : 12.212     Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
QN       0        18 : 18 : 12.215     Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06 . 19 23 : 54 updated
FG       0        18 : 18 : 12.215     Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06 . 19 to 2020.06 . 19 ( 4294967295 M1 bars from 1970.01 . 01 00 : 00 to 2020.06 . 19 23 : 54 )
JL       0        18 : 18 : 12.215     Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
FF       0        18 : 18 : 12.218     Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06 . 19 23 : 54 updated
QO       0        18 : 18 : 12.218     Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06 . 19 to 2020.06 . 19 ( 4294967295 M1 bars from 1970.01 . 01 00 : 00 to 2020.06 . 19 23 : 54 )
MD       0        18 : 18 : 12.218     Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
LN       0        18 : 18 : 12.221     Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06 . 19 23 : 54 updated
GG       0        18 : 18 : 12.221     Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06 . 19 to 2020.06 . 19 ( 4294967295 M1 bars from 1970.01 . 01 00 : 00 to 2020.06 . 19 23 : 54 )
CL       0        18 : 18 : 12.221     Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
NF       0        18 : 18 : 12.223     Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06 . 19 23 : 54 updated
IO       0        18 : 18 : 12.223     Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06 . 19 to 2020.06 . 19 ( 4294967295 M1 bars from 1970.01 . 01 00 : 00 to 2020.06 . 19 23 : 54 )
ED       0        18 : 18 : 12.223     Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
RN       0        18 : 18 : 12.227     Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06 . 19 23 : 54 updated

총 로그 크기는 1GB로 조정됩니다.


UPD .. 모든 계산 후 터미널을 닫았다가 다시 열면 계산된 데이터의 모든 3-8GB가 성공적으로 삭제되고 계산이 다시 시작되며 더 적당한 공간(약 500MB)을 사용합니다.
터미널을 다시 시작한 후 사용자 지정 기호 가 있는 차트를 열면 어떤 이유로 인해 비어 있는 것으로 판명되고 M1에 막대가 3개뿐입니다(동작은 "음수 가격 허용" 플래그가 꺼진 것과 다소 비슷합니다).

 

그리고 개발자들이 이에 대응할 수 있도록 버그 보고서를 어디로 보내야 할까요?

일부 릴리스부터 정적 함수를 호출하는 템플릿 클래스의 컴파일이 손상되었습니다. 예시:

Bar 클래스는 이전에 64비트 및 32비트 MQL5로 컴파일되었습니다. 이제 오류가 발생합니다. build2485 2020년 6월 5일

 class Foo {
public :
     static void Start() {
         Print ("Hallo!");
    }
};

template < typename T>
class Bar {
public :
    Bar() {
        T::Start();
    }
};

class Foz {
public :
    Foz() {
    }

     void Start() {
         Print ("Hallo!");
    }
};

template < typename T>
class Baz {
public :
    Baz() {
        T t;
        t.Start();                                                                                                                                                                                          
    }
};

void OnStart () {
    Bar<Foo> var;
    Baz<Foz> vaz;
}

template_static_bug.mq5 : information: compiling 'template_static_bug.mq5'
template_static_bug.mq5( 12 , 12 ) : error 256 : 'Start' - undeclared identifier
Result: 1 errors, 0 warning
 
YanGillan :

그리고 개발자들이 이에 대응할 수 있도록 버그 보고서를 어디로 보내야 할까요?
일부 릴리스부터 정적 함수를 호출하는 템플릿 클래스의 컴파일이 손상되었습니다. 예시:
Bar 클래스는 이전에 64비트 및 32비트 MQL5로 컴파일되었습니다. 이제 오류가 발생합니다. build2485 2020년 6월 5일

당신은 어떤 형태로든 이 버그에 대해 불평하는 5번째 사용자가 될 것입니다...

 
Sergey Dzyublik :

당신은 어떤 형태로든 이 버그에 대해 불평하는 5번째 사용자가 될 것입니다...

예, 하지만 어떻게 해야 합니까? 기본 클래스를 통해 해결 방법에 대해 알고 있지만 이것은 ppc 목발입니다. 그리고 모든 코드를 패치하는 것은 이제 어떻게든 주제에서 벗어났습니다.

이전 빌드는 어디에서 다운로드할 수 있나요? 브로커에서도 못 찾았고, mt5 웹사이트에서도 못 찾았어요.

 
YanGillan :

예, 하지만 어떻게 해야 합니까? 기본 클래스를 통해 해결 방법에 대해 알고 있지만 이것은 ppc 목발입니다. 그리고 모든 코드를 패치하는 것은 이제 어떻게든 주제에서 벗어났습니다.

이전 빌드는 어디에서 다운로드할 수 있나요? 브로커에서도 못 찾았고, mt5 웹사이트에서도 못 찾았어요.

 
YanGillan :

기본 클래스를 통해 해결 방법에 대해 알고 있지만 이것은 ppc 목발입니다. 그리고 모든 코드를 패치하는 것은 이제 어떻게든 주제에서 벗어났습니다.

이 방법 또는 다른 방법을 말하는 것입니까?

 template < typename T>
class GetClassType{
public :
   class type : public T{}; 
};


class Foo {
public :
     static void Start() {
         Print ( "Hallo!" );
    }
};

template < typename T>
class Bar {
public :
    Bar() {
         GetClassType<T>::type ::Start();
    }
};

void OnStart () {
    Bar<Foo> var;
}