任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 593

 

由于我在dll使用方面低于傻瓜,所以我在这里大胆地问一下:你能不能告诉我在当前的构建中如何正确地格式化WinExec("shutdown /r", 0)

不一定是关机,到目前为止,我根本无法让任何东西运行。

谢谢。

 
 

作为一种选择,谢谢你。尽管我仍然不明白,既然已经正常化,为什么还会发生这种情况。

另一个可能的解决方案--如果有人需要的话--我把双倍数转换成了int。因为我事先已经知道了所需的精确度。

 

你好。EA中的if语句行没有执行

Alert("sell_stop_open= " , sell_stop_open, " Middle= " , Middle)。

如果(sell_stop_open != Middle)

{

警报("sell_stop_open= Middle")。

L=L2。

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic);

}

当警报信息出现之前,如果我看到sell_stop_open=1.3080,Middle=1.3080的值,但如果没有执行。

你能告诉我什么会导致这样的错误吗?

 
Garik27p:

你好。EA中的if语句行没有执行

Alert("sell_stop_open= " , sell_stop_open, " Middle= " , Middle)。

如果(sell_stop_open != Middle)

{

警报("sell_stop_open= Middle")。

L=L2。

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic);

}

当警报信息出现之前,如果我看到sell_stop_open=1.3080,Middle=1.3080的值,但如果没有执行。

你能告诉我什么会导致这样的错误吗?


否则。
if (sell_stop_open == Middle)
 
r772ra:

否则。
我也试过这种方式。但是当它在测试器上工作时,有时是这样,有时不是这样。
 
Desead:

作为一种选择,谢谢你。尽管我仍然不明白, 既然已经正常化,为什么还会发生这种情况

另一个可能的解决方案--如果有人需要的话--我把双倍数转换成了int。因为我事先已经知道了所需的精确度。

双数 有其自身的特殊性,所以在将其转换为文本值时,要使用DoubleToString(新MQL4语言的一个函数)或DoubleToStr(旧语言的一个函数)。这些函数将一个 数字值 转换 为一个文本字符串,其中包含以指定精度格式表示的数字的字符

我建议你阅读"在MQL4中使用双重类型数字 的特殊性"。嗯,在论坛上可以搜索到更详细的信息。

P./S.: 我不认为,当有必要看到双数 时,在int 中翻译双数 的变体--是合适的决定。

 
Garik27p:
我也试过这种方式。但是当它在测试器上工作时,有时是这样,有时不是这样。

在这里,答案 是。
 
r772ra:
就在这里,答案 是。


谢谢你!!!。
 
Desead:
P./S.: 为了以防万一,我将提到在NormalizeDouble 帮助的 "注释 "中也有对你问题的部分回答。

我自己曾经忘记输入DoubleToS......然后对点后面的许多数字感到奇怪。:)