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

 

따라서 이 테스트는 다음 지표를 제공합니다.

 2012.02 . 27 18 : 32 : 35      ChartRedraw () Count= 1000 CountObj= 100000 CountObjRedrawt= 1000 time= 36672 mk.c.
2012.02 . 27 18 : 25 : 50      ChartRedraw () Count= 1000 CountObj= 100000 CountObjRedrawt= 1000 time= 37938 mk.c.
2012.02 . 27 18 : 24 : 29      ChartRedraw () Count= 1000 CountObj= 100000 CountObjRedrawt= 1000 time= 37530 mk.c.

좋아, 이것으로 충분합니다. 계속하고 싶다면 분기를 만들어야합니다. 그렇지 않으면 오류와 질문의 분기를 버릴 것입니다.

 
2012.02.27 22:37:03 터미널 CPU: AuthenticAMD AMD Athlon(tm) 64 X2 듀얼 코어 프로세서 3800+(OpenCL 1.1 포함)(2개 장치, 2009MHz, 2047Mb, 버전 2.0)
2012.02.27 22:37:03 터미널 GPU: NVIDIA Corporation GeForce 8500 GT with OpenCL 1.0(2개 장치, 918MHz, 256Mb, 버전 285.62)

2012.02.27 22:42:26 Test 2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time= 19920 mk.c.

가능한 한 많은 개체에 맞도록 차트를 세로로 조정할 때의 결과는 다음과 같습니다.

2012.02.27 22:45:39 Test 2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time= 29016 mk.c.

그리고 심지어 다음과 같이 :

2012.02.27 22:48:31 Test 2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time= 57798 mk.c.


따라서 테스트는 사용자의 컴퓨터가 하드웨어에서 동일하더라도 모든 사람에게 다른 결과를 표시합니다.

 
Urain :

그리고 먼저 ChartRedraw 없이 전체 다시 그리기 세트를 측정한 다음 이를 사용하여 공제하면 이것이 맞습니까?

아니오, 정확하지 않습니다.

불행히도 많은 최적화 트릭이 있는 비동기 대기열의 지연을 계산하는 것은 불가능합니다. 다른 방법을 사용하십시오. 왜 개체를 수정하려고 합니까?

 
Renat :

아니오, 정확하지 않습니다.

불행히도 많은 최적화 트릭이 있는 비동기 대기열의 지연을 계산하는 것은 불가능합니다. 다른 방법을 사용하십시오. 왜 개체를 수정하려고 합니까?

개체를 변경하지 않고 차트를 다시 그리는 것은 실처럼 될 수 있고, 원하지 않으면 차트를 다시 그려야 한다고 생각했습니다.
 

Renat :

다른 방법을 사용하십시오. 왜 개체를 수정하려고 합니까?

자, 다음으로 넘어가겠습니다.

 #property script_show_inputs
//--- input parameters
input uint       Count= 1000 ;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   uint st= GetTickCount ();
   for ( int i= 1 ;i<=Count;i++)
     {
       ChartNavigate ( ChartID (), CHART_END ,-i);
//      ChartRedraw();  
     }
     Print ( "Total time for " ,Count, " cicles = " , GetTickCount ()-st, " ms" );  
  }
//+------------------------------------------------------------------+

하지만 당신이 그것을 좋아하지 않을까봐. 예를 들어 차트가 흔들리고 두 배로 늘어나는 것을 좋아하지 않습니다. 그리고 나는 최선을 원했습니다 - 원활하게 올바른 장소로 이동하기 위해 ..

// 흥미롭게도 ChartRedraw() 를 사용하면 사용하지 않을 때보다 두 배 빠르게 작동합니다. 더 떨립니다.

 
성공 여부를 확인하는 것도 도움이 되지 않았습니다.
 void OnStart ()
  {
   uint st= GetTickCount ();
   for ( int i= 1 ;i<=Count;i++)
     {
       do while (! ChartNavigate ( 0 , CHART_END ,-i));
//      ChartRedraw();  
     }
     Print ( "Total time for " ,Count, " cicles = " , GetTickCount ()-st, " ms" );  
  }

그리고 슬립 만 원하는 디스플레이에 더 가깝게 가져 왔습니다.

 void OnStart ()
  {
   uint st= GetTickCount ();
   for ( int i= 1 ;i<=Count;i++)
     {
       do while (! ChartNavigate ( 0 , CHART_END ,-i));
       Sleep ( 1 );
//      ChartRedraw();  
     }
     Print ( "Total time for " ,Count, " cicles = " , GetTickCount ()-st, " ms" );  
  }

그런데 스트레스 테스트의 의미를 잃어버렸습니다..

 

빌드 597

새 하드 드라이브를 설치한 후 mt5 터미널이 사용자 이름과 암호 저장을 중지했습니다. 이제 시작할 때마다 다시 묻습니다. "시작할 때 개인 설정 및 데이터 저장" 확인란이 선택됩니다.

이 문제를 해결하는 방법을 알려주세요.

 

행정부의 질문: 4인 포럼에 또 다른 문제가 있습니까, 아니면 제가 너무 말을 많이 했습니까?

 
tara :

행정부의 질문: 4인 포럼에 또 다른 문제가 있습니까, 아니면 제가 너무 말을 많이 했습니까?

작은 업그레이드였으며 모든 것이 이미 작동하고 있습니다.
 

감사해요