新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 111

 
trader781:
我不明白,我纠正了名称,无论订单类型 如何,这一行还是红色的,只是叫法不同。(然后我得想办法把它剪成10条),我需要的正是这种方式
现在就试试吧
附加的文件:
 
Sergey Gritsay:
现在就试试吧。

好在有一本资料手册挂在身边)

当你按下编译按钮时,机器人和终端一起死亡,打开EX后,它没有打开,这个文件是空的。

它看起来像这样。

还看了看,如果你把蓝色、绿色、金色、白色,这些颜色都变了,但深灰色和天蓝色不放,它变成了白色。

附加的文件:
 
trader781:

好在有一本资料手册挂在身边)

当你按下编译按钮时,机器人和终端一起死亡,打开EX后,它没有打开,这个文件是空的。

它看起来像这样。

还看了看,如果我把蓝色、绿色、金色、白色,这些颜色会发生变化,但深紫色和天蓝色不会,它变成了白色。

我的编译工作很顺利。
 
Sergey Gritsay:
string  StringSubstr(
   string  string_value,     // строка
   int     start_pos,        // с какой позиции начать
   int     length=0          // длина извлекаемой строки
   );
...

谢谢你!

我还需要帮助--我需要找出一个字符串中有多少个字符--我如何做到这一点?

 
下午好。
我使用StringSplit 来分割从文件中读取的字符串。但是,数组输出的字符串丢失了,除了第一个字符串外,其他都丢失了。在输出中,除了第一个字符串外,其他都是空的,尽管数组大小是正确的。

此外,我还遇到了难以理解的字符串数组的行为。我必须制作二维数组,将字符串保存到数组中。

有人遇到过这种行为吗?

while( idx < size ) {
    if( StringFind( fileBuffer[idx][0], "[Main]" ) >= 0 ) {
        idx++;
        Print( "Buffer(main) = " + fileBuffer[idx][0] ); // debug
        if( StringFind( fileBuffer[idx][0], "Kit_Names=" ) >= 0 ) {
            Print( "check1 - " + fileBuffer[idx][0] ); // debug
            string tmp = StringSubstr( fileBuffer[idx][0], 10 );
            Print( tmp );                              // debug
            StringReplace( tmp, "\"", "" );
            Print( tmp );                              // debug
            Print( StringSplit( tmp, sep, list ) );
            Print( "check22 - " + tmp );               // debug
            for(int i = 0; i < ArrayRange(list,0); i++) Print(list[i][0]);  // debug
        }
    }
    idx++;
}
 
-Aleks-:

谢谢你!

我还需要帮助--我需要找出一个字符串中有多少个字符--我如何做到这一点?

返回字符串中的字符数。

int  StringLen(
   string  string_value      // строка
   );

 
terentjew23:

返回一个字符串中的字符数。

int  StringLen(
   string  string_value      // строка
   );

谢谢你!

 
请给我一个忠告。

我在全局EA级别声明了一个数组。然后在特殊函数init()中,我调用用户函数,用字符串常量 填充数组。

然后在特殊函数start()中,我只使用数组来读取数据。

一段时间后,其他数据将填满这个阵列。也就是说,当我运行EA时,我希望阵列在EA工作时保持不变,但数据不知为何进入了阵列,而且是在一段时间后(超过10分钟)。当我重新启动专家顾问时,数组将被填满,但一段时间后,由于我不明白的原因,数组将再次包含错误的值。

唯一的办法是在start()中不断地重新加载数组,但我不太喜欢这样做,因为数组实际上应该只在初始化时被填充。

可能是什么问题?如何保护阵列不被修改?
 
Maksym Mudrakov:
请给我一个提示,好吗?
...
会是什么呢?如何保持一个数组不被修改?
彻底检查代码。
 
Maksym Mudrakov:
请给我一个忠告。

我在全局EA级别声明了一个数组。然后在特殊函数init()中,我调用用户函数,用字符串常量 填充数组。

然后在特殊函数start()中,我只使用数组来读取数据。

一段时间后,其他数据将填满这个阵列。也就是说,当我运行EA时,我希望阵列在EA工作时保持不变,但数据不知为何进入了阵列,而且是在一段时间后(超过10分钟)。当我重新启动专家顾问时,数组将被填满,但一段时间后,由于我不明白的原因,数组将再次包含错误的值。

唯一的办法是在start()中不断地重新加载数组,但我不太喜欢这样做,因为数组实际上应该只在初始化时被填充。

可能是什么问题?如何保护阵列不被修改?
我可以看看代码吗?
原因: