전략 테스터에 대한 나의 불만. MQL 개발자에게 - 페이지 7

 

(계속)

내가 편집 한 분석적 이해의 간단한 프로그램은 시장이 매도와 매수에 큰 영향을 미친다는 것을 보여주었습니다.


표시가 이미 포럼 인용에서 그 자리를 찾았습니까?

히트입니다... :-)

로봇의 성능을 확인하기 위해서는 PS/테스터가 필요합니다. 매개변수가 안정적인지 확인하는 옵티마이저. 모두. 테스터는 전략을 세우지 않고 옵티마이저는 시장을 추측하지 않습니다.

 

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

전략 테스터에 대한 나의 불만. MQL 개발자에게

레나트 팻쿨린 , 2017.12.02 15:23

그리고 약한 압축 모드에서 zip이 압축되는 방식을 비교합니다. 아마도 BMP 파일이 그런 것일 수 있습니다.

리소스 압축이 작동합니다.

일반적으로 직접적인 반박의 배경에 대해 증거 없이 그러한 것을 진술하는 것은 심각하지 않다.

이 코드를 가져오세요. 나는 EX5 - 1 717 722 바이트를 가지고 있습니다. 가장 약한 모드의 ZIP - 1 177 567 바이트.

Demo_BitmapOffset (OBJPROP_XOFFSET и OBJPROP_YOFFSET)
Demo_BitmapOffset (OBJPROP_XOFFSET и OBJPROP_YOFFSET)
  • 투표: 19
  • 2011.03.25
  • MetaQuotes Software Corp.
  • www.mql5.com
С появлением двух новых свойств стало возможным загружать одно изображение с набором из нескольких картинок. Такая технология давно используется в web-дизайне и получила название Спрайт: Важно: для использования свойств OBJPROP_XOFFSET и OBJPROP_YOFFSET обязательно указывайте размер области видимости с помощью свойств OBJPROP_XSIZE и...
 
fxsaber :

이 코드를 가져오세요. 나는 EX5 - 1 717 722 바이트를 가지고 있습니다. 가장 약한 모드의 ZIP - 1 177 567바이트.

맞습니다. 이러한 특정 파일은 압축이 잘 되지 않고 EX 파일의 크기가 적당합니다.

물론 EX 내에서는 리소스가 압축되어 있습니다.

 
Renat Fatkhullin :

맞습니다. 이러한 특정 파일은 압축이 잘 되지 않고 EX 파일의 크기가 적당합니다.

물론 EX 내에서는 리소스가 압축되어 있습니다.

아니 불행히도.

 void OnStart ()
{
   uchar Data[];
   uchar Key[ 1 ];
   uchar Result[];
  
   FileLoad ( "thousands_rubies_galaxy.bmp" , Data);  
   Print ( CryptEncode ( CRYPT_ARCH_ZIP , Data, Key, Result));
  
   ArrayFree (Data);
  
   FileLoad ( "space_wind.wav" , Data);  
   Print ( CryptEncode ( CRYPT_ARCH_ZIP , Data, Key, Result));  
}


결과

 826534
306648


ZIP은 EX5보다 훨씬 더 잘 압축됩니다.

 

리소스는 zip이 아닌 가장 빠른 lzss 알고리즘을 사용하여 압축됩니다.

우리는 지퍼를 누르고 오랫동안 포장을 풀기 위해 아주 오랫동안 자살하지 않았습니다.

 
Renat Fatkhullin :

리소스는 zip이 아닌 가장 빠른 lzss 알고리즘을 사용하여 압축됩니다.

우리는 지퍼를 누르고 오랫동안 포장을 풀기 위해 아주 오랫동안 자살하지 않았습니다.

 #define BENCH(A)                                                              \
{                                                                             \
   const ulong StartTime = GetMicrosecondCount ();                              \
  A;                                                                          \
   Print ( "Time[" + #A + "] = " + ( string )( GetMicrosecondCount () - StartTime)); \
} 

void OnStart ()
{
   uchar Data[];
   uchar Key[ 1 ];
   uchar Result[];
  
   FileLoad ( "thousands_rubies_galaxy.bmp" , Data);  
  BENCH( Print ( CryptEncode ( CRYPT_ARCH_ZIP , Data, Key, Result)))
  
   ArrayFree (Data);
  
   FileLoad ( "space_wind.wav" , Data);  
  BENCH( Print ( CryptEncode ( CRYPT_ARCH_ZIP , Data, Key, Result)))
}

결과

 826534
Time [ Print ( CryptEncode ( CRYPT_ARCH_ZIP ,Data,Key,Result))] = 53334
306648
Time [ Print ( CryptEncode ( CRYPT_ARCH_ZIP ,Data,Key,Result))] = 29029

80ms - 자살?

 
fxsaber :




결과

80ms - 자살?

셀러론에서 실행하십시오.

그런 다음 프로젝트 에 있는 더 큰 버전의 파일로 확장합니다.

 
Renat Fatkhullin :
셀러론을 위해 달리십시오.

물론, 우리는 상대적 시간에 대해 이야기하고 있습니다. 내 i7에서 KB의 소스 코드를 컴파일하면

'demo_bitmapoffset.mq5' demo_bitmapoffset.mq5   1       1
0 error(s), 0 warning(s), compile time: 232 msec                 1       1


내가 이것에 대해 논평할 때

 //#resource "\\Files\\thousands_rubies_galaxy.bmp";
//#resource "\\Files\\space_wind.wav";


그런 다음 30ms의 감소를 얻습니다.

'demo_bitmapoffset.mq5' demo_bitmapoffset.mq5   1       1
0 error(s), 0 warning(s), compile time: 202 msec                 1       1


전체적으로 순수 ZIP(80ms)로 전환하는 데 282ms가 걸립니다. 저것들. 감속은 21.5%가 될 것입니다. 그리고 이것은 가장 간단한 소스를 위한 것입니다.

몇 초 만에 컴파일되는 소스를 사용하면 약 1%의 속도 저하가 발생합니다. 이 시나리오에는 문제가 없는 것 같습니다.

 

아니요, 우리는 리소스가 전체 프로세서 동물원에서 가능한 한 빨리 압축 및 압축 해제되어야 한다고 믿었고 계속 믿습니다. 반감기 원자를 포함하여 효율성에 목이 졸린 프로세서가 많이 있습니다. 현대의 강력한 프로세서에 비해 10배의 속도 손실이 있습니다.

그건 그렇고, 최신 MT5 빌드에서는 리소스 압축 및 보호 초기화 방법의 영향에 대한 심층 평가 직후 터미널 및 편집기의 실행 속도를 크게 높였습니다. 약한 프로세서에서는 초 단위로 승리했습니다.

본격적인 i7/xeon에서 감지할 수 없는 것은 원자/셀러론 및 유사한 전력에서 몇 초 동안 재앙이었습니다.

 
Renat Fatkhullin :

아니요, 우리는 리소스가 전체 프로세서 동물원에서 가능한 한 빨리 압축 및 압축 해제되어야 한다고 믿었고 계속 믿습니다. 반감기 원자를 포함하여 효율성에 목이 졸린 프로세서가 많이 있습니다. 현대의 강력한 프로세서에 비해 10배의 속도 손실이 있습니다.

그건 그렇고, 최신 MT5 빌드에서는 리소스 압축 및 보호 초기화 방법의 영향에 대한 심층 평가 직후 터미널 및 편집기의 실행 속도를 크게 높였습니다. 약한 프로세서에서는 초 단위로 승리했습니다.

본격적인 i7/xeon에서 감지할 수 없는 것은 원자/셀러론 및 유사한 전력에서 몇 초 동안 재앙이었습니다.

나는 이 리뷰를 위해 모자를 벗는다! CopyTicks 및 CustomSymbols 문제에 대해 동일한 철저한 접근 방식을 원합니다. 거의 재앙 수준입니다.