Resposta

Dividir o maior MAE pelo saldo da conta corrente

0 respostas

Michael

Assinante, bbp_participante, 9 respostas.

Perfil da visita

3 anos atrás #268911

Olá a todos,

Quero mostrar o maior MAE no %. Para isso, o maior MAE deve ser dividido pelo saldo da conta corrente e multiplicado por 100. O código para o maior MAE é o seguinte:

pacote 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 DatabankColumn {

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

setWidth(70);

setTooltip(L.t("Biggest MAE - é o pior Maximum Adverse Excursion de todas as negociações"));
}

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

@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++) {
Order order = ordersList.get(i);

se (order.MAE > worstMAE) {
piorMAE = ordem.MAE;
}
}

retornar -1*worstMAE;
}

}

Alguém pode me ajudar a encontrar o saldo da conta corrente da negociação e dividir a variável worstMAE por ele? Acho que a função AccountBalance da classe Order deve ser suficiente, mas não consigo fazê-la funcionar.

0