错误、漏洞、问题 - 页 339

 
sergeev:

但你不想检查?

我指出,这些信息 "无法立即找到"。如果你知道答案,请告诉我这个问题的规则是在哪里规定的。
 
Yedelkin:
我指出,这些信息 "不能立即提供"。如果你知道答案,请告诉我这个问题的规则是在哪里规定的。

呃,同事,如果猴子要找一本关于如何使用棍子的指南,他们仍然是猴子......

不要偷懒,你只需在代码中应变几个手指并检查。这并不比在冬天挖一条沟更难。

 
sergeev:

呃,同事,如果猴子寻找如何使用棍子的手册,他们仍然是猴子......。

不要偷懒,你只需抬起一两根手指,在代码中检查。这并不比在冬天挖一条沟更难。

哦,我明白你的意思了。我欣赏你对经验法则的执着已经有一年了:)另外,大约一年前,我已经向你解释了为什么我更喜欢学习基础知识(如果可能的话)。至于 "紧张的几个手指"--在这种情况下,这似乎是多余的。因为这足以让人费尽心思去理解这段代码 的作者在编译方面没有问题(否则他的问题会用不同的措辞):)我的问题是,从语言结构(结构、思想等)的角度来看,这样的名称组合是否可以接受。

...由于我在参考资料中没有发现任何限制,事实证明,在这种情况下,编译器的工作与语言的基本原理并不矛盾。

 

我不知道是我的键盘有问题,还是这是一个ME的错误。

我选择了一个代码部分,按Ctrl+V,我得到的不是用剪贴板上的信息替换该部分,而是一个填充物。

基本打字也是如此。

我选择了一个片段,按下任何一个键,我的代码的选定范围将被覆盖,而不是要替换的关键字符。

例子

table.SecondSize()    // было
postable.SecondSize() // стало
pos                   // хотелось бы
 
Urain:

我不知道是我的键盘有问题,还是这是一个ME的错误。

我选择一段代码,按Ctrl+V,不是用剪贴板上的信息替换,而是得到额外的信息。

我很好。
 
啊,是的,电脑是32位的。
 
Urain:

我不知道是我的键盘有问题,还是这是一个ME的错误。

我选择了一个代码部分,按Ctrl+V,我得到的不是用剪贴板上的信息替换该部分,而是一个填充物。

基本打字也是如此。

我选择了一个片段,按下任何一个键,我的代码的选定范围将被覆盖,而不是要替换的关键字符。

例子


我已经得到了它,很好。寻找问题;-)
 
7134956:
我很好。寻找原因;-)
谢谢你的反馈,看来键盘毕竟是有故障的。
 
papaklass:

为什么?

535 long dgt = SymbolInfoInteger(smb[number],SYMBOL_DIGITS);

549 if(dgt == 0){
Print("Buy Data == 0. error");
return(false)。
}
556 sl = MathMin(mrate[1].high - mrate[1].low,level) 。

560 打印(" sl =",DoubleToString(sl,dgt));// 1

Print(" sl =",DoubleToString(sl,_Digits);// 2

由于类型转换可能造成的数据丢失 ChampionShip2010_v6.mq5 560 49 - 这是指第一次打印。

其中smb[数字] - 不是主图表的货币对

如果我在第535行将long改为int,即

535 int dgt = SymbolInfoInteger(smb[number],SYMBOL_DIGITS);

由于类型转换可能导致数据丢失 ChampionShip2010_v6.mq5 535 31

有什么问题呢?

问题是SymbolInfoInteger(smb[number],SYMBOL_DIGITS);返回long类型,而DoubleToString(sl,dgt)函数必须传递int类型。这就是为什么你应该写DoubleToString(sl,(int)dgt))
 

测试结果是正确的,但在日志中却没有!

---------------------------------------------------------

以下是检查2对手数的代码

  double vol1 =0.0;
  double vol2 =0.0;
  if(PositionSelect(Symbol1)) vol1=PositionGetDouble(POSITION_VOLUME);
  if(PositionSelect(Symbol2)) vol2=PositionGetDouble(POSITION_VOLUME);
  Print ("vol1=",vol1,"vol2=",vol1,"vol1<vol2=",vol1<vol2);

但这就是普林特所显示的


这是一个什么样的奇迹呢?没有一个时刻看起来是一个比另一个大。

在所有TF上,不管是什么符号。

原因: