voidOnStart()
{
uchar max=0;
for(int t=0;t<LONG_MAX;t++) {max++;} //так получаем предупреждение expression is always true, цикл работаетfor(int t=0;t<LONG_MAX+1;t++) {max++;} //так предупреждение есть, но цикл не работаетfor(int t=0;t<ULONG_MAX;t++) {max++;} //так нет предупреждения и цикл не пашетPrint("Done!");
}
voidOnStart()
{
uchar max=0;
for(int t=0;t<ULONG_MAX-1 e0;t++) {max++;} //так цикл работает, предупреждения нет так как ULONG_MAX-1e0 имеет тип doublefor(int t=0;t<ULONG_MAX-1;t++) {max++;} //а так нет и предупреждения тоже нетPrint("Done!");
}
我正在为一个MT4的EA编写一个ToR,优先考虑加速数据处理。
请告知计算或抽样的顺序(正确的名称是什么--代表?)对加速是否重要。
我以图片的形式附上两种变体,显示方框图。
如果可以的话,请写出如果选择性地执行区块将是-个纯粹的原始布局,那么代码应该是怎样的,这是否会带来明显的速度提升!?
如何解释这种关闭 测试员职位 的做法?是由于价差扩大造成的吗?
来自MetaTrader交易平台的截图
EurusD, M20, 2014.04.12
Alfa-Forex, MetaTrader 5, 真实
temp_file_screenshot_63279.png
如何解释这种关闭 测试员职位 的做法?是价差的扩大吗?
[img]https://charts.mql5.com/4/434/eurusd-m20-alfa-foreks-temp-file-screenshot-63279-png.png[/img]
如果价差扩大了(从截图来看--扩大了720点!在五位数上),那么一切都正确了。
卖出头寸已在问价处关闭。这是在放置了止损的情况下。
顺便说一下,你的经纪人Alfa-Forex在周末和开始时 都有巨大的点差。
可能它们被记录在报价历史中,测试者在它们上面模拟交易。
周末的止损是很危险的--反正他们不会从缺口处救出来,摊开加宽很容易抓住你。
这里没有错误,因为LONG_MAX+1< 0
这里的警告是有效的(t<LONG_MAX 总是 true if t int ) 无限循环。因为ULONG_MAX-1< 0, 所以没有错误,因为比较操作被简化为int
那么如何解释呢。
这里没有错误,因为ULONG_MAX-1< 0,也就是说,比较操作是投向int或long的。
你是指循环中被测试表达式中的比较吗?
因为在简单的比较中似乎不是这样的。
只要把它们调换一下就可以了 :)
这个重排的作用是什么?t低于ULONG_MAX-1,现在仍然如此。