错误、漏洞、问题 - 页 1261

 

关于交易、自动交易系统和交易策略测试的论坛

安卓版MetaTrader 4和MetaTrader 5的移动应用程序已经更新

pav36krs, 2014.12.20 10:21

我的朋友们的帮助!!!。我下载了Metatrader,但它在我的64位Windows上无法在32位启动。 这是我第一次遇到这样的问题,之前我从alpha forex安装了Metatrader,一切运行正常。

 

位操作中的错误。

Print(int(1)<<34);

我们得到的是4,应该是0。MT打磨了多少年,还是有这样的失误。

 

还有呢,编译器没有发誓不使用这个偏移量?我怀疑这一点。

总之,这就是我们想要的。

00000000000000000000000000000001 << 34
00000000000000000000000000000100
 
GVladimir:

还有呢,编译器没有发誓不使用这个偏移量?我怀疑这一点。

总之,这就是我们想要的。

你显然不太了解位移的工作原理。 那里的低阶位不可能发生什么。 如果有疑问,C++是你的帮助。
 
meat:
那里的低阶位不能发生任何事情。
在MQL中,我认为所有的位移都是以循环方式实现的(ROL/ROR),(你可能不知道,因为C和C++都没有),就是为了应付这种情况。
 
GVladimir:
在MQL中,我相信所有的位移都是作为循环移位(ROL/ROR)来实现的,(你可能不知道,因为C和C++都没有),就是为了这种情况。

MQL文档没有说任何关于循环移位的内容,所以假定是通常的移位。但我在那里发现了下面这句话

不建议移位的位数多于或等于被移位变量的位数,因为这种操作的结果是无法定义的。

这是不正确的。在位操作中不可能有未定义的结果。只是离去的位子要么存储在一个特殊的标志中,要么不存储,但这对移位算法没有影响,也就是说,反正右边的位子是用0填满的。 如果是循环移位,必须明确说明(尽管普通的C++兼容的移位会更正确)。

 

是否可以将一个由旧版编译的指标作为资源连接到另一个指标?

我不能让它以这种方式工作。

........ 

#resource "\\Indicators\\тфьу.ex4"

........ 

int OnCalculate(const int rates_total,

                const int prev_calculated,

                const datetime &time[],

                const double &open[],

                const double &high[],

                const double &low[],

                const double &close[],

                const long &tick_volume[],

                const long &volume[],

                const int &spread[])

  {

........ 

ExtLimeBuffer[i]=iCustom(_Symbol,0,"::Indicators\\тьфу.ex4",pr1,pr2,pr3,pr4,pr5,pr6,pr7,2,i);

........ 

  return(rates_total);

}


 

编译者这样说。

unknown resource type 'C:\Program Files\MT4\MQL4\Indicators\тфьу.ex4' тфьу1.mq4 10 1

 

 


 
meat:

MQL文件没有说任何关于周期性移位的内容,所以它假定是正常移位。然而,我在那里发现了一个类似的短语。

这是不正确的。在位操作中不能出现未定义的结果。只是离去的位子要么存储在一个特殊的标志中,要么不存储,但这并不影响移位算法,也就是说,反正右边的位子是用0来填充的。 如果是循环移位,你需要明确指定(尽管与普通++兼容的移位会更正确)。

这可能是。

32位整数最多有5位(64位整数有6位)必须参与移位操作。如果一个移位值需要超过5(或6)位,不同的处理器对这种情况的处理方式不同。在文档中,我们只是通过说操作的结果 是未定义的来反映这一事实。

Документация по MQL5: Торговые функции / OrderCalcProfit
Документация по MQL5: Торговые функции / OrderCalcProfit
  • www.mql5.com
Торговые функции / OrderCalcProfit - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
sanyooooook:

...
编译器是这样写的。

unknown resource type 'C:\Program Files\MT4\MQL4\Indicators\тфьу.ex4' тфьу1.mq4 10 1

显然,编译器比它看起来更聪明。它想找到tfu1.mq4的源代码,然后把它作为一个资源附在上面。