是否有可能避免在条件中出现许多 "或"(||)造成相同的动作?

 

没有一个操作员适合。如果没有if(A || B || C || D || E)Action,还有其他方法吗?

由于我正在思考的问题很重要,而且找不到更合理的解决方案,所以我请版主不要把它发到一般提问者的主题中去!谢谢你!

 

可以简单地在布尔变量中,例如

X=A || B。

X=X || C || D。

X=X || E。

如果(X)行动。

 
Avals:

可以简单地在布尔变量中,例如

X=A || B。

X=X || C || D。

X=X || E。

如果(X)行动。

谢谢你的反馈意见!而这些bools可能相当复杂,涉及许多参数,取决于不断变化的市场条件?
 
borilunad:
谢谢你的反馈意见!而这些工具可能相当复杂,取决于不断变化的市场条件?


当然

 
Avals:


当然

再次感谢!我现在就去试试!

在码头上看了看,看到。

bool a = true;
bool b = false;
bool c = 1;

а = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo);
一个布尔值a可以被赋予这个值吗?

 
borilunad:

再次感谢!我现在就去试试!

在码头上看了看,看到。


你可以,但速度会下降很多。
 
Vinin:

你可以,但速度会急剧下降。
速度不是受if()中 "或 "的影响吗?
 
borilunad:
速度不是受if()中 "或 "的影响吗?

他们当然会这样做。你必须检查它。
 
Vinin:

他们当然会这样做。它必须被检查。
但如果你不能快速找到东西,那我就坚持用if()!我已经通过删除所有函数中对我来说不必要的检查,明显地减少了速度的下降。非常感谢您的关注!我很乐意学习和检查所有可能的选择!"。
 

你也可以通过这种方式来优化计算。

    bool M = false;

    if (A) M = true; else if (B) M = true; else if (C) M = true; else if (D) M = true; else if (E) M = true;
    if (M) Action;
 

或者像这样。

    bool M = true;

    if (!A) if (!B) if (!C) if (!D) if (!E) M = false;
    if (M) Action;