初学者的问题 MQL4 MT4 MetaTrader 4 - 页 96

 

你好,我想得到一个期货的 到期日

EXPIRATION=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_EXPIRATION_TIME)。

它给出了1970 01 01 00 00

 

你好。


请指示,在以下表达式中,自动验证显示"除以零"的错误。


NormalizeDouble(STOP/MarketInfo( Symbol(),MODE_TICKVALUE)*10,0)*Point

所有组件的打印结果显示不是零值。

错误的原因可能是什么?

 

MT4

我在哪里可以得到当前和全面的int OrderType() 值的列表

我想,帮助,还没有被更新。


AccountProfit()是否计算存款和提款?

帮助中并没有真正说明如何计算,什么被考虑在内......

即使是一个精确的定义,也有助于理解开发商的意思,以及应该如何计算。

也许有一个来自开发者的类似功能的概述,其结果是衍生出来的?我必须通过零碎的方式来收集它...

 
Viatcheslav Pashkov:

你好。


请指示,在以下表达式中,自动验证显示"除以零"的错误。


所有组件的打印结果显示不是零值。

错误的原因可能是什么?


请给我一个更完整的代码。变量的类型。哪个角色。在表达式中替换之前取什么值。接下来使用的这个表达式的计算结果是什么?

 
Kirill Belousov:

给出一个更完整的代码。变量的类型。什么角色。在表达式中的替换之前,会取哪些值。哪里是进一步使用这个表达式的计算结果。

只有预定义的变量Symbol()和MODE_TICKVALUE)

我不知道是什么原因,但我是这样解决这个问题的。

我引入了对零的检查,如:如果表达式不等于零,则执行。


而且一切都很顺利。

我不知道这意味着什么......但我会记住......自动调节器在INI块中表示的是可能的除以0,而不是明确的。

 
Viatcheslav Pashkov:

你好。


请指示,在以下表达式中,自动验证显示"除以零"的错误。


所有组件的打印结果显示不是零值。

错误的原因可能是什么?

double TICK_VALUE = MarketInfo( Symbol(),MODE_TICKVALUE);
if(TICK_VALUE ==0) return;
NormalizeDouble(STOP/TICK_VALUE *10.0)*Point
 
Vitaly Muzichenko:

TICK_VALUE 怎么可能等于零

 
Viatcheslav Pashkov:

TICK_VALUE 怎么可能等于零


在终端与账户连接之前,大多数变量为零。

 
Taras Slobodyanik:

在终端与账户连接之前,大多数变量为零。


谢谢,我会记住的

 
Viatcheslav Pashkov:

只有预定义的变量Symbol()和MODE_TICKVALUE)

我不知道哪里出了问题,但我这样解决了问题。

我引入了一个对零的检查,如:如果表达式不等于零,则执行。


而且一切都很顺利。

我不知道这意味着什么......但我会记住......自动除尘器在INI块中表示的是可能的除以0,而不是明确的。

报告被零除的情况不是问题,而是后果。

但现在将很难发现问题,因为你只是简单地删除了关于除以0的不方便的信息。

你到底在使什么正常化?你在哪里替代结果?

请给出你的代码,你在其中进一步使用你给出的表达式的结果。我认为问题就出在这里。