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

 
MakarFX #:
这个人有什么问题?

是的,对每个人来说,它不符合问题-答案的格式,而且它的格式很愚蠢,你不能把一行代码插入文本而不带到下一行,你不能正确地引用一段代码:整个信息被贴出了口袋。

 
Nerd Trader #:

从一开始,如果没有订单,OrdersTotal将返回0。但由于某些原因。

for ( int i = OrdersTotal() ; i > 0 ; i -- )

给出了一个无限的循环,所以>= 不是。

是否有其他更方便的平台来交流mql?

这是该平台和MQL语言的开发者的网站。

你还能从哪里得到最准确的答案?

而你的问题是来自对如何使用数组的误解。

 
Aleksei Stepanenko #:

循环的设置不正确。

它应该是这样的。

为什么?每个人的写作都是平等的,但这是正确的吗?如果位置是0,为什么我们需要一个循环的迭代?
 
Nerd Trader #:

从一开始,如果没有订单,OrdersTotal将返回0。但由于某些原因。

for ( int i = OrdersTotal() ; i > 0 ; i -- )



,给出了一个无限的循环,所以>= 不是。

s.w.是否有其他更方便的mql交流平台?
为什么会出现无限循环? 它没有,只是我有mql5
 
不,没关系的。如果没有位置,那么i=OrdersTotal()-1将等于-1。而循环条件i>=0将不会被立即执行。而程序将不会进入循环。
 
大于或等于,因为数组的 第一个元素 也必须被计算在内,而它在数组中的索引是零。
 
Aleksei Stepanenko #:
大于或等于,因为数组的 第一个元素 也需要被考虑,它在数组中的索引是0。
哦,对了,谢谢。但这是一个拐杖,当然了。当然,就像整个mql一样。
 

你好!

变量的声明方式如下

input  string startHour ="00:20";
input  string endHour ="23:40";
datetime startTime, endTime;

在mql4代码中,该行是这样的

startTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ",startHour));
endTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ", endHour));

mql5编译器给出了错误'(TimeToString' - 预期的变量),警告(从'数字'到'字符串'的隐式转换)

能否请您告诉我如何纠正?

 
grimc124 #:

...

你能告诉我如何解决这个问题吗?

不要重复代码(原则DRY = 不要重复自己) 使用函数。比如说。

datetime SetTime(datetime dtime, string stime) {
    return StringToTime(TimeToString(dtime, TIME_DATE) + " " + stime);
}

任何无效的字符串都被转换为零时间

 
Artyom Trishkin #:

这是该平台和MQL语言开发者的网站。

你还能从哪里得到最准确的答案?

你的问题表明你对如何使用数组缺乏了解。

OrdersTotal,在1个订单时返回1,而不是0,当有0个订单时,返回0。

"这是一个平台和MQL语言开发者的网站。你还能从哪里得到最准确的答案?"

- 仅仅因为它是开发人员的资源,并不意味着它是正确的地方,因为有专门为问答形式设计的资源。

原因: