[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 148

 
Roger:
别担心,它需要多少就返回多少,你只要想看就行。 。

确实如此)))。

Print("ma red = ",MA_M_0); // 4个符号(1.4533)。

Print("ma red = ",DoubleToStr(MA_M_0,5)); // 5位数(1.45332)

我很抱歉,也许这是个愚蠢的问题)

但为什么会这样呢?

 
很久以前,当MT4还没有出现,自动交易还处于起步阶段,价格的标准是小数点后4位。这就是为什么他们不屑于这样做。
 
想通了......。所以这就是"Print"的问题,我以为它是一个变量)))。
 
DhP:
另一个避免这些麻烦的简单方法。
前期的时间里原本是什么?
 

假设有一个 未平仓的买入止损,离当前价格相当远。我们需要稍微改变它的公开价格。

- 相对于OrderOpenPrice()的当前值,同一订单的新开仓点是否有某种最小距离,低于这个距离就不能设置新的开仓价?

谢谢你!

 
chief2000:

假设有一个未平仓的买入止损单,离当前价格相当远。我们需要稍微改变它的公开价格。

- 相对于OrderOpenPrice()的当前值,同一订单的新开仓点是否有某种最小距离,低于这个距离就不能设置新的开仓价?

谢谢你!

StopLevel - 在这个距离和接近价格的地方,不能设置订单。

FreezeLevel - 如果一个订单已经到位,并且价格在这个距离或更接近这个距离,你不能删除或修改订单(如果你的经纪公司使用它)。

 
artmedia70:

StopLevel - 在这个距离和比较接近的价格,你不能下单。

FreezeLevel - 如果一个订单已经下了,而且价格已经在这个距离或更近的地方移动到它,我们不能删除或修改它(如果你的经纪公司使用它)。

这不正是我所问的。我的意思是,我有一个Buy-STOP订单,我想把它的OrderOpenPrice()转移到可能的最小距离(而这个价格离Ask相当远)。

- 例如,我可以将OrderOpenPrice()移动1个点吗?I.e.

Новый_OrderOpenPrice = OrderOpenPrice() + Point

我问这个问题,是因为我看到了一些奇怪的错误,但我增加了距离,错误就消失了。

(我可以写一个单独的代码并检查它,但我还没有对它感兴趣)

 

当比较两个双倍类型的变量时,有时会得到一个不正确的结果。这可能是因为其中一个变量可能比另一个变量略大或略小(例如,10位数)。在大多数情况下,使用NormalizeDouble函数 并没有帮助。有些人建议将一个变量减去另一个变量,但在这种情况下,如何最正确地构建一个表达式if(a>=b),将一个变量减去另一个变量?或者也许有其他的方法?

 
Elenn:

当比较两个双倍类型的变量时,有时会得到一个不正确的结果。这可能是因为其中一个变量可能比另一个变量略大或略小(例如,10位数)。在大多数情况下,使用NormalizeDouble函数并没有帮助。有些人建议将一个变量减去另一个变量,但在这种情况下,如何最正确地构建一个表达式if(a>=b),将一个变量减去另一个变量?或者也许有其他的方法?

你真的需要这么高的精度吗?- 到1/10的数字。

如果你想用减法来比较,你可以用0来比较。

if((a-b)>0) { // ===>> a>b

或者你可以乘以1 000 000,然后再进行比较 :)

 
chief2000:

你真的需要那么高的精度吗?- 到第十位数。

如果你想用减法来比较,你可以用0来比较。

if((a-b)>0) { // ===>> a>b

或者你可以乘以1,000,000,然后再进行比较 :)

在比较价格时,我总是使用某个+/-epsilon=Point*0.01。

乘以1,000,000不会有任何作用。相信我。