错误、漏洞、问题 - 页 2057

 

我已经做了一个错误报告,但如果有人感兴趣的话...

Roffild:
Проблема даже с чтением 1000 байт. Может на следующей неделе исправят, а то не получается сейчас читать бинарный файл больше 2гб.

void OnStart()
  {
   double data[];
   int hfile = FileOpen("bytes2147483640.bin", FILE_BIN);   
   Print("read = ", FileReadArray(hfile, data, 0, 1000));
   Print("size = ", ArraySize(data));
   FileClose(hfile);
   ArrayResize(data, 0);
   hfile = FileOpen("bytes2147483649.bin", FILE_BIN);   
   Print("read = ", FileReadArray(hfile, data, 0, 1000)); // read = 4026531841
   Print("size = ", ArraySize(data)); // size = 0
   Print("error = ", GetLastError()); // error = 0
   FileClose(hfile);
  }
Total Commander可以将一个大文件(我拿了一些mkv)分割成合适大小的文件。只有文件大小 对检查很重要,而不是文件内容。
 

你好。

试图在月度 时间框架上测试机器人,但测试者没有给出历史记录(0条)。重新加载报价档案并没有帮助。我不知道什么?:)

 
Roffild:

我已经做了一个错误报告,但如果有人感兴趣的话...

Total Commander可以将大文件(我拿了一些mkv)分割成所需大小的文件。重要的只是文件的大小,而不是内容。

我正在使用FileLoad。

Документация по MQL5: Файловые операции / FileLoad
Документация по MQL5: Файловые операции / FileLoad
  • www.mql5.com
//|                                                Demo_FileLoad.mq5 | //|                        Copyright 2016, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Script program start function                                    |...
 
Roffild:

我已经提交了一份错误报告,但如果有人感兴趣...

这可能不是一个错误,但...比方说,一个限制。我怀疑它只是在使用旧的32位文件操作。

 
Комбинатор:

这可能不是一个错误,但...比方说,一个限制。我怀疑它只是在使用旧的32位文件操作。

如果读取在INT_MAX 字节后被中断,可以解释,但它甚至不会读取文件的开头...

 
阵列打印 错误
void OnStart()
{  
  MqlParam Params[] = {{TYPE_STRING}};

  ArrayPrint(Params);
  Print(Params[0].type);
}


结果

    [type] [integer_value] [double_value] [string_value]
[0]    ...               0        0.00000 null          
14
 
fxsaber:
阵列打印错误

这是我第一次看到关于ArrayPrint 的问题信息,而这并不是它唯一的缺陷。这再次证实了ArrayPrint并不是真正的需求,而正是因为它,ToolsExperts制作了一种不方便的单空格字体,使印刷信息的可用量减少了40%。

 
Комбинатор:

这可能不是一个错误,但...比方说,一个限制。我怀疑它只是在使用旧的32位文件操作。

因此,它是确定的:创建3Gb文件 -> 写 -> 读

#define  COMMA  ,
#define  MACRO( flag, value, file, function, comma ) \
{ \
    long offset = long(INT_MAX)/2*3; \
    int h = FileOpen( file, flag | FILE_COMMON | FILE_BIN ); \
    Print( StringFormat( "%d:%d", h, FileSeek( h, offset, SEEK_SET )) \
         + StringFormat(   ":%d",    function( h comma value, sizeof(int))) \
         + StringFormat(   ":%dGb",  FileSize( h )/1024/1024/1024 )); \
    FileClose( h ); \
}
void OnStart()
{
    MACRO( FILE_WRITE, 33, "3Gb.bin", FileWriteInteger, COMMA ) //записали число 33 в конец 3Gb файла
    MACRO( FILE_READ,    , "3Gb.bin", FileReadInteger,        ) //прочитали
}

结果:1:1:33:3Gb

 
A100:

已经做了一个令人不舒服的单幅字体,这使输出的有用性减少了40%。

相反,我喜欢单空格,因为自从ArrayPrint 问世以来,我就经常使用它。

 
fxsaber:

自ArrayPrint问世以来,我一直在广泛地使用它。

如果是这样,这个错误和其他错误早就被发现了,这些错误也表现为点的形式,使其使用毫无意义。

MetaEditor build 1467
MetaEditor build 1467
  • 2016.11.10
  • www.mql5.com
Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,: после применения стилизатора, преобразуется в та...