【发布时间】:2019-10-04 01:56:06
【问题描述】:
我已经在谷歌上搜索了两天,但无法弄清楚,这似乎是基本的。
在void OnTick() 中,我想创建一个变量int a;。假设它开始时没有值int a;,然后我测试条件a 是否为NULL 或|| 等于1 就像这样if (a == NULL || a == 1) 应该总是在第一次if 语句时返回true由于NULL 而运行。然后我给变量a = 0;赋值,所以现在a应该等于0。
这应该会在下次调用OnTick() 时触发else if(a == 0),此时我分配a = 1; 导致下一轮触发if,等等和无限,不断检查和分配值之间切换0 和 1。
void OnTick()
int a;
if (PositionsTotal() < 1)
{
if(a == NULL || a == 1)
{
a = 0;
}
else if(a == 0)
{
a = 1;
}
}
我不知道发生了什么,但是在策略测试器中的测试期间,我得到一长串数字,它们在负数和正数之间切换,始终使用相同的数字 -123456789 或 123456789,总是 9 位数长.
或在元编辑器调试期间。一个永远不会改变的随机正 3 位数字!
到目前为止,我有 303 和 597。
除了令人沮丧之外,很可能在其他地方得到了回答。
只是不知道如何表达搜索词。
感谢您的帮助。
【问题讨论】:
标签: c# c++ if-statement scope mql5