¿Por qué las funciones posteriores no cambian?

El autor:- ¿ Por qué?, Creado: 2018-11-13 17:27:58, Actualizado: 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;
        }

Hay otras condiciones de ejecución que cambian el valor de State, pero ¿por qué siempre es 0 y no cambia?


Más.

Los gatitos¿Puede el código ser completo, así que no se puede localizar el problema, se puede exportar el valor después de haber cambiado y ver si, en general, el debujo puede localizar el problema.

Un sueño pequeño.Esto se parece mucho a la estrategia de futuros de doble impulso, la lógica de que el Estado no debe cambiar es la lógica de que no debe desencadenar una revalorización del Estado.