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;
}
Há outras condições de execução que também mudam o valor do estado, mas por que é que o valor é sempre 0, não muda?
Gatinho de macacoO código pode ser inteiro, então não há problema de localização, você pode exportar o valor alterado para ver se ele é e, em geral, o debug pode resolver o problema.
Inventor quantificado - sonho pequenoIsso parece muito parecido com a estratégia de futuros de duplo impulso, onde a lógica de que o Estado não mudou não deve ser a lógica que desencadeou a revalorização do Estado.