错误、漏洞、问题 - 页 2462

 
astronom55:
你好。MT5移动版 无法连接到我的Alpari经纪商。问题是什么?这是否会在某个时候被修复?

在这里

 
Sergey Dzyublik:

StringToShortArray 中也是这样写的。

然而,这并不妨碍它充分处理字符串中的NULL字符。

ShortArrayToString( array, start, count )的工作方式不正确:终端0不是任何0,只有末端的那个。在这种情况下,结束与否可以根据ArraySize( 数组 ) 来确定。至少,如果明确设置了count,那么产生的字符串必须不短于min( count, ArraySize( array ))

StringToShortArray( text, array, start, count ) 正确地工作:终端0是最后的那个。而结尾是根据StringLen( text )来确定的。

 
Artyom Trishkin:

在这里

  • 你没有提供任何具体的 材料,以便你的问题能够得到解决。-所有安卓用户都有这个问题
  • 你的问题非常宽泛,如果不加以澄清就无法明确回答--问你不明白的地方
  • 你只是一个不看文档 的懒人。你的大部分问题只是源于对MQL语言基本概念的无知--我想这是文件中没有的
  • 你被禁止进入谷歌,或者你只是不知道如何使用搜索--搜索没有结果

1


这只是对MT5移动版的一些反馈。

2

这里是Alpari论坛

你难道对它一无所知吗?

Справочник MQL4
Справочник MQL4
  • docs.mql4.com
MetaQuotes Language 4 (MQL4) - встроенный язык программирования торговых стратегий, разработанный компанией MetaQuotes Software Corp. на основе своего многолетнего опыта в создании торгово-информационных платформ. Этот язык позволяет писать собственные программы-эксперты (Expert Advisors), автоматизирующие управление торговыми процессами и...
 

运行该脚本时


#include <Files\FileTxt.mqh>
void OnStart(){

  CFileTxt file;
  int handle = file.Open( "test.bat", FILE_WRITE | FILE_ANSI | FILE_REWRITE ); //
  if( handle == INVALID_HANDLE ){
    int error = GetLastError();
    Print("Ошибка создания файла, код ошибки ",  error );
    return;
  }
}


错误





原因是什么?


如果你改变了文件名


int handle = file.Open( "test", FILE_WRITE | FILE_ANSI | FILE_REWRITE ); //

没有错误

 
Aleksey Sergan:

运行该脚本时

错误

原因是什么?

如果你改变了文件名

没有错误

文件名是问题所在。
禁止操作 "可执行 "文件(exe、msi、bat...)。

 
Sergey Dzyublik:

文件名是问题所在。
禁止创建 "可执行 "文件(exe, msi, bat, ...)。

是的,确实是这样。我在帮助中没有找到任何有关这方面的内容。

 

这可能是不相关的,但严格来说,在编译时的错误信息

void A::operator=(const A&)在这里(箭头的位置)是不必要的(越是这样越是如此,因为它在默认情况下是以同样的方式生成的)。

 
这是我在一天内第四次遇到ME(Build 2037)100% CPU挂起的问题。

最初出现100%的核心负荷,但ME工作正常 - 你甚至可以在MT中运行代码调试。
然而,如果你试图切换到另一个有源代码的标签页--ME完全挂起(需要杀死进程),而新的标签页窗口仍然无法打开(挂在半开状态)。
如果我不切换到一个新的标签页,只是关闭ME,这个进程不会关闭,但会成为MT的一个子进程,并且会继续加载100%的内核。

问题出现在普通网站上,只是在代码开发过程中(小项目,8个文件<3K行),ME的代码智能提示大概崩溃了。
 
万幸的是,我们成功地抓住了使ME分析器 "崩溃 "的代码。
ME在启动时崩溃了。如果不先在另一个编辑器中编辑代码,就不可能运行ME。

如果有必要,源代码将在5-7天内提供给开发者。
问题出现在绳子上。
if(
在计算未闭合的括号时一定有问题。
 
再次在项目代码中搜索 了一个小时的错误,导致了MT5(build 2049)的 "具体情况"。

在终端,专家顾问日志的某些部分可能根本不显示,而不通知用户。
日志是在日志文件中--那里一切正常。

#define  PRINT(x) Print(#x, ":", string(x))

void OnStart(){  
   string test_name;
   string test_result;  
   
   test_name = "394_TEST_____";
   for(int i = 0; i < 394; i++){
      PRINT(test_name + string(i+1));
   } 
   test_result = "RESULT_SUCCESS";
   PRINT(test_result);
   Sleep(5000);
   
   
   test_name = "395_TEST_____";
   for(int i = 0; i < 395; i++){
      PRINT(test_name + string(i+1));
   } 
   test_result = "RESULT_SUCCESS";
   PRINT(test_result);
   Sleep(5000);

   
   test_name = "396_TEST_____";
   for(int i = 0; i < 396; i++){
      PRINT(test_name + string(i+1));
   } 
   test_result = "RESULT_SUCCESS";
   PRINT(test_result);
   Sleep(5000);
}

不知何故,日志队列莫名其妙地显示了编号为395的记录,这个编号之前和之后的所有记录都显示在МТ日志中。
因此,测试#395总是失败。
原因: