查看:754回复:34
2楼
感觉这个语句没什么意义
韬客社区www.talkfx.co
发表于:2019-02-09 06:15只看该作者
3楼
不懂帮顶
发表于:2019-02-09 07:13只看该作者
4楼
本帖最后由 woshanshui 于 2019-2-9 15:15 编辑
.
韬客社区www.talkfx.co
5楼
谢谢汇虎,祝您新年虎虎生威
韬客社区www.talkfx.co
6楼
谢谢汇虎,祝您新年虎虎生威
韬客社区www.talkfx.co
7楼
谢谢汇虎,祝您新年虎虎生威
8楼
前辈新年好!
发表于:2019-02-09 11:04只看该作者
9楼
发表于:2019-02-09 11:12只看该作者
10楼
很久没看MQL4了,
得去看那个continue跳转到哪里去了,它会影响程序运行的。continue常用在for循环或者switch/case的。MQL4大致上是迷你版的C。
也就是说,这个if()如果判断是false,即没找到的话,continue会跳过后面的一些语句,开始下一个循环。如果你删掉continue,程序会执行后面的一段语句。所以不能删,这段程序是有效的。
韬客社区www.talkfx.co
发表于:2019-02-09 11:22只看该作者
11楼
有些老糊涂了,不记得continue是不是switch/case的配套语句了,break是的。continue是放之四海皆可用的短路语句。
总之,这段语句是有效的,不能删除。
韬客社区www.talkfx.co
12楼
AlwaysRemember 发表于 2019-2-9 19:22
有些老糊涂了,不记得continue是不是switch/case的配套语句了,break是的。continue是放之四海皆可用的短路 ...
( int
z = _OrdersTotal - 1
; z >= 0
; z -- ) {// 如果在搜索中生成错误,转至下一个仓位
if
( !OrderSelect
( z, SELECT_BY_POS
) ) { _GetLastError = GetLastError
("OrderSelect( "
, z, ", SELECT_BY_POS ) - 错误 #"
, _GetLastError ); continue
; } // 如果当前的货币对没有开仓,
// 忽略过
if
( OrderSymbol
() != Symbol
() ) continue
; 下面省略
韬客社区www.talkfx.co
13楼
continue是结束当前的开始下一个循环,break是跳出循环/结束循环。
韬客社区www.talkfx.co
15楼
没写过ea,不过按照程序逻辑最好不要去掉。这一段是为了防止程序处理错误的时候不中断还可以继续运行,如果你去掉真的碰到错误了你整个一夜就宕掉了
韬客社区www.talkfx.co
16楼
剪切 运行 如果无法运行 粘贴回去
17楼
我的意思是直接写搜索成功的语句,不写不成功的语句不行吗?
韬客社区www.talkfx.co
发表于:2019-02-10 08:32只看该作者
18楼
shanghaijill 发表于 2019-2-10 13:34
我的意思是直接写搜索成功的语句,不写不成功的语句不行吗?
19楼
woshanshui 发表于 2019-2-10 16:32
这段代码的本意应该是,检查开仓是否成功,若不成功,则输出错误原因。一般来说去掉这些代码,不影响效果 ...
韬客社区www.talkfx.co
发表于:2019-02-10 09:43只看该作者
20楼
不是必须的。
这一段的用处是 让你知道:选择订单为什么失败了?可能的原因是什么?
很多时候选择失败就失败了,不用处理,选择失败了也就操作不了啥,不会有任何后果。
韬客社区www.talkfx.co