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

 

게시물을 반복하지 않도록. https://www.mql5.com/en/forum/2547/page1#comment_45265 를 참조하십시오.

내가 거기에서 무엇을 잘못하고 있습니까? 모든 것이 기사에있는 것 같습니다. 이러한 표준 클래스를 사용하는 방법을 배우고 싶습니다. 하지만 나는 뭔가 잘못하고 있습니다 :(

Обсуждение статьи "Как использовать торговые классы Стандартной библиотеки при написании советника"
Обсуждение статьи "Как использовать торговые классы Стандартной библиотеки при написании советника"
  • www.mql5.com
Обсуждение статьи "Как использовать торговые классы Стандартной библиотеки при написании советника".
 
Trolls :

게시물을 반복하지 않도록. https://www.mql5.com/en/forum/2547/page1#comment_45265 를 참조하십시오.

내가 거기에서 무엇을 잘못하고 있습니까? 모든 것이 기사에있는 것 같습니다. 이러한 표준 클래스를 사용하는 방법을 배우고 싶습니다. 하지만 나는 뭔가 잘못하고 있습니다 :(

거기에 대답했다.
 

기능 오류

string   DoubleToString (
    double    value ,       // число
    int       digits=8      // кол-во знаков после запятой
   );

숫자 >= 12

void testDoubleToString()
  {
   int i,j,cn=11,digits=DBL_DIG+1;
   double dblVal,dblValFromStr,pres=0.1;
   string dblStr;
   Print("Start testDoubleToString cn=",cn," digits=",digits);
   for(i=1; i<=digits; i++)
     {
      for(j=2; j<cn; j++)
        {
         dblVal = 1.0/j;
         dblStr = DoubleToString(1.0/j, i);
         dblValFromStr=StringToDouble(dblStr);
         if(MathAbs(dblValFromStr-dblVal)>pres)
           {
            Print("ERROR from function DoubleToString digits: ",i," value: 1/",j," dblVal: ",
               dblVal," strVal: ",dblStr," dblValFromStr: ",dblValFromStr);
           }
        }
      pres*=0.1;
     }
  }
//---
void OnStart(){testDoubleToString();}
//---

나에게 준다

DoubleToString 숫자 함수 오류: 14 값: 1/10 dblVal: 0.1 strVal: 1.00000000000000 dblValFromStr: 1
dblVal: 0.1111111111111111 strVal: 1.111111111111111 dblValFromStr: 1.11111111111111
DoubleToString 숫자 함수 오류: 14 값: 1/8 dblVal: 0.125 strVal: 1.25000000000000 dblValFromStr: 1.25
dblVal: 0.1428571428571429 strVal: 1.42857142857143 dblValFromStr: 1.42857142857143
dblVal: 0.1666666666666667 strVal: 1.666666666666667 dblValFromStr: 1.6666666666666667
DoubleToString 숫자 함수 오류: 14 값: 1/5 dblVal: 0.2 strVal: 2.00000000000000 dblValFromStr: 2
DoubleToString 숫자 함수의 오류: 14 값: 1/4 dblVal: 0.25 strVal: 2.50000000000000 dblValFromStr: 2.5
dblVal: 0.3333333333333333 strVal: 3.33333333333333 dblValFromStr: 3.33333333333333
DoubleToString 숫자 함수 오류: 14 값: 1/2 dblVal: 0.5 strVal: 5.00000000000000 dblValFromStr: 5
DoubleToString 함수의 오류 숫자: 13 값: 1/10 dblVal: 0.1 strVal: 1.0000000000000 dblValFromStr: 1
DoubleToString 숫자 함수 오류: 13 값: 1/9 dblVal: 0.111111111111111 strVal: 1.1111111111111 dblValFromStr: 1.11111111111111
DoubleToString 숫자 함수 오류: 13 값: 1/8 dblVal: 0.125 strVal: 1.2500000000000 dblValFromStr: 1.25
dblVal: 0.1428571428571429 strVal: 1.4285714285714 dblValFromStr: 1.4285714285714
DoubleToString 숫자 함수 오류: 13 값: 1/6 dblVal: 0.1666666666666667 strVal: 1.6666666666667
DoubleToString 숫자 함수 오류: 13 값: 1/5 dblVal: 0.2 strVal: 2.0000000000000 dblValFromStr: 2
DoubleToString 숫자 함수 오류: 13 값: 1/4 dblVal: 0.25 strVal: 2.5000000000000 dblValFromStr: 2.5
dblVal: 0.3333333333333333 strVal: 3.3333333333333 dblValFromStr: 3.3333333333333
DoubleToString 숫자 함수 오류: 13 값: 1/2 dblVal: 0.5 strVal: 5.0000000000000 dblValFromStr: 5
DoubleToString 숫자 함수 오류: 12 값: 1/10 dblVal: 0.1 strVal: 1.000000000000 dblValFromStr: 1
DoubleToString 숫자 함수 오류: 12 값: 1/9 dblVal: 0.111111111111111 strVal: 1.1111111111111 dblValFromStr: 1.1111111111111
DoubleToString 숫자 함수 오류: 12 값: 1/8 dblVal: 0.125 strVal: 1.250000000000 dblValFromStr: 1.25
DoubleToString 함수의 오류: 12 값: 1/7 dblVal: 0.1428571428571429 strVal: 1.428571428571 dblValFromStr: 1.428571428571
DoubleToString 숫자 함수 오류: 12 값: 1/6 dblVal: 0.16666666666666667
DoubleToString 숫자 함수 오류: 12 값: 1/5 dblVal: 0.2 strVal: 2.000000000000 dblValFromStr: 2
DoubleToString 숫자 함수 오류: 12 값: 1/4 dblVal: 0.25 strVal: 2.500000000000 dblValFromStr: 2.5
dblVal: 0.3333333333333333 strVal: 3.333333333333 dblValFromStr: 3.333333333333
DoubleToString 함수의 오류 숫자: 12 값: 1/2 dblVal: 0.5 strVal: 5.000000000000 dblValFromStr: 5


운영 체제: WIN7

빌드: 387

 
BZSP :

기능 오류

string   DoubleToString (
    double    value ,       // число
    int       digits=8      // кол-во знаков после запятой
   );

숫자 >= 12

감사합니다. 살펴보겠습니다.
 

차트 하위 창의 높이를 설정하는 방법은 무엇입니까? 기능이라면? 아니면 그냥 템플릿?

 
dentraf :

차트 하위 창의 높이를 설정하는 방법은 무엇입니까? 기능이라면? 아니면 그냥 템플릿?

모든 기능은 도움말에 설명되어 있습니다.

템플릿으로 하세요.

 
В классе CArray #include <Arrays\Array.mqh> 
забыли прописать виртуальные методы Reserve()и Resize() 
 

농담입니다. 기본적으로 STRATEGY TESTER 를 시작할 때

우선 순위가 낮으므로 매번 수동으로 중간으로 변경해야 합니다.


아마도 그래야 하지 않을까요?

 

alexluek :

아마도 그래야 하지 않을까요?

예, 이는 특히 최적화 모드 에서 여러 로컬 에이전트를 실행하기 위해 수행됩니다.

사실 테스터는 프로세서를 매우 집중적으로 사용하고 시스템의 모든 코어를 100% 쉽게 사용합니다. 우선 순위를 "중간"으로 두면 실제로 CPU가 100% 로드되고 터미널에도 충분한 리소스가 없습니다. 싱글 코어 프로세서의 경우 상황이 특히 나쁩니다.

이것이 최적화 모드의 에이전트에 대한 기본값이 낮은 우선 순위로 다른 프로그램이 작동할 수 있도록 하는 이유입니다. 컴퓨터가 다른 작업으로 바쁘지 않은 경우 우선 순위가 낮더라도 에이전트는 모든 프로세서 리소스를 받습니다(CPU 우선 순위를 낮추는 것이 리소스의 직접적인 감소를 의미하지는 않음).

대부분의 경우 우선 순위를 "낮음"에서 "평균 미만"으로 변경할 것입니다. 이는 로컬 에이전트가 최적화 모드에서 완전히 로드될 때 OS 응답성을 유지하기에 충분할 것입니다.

단일 에이전트를 실행하고 코어가 두 개 이상인 경우 해당 에이전트는 "중간" 우선 순위로 시작한다는 점에 유의하는 것이 중요합니다. 추가 코어가 있는 단일 에이전트는 전체 시스템의 작동에 그렇게 많은 영향을 미칠 수 없습니다.


ps: 스크린샷을 보세요. 우선 순위가 낮더라도 CPU 사용량은 95%입니다.

 
Renat :

예, 이것은 특히 최적화 모드에서 여러 로컬 에이전트를 실행하기 위해 수행됩니다.

....

ps: 스크린샷을 보세요. 우선 순위가 낮더라도 CPU 사용량은 95%입니다.


참고합시다. 감사해요