[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 14 1...789101112131415161718192021...1145 新评论 keekkenen 2009.02.26 09:22 #131 如果有一个else条件的重新引用,函数本身将停止工作。 if ( res!=-1){ //.. }else{ err = GetLastError(); if ( err > 1) try = 0; Comment("Ошибка - ", err); } try = 0,所以while循环将停止,openOrder()返回错误。 但如果我们使用 while(!openOrder(...)){}结构,那么它将继续运行,直到打开一个订单为止 khorosh 2009.02.26 12:34 #132 keekkenen .这就是我所好奇的,在你的start()函数 while(!openOrder(...)){}中,你没有透露在{}中做了什么。你是否限制重新报价 的尝试次数? keekkenen 2009.02.26 13:45 #133 由于你写的是订单应该打开,我给出了这样一个 "刚性 "结构,如果它应该打开,它将打开,无论它需要多少次尝试......如果我们正常打开订单,那么虽然不需要,我们可以在尝试中传递尝试次数,并在函数中已经确定是否对关键错误 作出反应或忽略它们,只是尝试打开订单尝试一次...... while(!openOrder(...)){}的意义在于,我们创建了一个永恒的循环,也就是说,它将工作到订单被打开。 实际上,定义开单时应该使用什么战术,我们会帮助... Николай 2009.02.26 14:25 #134 问题就在这里。 我不能用数组工作。 我初始化了数组,用任何数据填充它,但当我读取它时,却发现有零。 我做错了什么? double MASS[]; for (int i = 0; i < 10; i++) { MASS[ i]= i; } for (int n = 0; n < 10; n++) { Print( MASS[ n]); } [删除] 2009.02.26 14:36 #135 Kontra писал(а)>> 我不能用数组工作。 你必须指定数组的大小,例如在声明它的时候。 double MASS[10]; 或者然后。 ArrayResize(MASS,10); Николай 2009.02.26 14:45 #136 如果我不知道我的数组 会有多大,怎么办? 即使我这样做了,它也不会被编译。 我插入一个外部变量。 extern int Razmer = 10; 以及其余的文字。 double MASS[ Razmer]; for (int i = 0; i < 10; i++) { MASS[ i]= i; } for (int n = 0; n < 10; n++) { Print( MASS[ n]); 输出是。 'Razmer' - 预期的整数 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 16) ']'- 逗号或分号预期 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 22) 'MASS' - 变量未定义 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (40, 3) 'MASS' -变量未定义 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (44, 9) [删除] 2009.02.26 15:02 #137 Kontra писал(а)>> 如果我不知道我的数组会有多大,怎么办? 因此,当你知道数组中会有多少元素时,你必须使用ArrayResize函数。 正如你所看到的,用一个外部变量,它将不会起作用:) 你可以这样做。 ArrayResize(MASS,Razmer); Николай 2009.02.26 15:40 #138 谢谢你,亲爱的外科医生。 这一切都在发挥作用 :) novice 2009.02.27 04:19 #139 int init() { double A=AccountBalance() //Определяем баланс double B=NormalizeDouble( A/50,0) //Выполняем вычисления и делаем результат целым числом double Lots= B*0.01 //Вычисление лота. if ( Lots>0)Alert("Лот будет ", Lots ) return(0); } 这里的错误是什么,如何才能实现? Rustamzhan Salidzhanov 2009.02.27 04:38 #140 你到底想达到什么目的? 1...789101112131415161718192021...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果有一个else条件的重新引用,函数本身将停止工作。
try = 0,所以while循环将停止,openOrder()返回错误。
但如果我们使用 while(!openOrder(...)){}结构,那么它将继续运行,直到打开一个订单为止
由于你写的是订单应该打开,我给出了这样一个 "刚性 "结构,如果它应该打开,它将打开,无论它需要多少次尝试......如果我们正常打开订单,那么虽然不需要,我们可以在尝试中传递尝试次数,并在函数中已经确定是否对关键错误 作出反应或忽略它们,只是尝试打开订单尝试一次......
while(!openOrder(...)){}的意义在于,我们创建了一个永恒的循环,也就是说,它将工作到订单被打开。
实际上,定义开单时应该使用什么战术,我们会帮助...
问题就在这里。
我不能用数组工作。
我初始化了数组,用任何数据填充它,但当我读取它时,却发现有零。
我做错了什么?
我不能用数组工作。
你必须指定数组的大小,例如在声明它的时候。
或者然后。
如果我不知道我的数组 会有多大,怎么办?
即使我这样做了,它也不会被编译。
我插入一个外部变量。
以及其余的文字。
输出是。
'Razmer' - 预期的整数 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 16)
']'- 逗号或分号预期 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 22)
'MASS' - 变量未定义 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (40, 3)
'MASS' -变量未定义 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (44, 9)
如果我不知道我的数组会有多大,怎么办?
因此,当你知道数组中会有多少元素时,你必须使用ArrayResize函数。
正如你所看到的,用一个外部变量,它将不会起作用:)
你可以这样做。
谢谢你,亲爱的外科医生。
这一切都在发挥作用 :)
你到底想达到什么目的?