新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 526

 
novichok2018:

这种对应关系只是表明,在我的案例中,if(!rost)if(rost==false) 是不一样的。因为一个单独的条件是假的

你需要从基本的东西开始。这是两个绝对相同的条目。

 
Artyom Trishkin:

这是两个绝对相同的条目。

只有当μl4的逻辑与俄语(和数学逻辑)的逻辑不一致时,才会这样。因为表达式("NOT "rost)并不意味着rost==(等于)false,因为有一个单独的条件规定了rost==false的时候。所以 "不是5 "根本不意味着 "2"。

 
novichok2018:

只有当μl4的逻辑与俄语(和数学逻辑)的逻辑不一致时,才会这样。因为表达式("NOT "rost)并不意味着rost==(等于)false,因为有一个单独的条件规定了rost==false的时候。也就是说,"不是5 "根本不意味着 "2"。

如果你想让rost既不是5也不是2,那么将rost设置为int
 
novichok2018:

只有当μl4的逻辑与俄语(和数学逻辑)的逻辑不一致时,才会这样。因为表达式("NOT "rost)并不意味着rost==(等于)false,因为有一个单独的条件规定了rost==false的时候。也就是说,"不是5 "根本不意味着 "2"。

学习基本知识;)

不仅如此,如果你把bool rost设置为5或2,或者-5或-2,它显然是真的,因为对于布尔变量来说,false是零,true是其他一切。

 
Artyom Trishkin:

学习基本知识;)

不仅如此,如果你把bool rost设置为5或2,或-5或-2,那么它肯定是真的,因为对于布尔变量来说,false是零,true是其他一切。

所以你试图向我解释Vladislav Andruschenko 之前解释的同样的事情,但我没有理解:"第二行是不相关的,因为你有rost = bool,只能取2个值,而且默认是假的"

那么我如何指定第二个条件呢?用一个额外的旗子?或者根本就没有标志,只是 "条件中的条件"?当然,这更好。

谢谢你。

 
novichok2018:

所以你想告诉我Vladislav Andruschenko 之前解释的同样的事情,但我不明白:"第二行并不重要,因为你有rost = bool,它只能取两个值,而且默认是假的"

那么我如何指定第二个条件呢?用一个额外的旗子?或者根本就没有标志,只是 "条件中的条件"?这可能更好。

如果你想当然地认为编程语言有惯例,那么理解起来就会更容易。例如,n=n+10;从数学和逻辑的角度来看,这是否正确?而且有很多这样的公约。你应该相信,任何数字都对应着一个逻辑值。0=假;所有其他数字,包括正数和负数=真。这里有一个脚本可以证明这一点。

//+------------------------------------------------------------------+
//| Логика языка mql-4                                     PROBA.mq4 |
//+------------------------------------------------------------------+
#property strict
void OnStart()
{
  string s1="Числовое значение n:   ";
  string s2="Логическ значение n: ";
  string s3="ЛогичЧис значение x: ";
  string s4="Числовое значение x:   ";
  bool x;
  int k;
  Alert("-------------------------");
  for(int n=-4; n++<3;)                  // Вот еще: можно ли так цикл записать?  а Вы попробуйте!!!
  {
     s1 +=string(n)+"        ";
     s2 += (n ? "TRUE" : "false")+"   ";
     x=n;
     s3 += (x ? "TRUE" : "false")+"   ";
     k=x;
     s4 += (string)k + "         ";
  }
  Alert(s4);
  Alert(s3);
  Alert(s2);
  Alert(s1);
}

而这就是结果。

 
STARIJ:

如果你相信在编程语言中存在惯例,那么你会更容易理解。例如,n=n+10;这在数学和逻辑上是否正确?而且有很多这样的公约。你应该相信,任何数字都对应着一个逻辑值。0=假;所有其他数字,包括正数和负数=真。这里有一个脚本可以证明这一点。

结果是这样的。

谢谢你!明白了关于公约,我会考虑的。但要理解建议的脚本,唉,我对mcl4的了解还不够。对不起 :( 。

 
帐户的资金已经用完,而EA正试图打开一个订单。服务器说"没有足够的资金 用于......",最终被BANNED。如果没有更多的钱,有什么办法不尝试吗?
 
PolarSeaman:
帐户的资金已经用完,而EA正试图打开一个订单。服务器说 "没有足够的资金用于......",最后我被禁言了。如果我们没有更多的钱,有什么办法可以停止尝试吗?

是的,

AccountFreeMarginCheck - Информация о счете - Справочник MQL4
AccountFreeMarginCheck - Информация о счете - Справочник MQL4
  • docs.mql4.com
Размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете. Если свободных средств не хватает, то будет сгенерирована ошибка 134 (ERR_NOT_ENOUGH_MONEY).
 
Ihor Herasko:

是的, 的。

谢谢你。

原因: