求教,定义了全局变量,后面函数为什么一直赋值不会变呢?

Author: dahan, Created: 2018-11-13 17:27:58, Updated: 2018-11-14 09:11:29

var STATE_IDLE = 0;
var STATE_LONG = 1;
var STATE_SHORT = 2;
var State = STATE_IDLE;

function Trade(currentState, nextState) {

    if (currentState === STATE_IDLE) {
        if (nextState === STATE_LONG) {
            exchange.SetDirection("buy");
            AmountOP = InitAccount.Stocks * 10 / 2;
            exchange.Buy(_C(exchange.GetTicker).Sell, AmountOP);
            State = STATE_LONG;
        }

后面还有其他条件判断执行,也会更改State的值,但为什么一直是0,不会变呢?


More

崔小猫 代码能完整点吗,这样不能定位问题,你可以输出改变后的值看看有没有,一般调试下就能定位问题了

小小梦 这个看上去很像 Dual Thrust 期货策略, State 没有改变应该是 没有触发 给State 重新赋值的 逻辑。