Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.kronus.core;

public enum StatusSinal {

    P("Pendente"),                  // ainda não analisado pelo robô de monitoramento
    O("Ordem Criada"),              // NEW na Binance (ordem aberta/criada)
    W("Parcialmente Executada"),    // PARTIALLY_FILLED
    E("Executada"),                 // FILLED
    C("Cancelada"),                 // CANCELED
    R("Rejeitada"),                 // REJECTED
    X("Expirada"),                  // EXPIRED
    L("Liquidada"),                 // posição liquidada
    N("Auto-Deleveraging Triggered"); // ADL

    private final String descricao;

    StatusSinal(String descricao) {
        this.descricao = descricao;
    }

    public String getDescricao() {
        return descricao;
    }

    public static StatusSinal fromCodigo(String codigo) {
        if (codigo == null) return null;
        for (StatusSinal s : values()) {
            if (s.name().equalsIgnoreCase(codigo.trim())) {
                return s;
            }
        }
        return null;
    }

    public String getCodigo() {
        return name();
    }

    public boolean isFinal() {
        switch (this) {
            case E: // Executada
            case C: // Cancelada
            case R: // Rejeitada
            case X: // Expirada
            case L: // Liquidada
            case N: // ADL
                return true;
            default:
                return false;
        }
    }
}