Respuesta

Dividir la mayor MAE por la balanza por cuenta corriente

0 respuestas

Michael

Abonado, bbp_participant, 9 respuestas.

Visitar el perfil

hace 3 años #268911

Hola a todos,

Quiero mostrar el mayor MAE en %. Para ello, el mayor MAE debe dividirse por el saldo de la cuenta corriente y multiplicarse por 100. El código para el mayor MAE es el siguiente:

paquete SQ.Columns.Databanks;

import com.strategyquant.lib.L;
import com.strategyquant.lib.SettingsMap;
import com.strategyquant.tradinglib.DatabankColumn;
import com.strategyquant.tradinglib.Order;
import com.strategyquant.tradinglib.OrdersList;
import com.strategyquant.tradinglib.SQStats;
import com.strategyquant.tradinglib.StatsTypeCombination;
import com.strategyquant.tradinglib.ValueTypes;

public class BiggestMAE extends DatabankColumna {

public BiggestMAE() {
super(L.t("Mayor MAE"), DatabankColumn.Decimal2PL, ValueTypes.Minimize, 0, 0, 100);

setWidth(70);

setTooltip(L.t("Mayor MAE - es la peor Excursión Adversa Máxima de todas las operaciones"));
}

//————————————————————————

@Override
public double compute(SQStats stats, StatsTypeCombination combination, OrdersList ordersList, SettingsMap settings, SQStats statsLong, SQStats statsShort) throws Exception {
double worstMAE = -Double.MAX_VALUE;

for(int i = 0; i<ordersList.size(); i++) {
Pedido pedido = ordersList.get(i);

if(orden.MAE > peorMAE) {
peorMAE = orden.MAE;
}
}

Devuelve -1*worstMAE;
}

}

¿Puede alguien ayudarme a encontrar el saldo actual de la cuenta de la operación y dividir la variable worstMAE por él? Creo que la función AccountBalance de la clase Order debería ser suficiente, pero no consigo que funcione.

0