任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 236 1...229230231232233234235236237238239240241242243...1178 新评论 Sergey Dzyublik 2013.11.03 16:22 #2351 int start(){ int a=0; if (5>3) if (5>3) if (5>3){Alert ("AAAAAAAAAAAAAAAAAAAAAAA"); a=5;} else Alert ("a=", a); else Alert ("a=", a+1); else Alert ("a=", a+2); } 如果不满足第一个条件,我们有一个警告:"a=2" 如果不满足第二个条件,我们有一个警告:"a=1" 当第三个条件不满足时,我们有一个警告:"a=0"。 是的,一开始是出乎意料的))。 barbarian 2013.11.03 16:23 #2352 ALXIMIKS: 没有来自这个脚本的警报。Else指的是条件"if (5>3){Alert ("AAAAAAAAAAAAAAA"); a=5;}。" 鸣谢 : 有 anAlert: "a=0". 其结果是,当在列举某一系列条件时没有使用大括号"{"时,只有最后一个条件可以进行非条件处理。 这是正确的,这个逻辑是可行的,只是不要把所有东西都放在一行。 int start(){ int a=0; if (3>3) if (5>3) if (5>3){Alert ("AAAAAAAAAAAAAAAAAAAAAAA"); a=5;} else Alert ("a=", a); } 那么它将变得更加清晰。如果if为真,则需要括号:{operator1;operator2;operatorN}。如果只有一个运算符,大括号可以省略,由于运算符也是一个条件,所以一切都会重复。 Sergey Dzyublik 2013.11.03 16:23 #2353 artmedia70: 也就是说,需要用括号来组织逻辑分支。没有他们,第一个条件是基本的。如果它不真实,其他条件也不会得到满足。 试着去解决这个问题。 在这之后,要弄清楚它还指的是什么。 else指的是 " 如果 (b>c)" Antonius 2013.11.03 20:21 #2354 你好。 if (DayOfWeek()==DayOfWeekIf && TimeCurrent()>=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeIf) && TimeCurrent()<StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeIf)+Duration) { if (iClose("XAUUSD",PERIOD_H1,0)-iOpen("XAUUSD",PERIOD_H1,0)>=0) Sell = true; if (iOpen("XAUUSD",PERIOD_H1,0)-iClose("XAUUSD",PERIOD_H1,0)>0) Sell =false; } if (DayOfWeek()==DayOfWeekOpen && TimeCurrent()>=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeOpen) && TimeCurrent()<StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeOpen)+Duration) {... 这个想法是这样的:如果在这样的日子里,在这样的时间里,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。 但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我正在M1上测试它。 Artyom Trishkin 2013.11.03 20:45 #2355 ALXIMIKS: else指的是 " 如果 (b>c)"。 正确。 if (a>b) if (b>c) Alert(" условие if (a>b && b>c) выполнено "); else if (d>e) if (e>f) Alert(" условие if (d>e && e>f) выполнено"); 现在试着做一下没有大括号的逻辑。 如果(a>b),则执行if (b>c)Alert() 行。 否则,如果(d>e),则执行如果(e>f)Alert()行。 换句话说:让else指的是第一个条件。不使用大括号。 Artyom Trishkin 2013.11.03 20:59 #2356 Antonius: 你好。 这个想法是这样的:如果在这样的一天,这样的时间,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。 但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我已经在M1上测试过了。 我确信是代码的这一部分。从你所展示的情况来看,很难得出结论--有很多未知的变量,而且开放本身也不可见。 要想自己找到原因,可以打印或显示带有注释的变量值。然后你可以在任何时候看到他们的价值。 Sergey Dzyublik 2013.11.03 21:11 #2357 Antonius: 你好。 这个想法是这样的:如果在这样的日子里,在这样的时间里,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。 但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我正在M1上测试它。 有可能像这样进行比较吗? 我不喜欢右边的部分("类型转换那里将把所有东西放在一个字符串中,其值为"yyyy.mm.dd"TimeTradeIf")? TimeCurrent()>=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeIf Artyom Trishkin 2013.11.03 21:15 #2358 ALXIMIKS: 我不喜欢右边的部分("yyyy.mm.dd "TimeTradeIf " 值将被转换为字符串)? 你可以看到,TimeTradeIf值被添加到计算值中。谁告诉你并向你展示了 TimeTradeIf中的确切内容? 这就是我写给那个人的,有很多未知和不清楚的值,要在他的代码中寻找问题。 Sergey Dzyublik 2013.11.03 21:22 #2359 artmedia70: 正确。 现在试着做一下没有大括号的逻辑。 如果(a>b),则执行if (b>c) Alert()行。 否则,如果(d>e),则执行如果(e>f)Alert()行。 换句话说:让else指的是第一个条件。没有大括号。 if (a>b) if (b>c) Alert(" условие if (a>b && b>c) выполнено "); else; else if (d>e) if (e>f)Alert(" условие if (d>e && e>f) выполнено"); Taki做了,对于阅读逻辑来说不是很方便,如果没有大括号,编译器还有点擦 ";'--分号意外" 但当 a>b不满足时, 仍然提醒"条件如果(d>e &&e>f)满足" 。(如果我是这样理解这个任务的话)。 Alexander 2013.11.04 01:31 #2360 Antonius: 你好。 这个想法是这样的:如果在这样的日子里,在这样的时间里,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。 但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我正在M1上测试它。 在我看来,计算是从零条的开始,当开盘仍等于收盘时,当然差值为0。 1...229230231232233234235236237238239240241242243...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果不满足第一个条件,我们有一个警告:"a=2"
如果不满足第二个条件,我们有一个警告:"a=1"
当第三个条件不满足时,我们有一个警告:"a=0"。
是的,一开始是出乎意料的))。
没有来自这个脚本的警报。Else指的是条件"if (5>3){Alert ("AAAAAAAAAAAAAAA"); a=5;}。"
鸣谢 :
有 anAlert: "a=0".
其结果是,当在列举某一系列条件时没有使用大括号"{"时,只有最后一个条件可以进行非条件处理。
这是正确的,这个逻辑是可行的,只是不要把所有东西都放在一行。
那么它将变得更加清晰。如果if为真,则需要括号:{operator1;operator2;operatorN}。如果只有一个运算符,大括号可以省略,由于运算符也是一个条件,所以一切都会重复。也就是说,需要用括号来组织逻辑分支。没有他们,第一个条件是基本的。如果它不真实,其他条件也不会得到满足。
试着去解决这个问题。
在这之后,要弄清楚它还指的是什么。
else指的是 " 如果 (b>c)"
你好。
这个想法是这样的:如果在这样的日子里,在这样的时间里,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。
但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我正在M1上测试它。
else指的是 " 如果 (b>c)"。
正确。
现在试着做一下没有大括号的逻辑。
如果(a>b),则执行if (b>c)Alert() 行。
否则,如果(d>e),则执行如果(e>f)Alert()行。
换句话说:让else指的是第一个条件。不使用大括号。
你好。
这个想法是这样的:如果在这样的一天,这样的时间,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。
但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我已经在M1上测试过了。
我确信是代码的这一部分。从你所展示的情况来看,很难得出结论--有很多未知的变量,而且开放本身也不可见。
要想自己找到原因,可以打印或显示带有注释的变量值。然后你可以在任何时候看到他们的价值。
你好。
这个想法是这样的:如果在这样的日子里,在这样的时间里,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。
但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我正在M1上测试它。
我不喜欢右边的部分("yyyy.mm.dd "TimeTradeIf " 值将被转换为字符串)?
你可以看到,TimeTradeIf值被添加到计算值中。谁告诉你并向你展示了 TimeTradeIf中的确切内容?
这就是我写给那个人的,有很多未知和不清楚的值,要在他的代码中寻找问题。
正确。
现在试着做一下没有大括号的逻辑。
如果(a>b),则执行if (b>c) Alert()行。
否则,如果(d>e),则执行如果(e>f)Alert()行。
换句话说:让else指的是第一个条件。没有大括号。
Taki做了,对于阅读逻辑来说不是很方便,如果没有大括号,编译器还有点擦 ";'--分号意外"
但当 a>b不满足时, 仍然提醒"条件如果(d>e &&e>f)满足" 。(如果我是这样理解这个任务的话)。
你好。
这个想法是这样的:如果在这样的日子里,在这样的时间里,蜡烛是看涨的,那么卖出=真,如果看跌,则是假。然后在这样的一天,这样的时间,我们卖出,如果卖出=真实,买入,如果反之亦然。
但由于某些原因,该条件不起作用,所有的交易都是为卖出而开的。我正在M1上测试它。
在我看来,计算是从零条的开始,当开盘仍等于收盘时,当然差值为0。