好像 多个互斥分支 if...else if...else 这个结构现在用不了了?

请大家帮我看看,代码如下,我是代码小白,一个很简单的逻辑,用if..else if..else 三个分支控制。但是结果却不是对的。这一点我真的不明白了,根据官方条件控制语句分支的描述,


我的代码如下:

Params

//此处添加参数


Vars

//此处添加变量

Numeric a;

Numeric b;


Defs

//此处添加公式函数

Events

//此处实现事件函数

//初始化事件函数,策略运行期间,首先运行且只有一次

OnInit()

{

a = -5;

}



//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

OnBar(ArrayRef<Integer> indexs)

{

if(a > 0)

b = 1;

else if(a < 0)

b = -1;

else

b = 0;

Commentary("b = " + text(b));  

}



我的理解Commentary出b的结果应该等于-1。但事实情况却是0,

关于分支条件判断语句结构与执行效率的问题
依然是互斥
如何让多个指标用代码实现在子图显示
关于A函数不能做为分支条件
setPlotOption函数用不了
期权的Position结构体
急急急!!!TBQ如何实现在同一合约上运行多个策略,各策略信号彼此不受影响?
分段新建优化任务,用不了。
tick结构体
setPlotOption 这个代码用不了,begin-bar 怎么应用

花括号呢,可以打开看一下系统策略是怎么用ifelse的

https://www.bilibili.com/video/BV1ZG411f7bt/?spm_id_from=333.999.0.0&vd_source=148cb1d807933f47bb50c46ed69d3c82

看一下零基础课程里关于数据结构的说明

是不是因为a变量没有全局化引起的?

就是这个原因。

局部变量的意思就是只在局部域内有效,一般这个域指的是{},跨域不传递内容。

就是这个原因。

局部变量的意思就是只在局部域内有效,一般这个域指的是{},跨域不传递内容。