我对策略测试员的不满。 对MQL开发者的不满 - 页 7

 

(续)

我已经做了一些简单的分析理解程序,显示市场对Ask和Bid ticks有很大的影响。


标记已经在论坛引文中找到了它的位置吗?

这是个好主意......:-)

需要PS/测试仪来检查机器人的性能。优化器,以确保参数稳定。测试员不做策略,优化员不猜测市场。

 

关于交易、自动交易系统和策略测试的论坛

我对策略测试员的不满。 对MQL开发者的不满

Renat Fatkhullin, 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好得多。

 

资源是用最快的lzss算法压缩的,而不是压缩的。

我们不是自杀式地拉了很长时间的拉链,然后又拉了很长时间的拉链。

 
Renat Fatkhullin:

资源是用最快的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%左右。在这种情况下,似乎没有什么大不了的。

 

不,我们相信并且仍然相信,资源应该尽可能快地在整个zoo的处理器上被压缩和解压缩。有很多处理器被经济扼杀了,包括半生命力的原子。与今天强大的处理器相比,速度上有十几倍的损失。

顺便说一下,在MT5的最新版本中,我们对资源压缩和初始化保护方法的影响进行了深入评估后,极大地提高了终端 和编辑器的启动 速度。我们在低端处理器上获得了整整几秒钟。

在全功能的i7/xeon上无法察觉的问题,在atoms/celebrons和类似的强大设备上,几秒钟就成了灾难。

 
Renat Fatkhullin:

不,我们相信并且仍然相信,资源应该尽可能快地在整个zoo的处理器上被压缩和解压缩。有很多处理器被经济扼杀了,包括半生命力的原子。与今天强大的处理器相比,速度上有十几倍的损失。

顺便说一下,在MT5的最新版本中,我们对资源压缩和初始化保护方法的影响进行了深入评估后,极大地提高了终端 和编辑器的启动 速度。我们在低端处理器上获得了整整几秒钟。

在全功能的i7/xeon上难以察觉的问题,在atoms/celebrons和类似的强大设备上则是一场灾难。

向你这样的研究表示敬意!我希望对CopyTicks和CustomSymbols采取同样彻底的方法。那里几乎是一场灾难。