Antwort

Division des größten MAE durch den Leistungsbilanzsaldo

0 Antworten

Michael

Abonnent, bbp_participant, 9 Antworten.

Profil besuchen

vor 3 Jahren #268911

Hallo zusammen,

Ich möchte das größte MAE in % anzeigen. Dazu soll das größte MAE durch den aktuellen Kontostand geteilt und mit 100 multipliziert werden. Der Code für das größte MAE ist der folgende:

Paket 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("Größte MAE"), DatabankColumn.Decimal2PL, ValueTypes.Minimize, 0, 0, 100);

setWidth(70);

setTooltip(L.t("Größte MAE - ist die schlimmste maximale negative Ausdehnung aller Geschäfte"));
}

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

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

if(Auftrag.MAE > worstMAE) {
worstMAE = Auftrag.MAE;
}
}

Rückgabe -1*worstMAE;
}

}

Kann mir jemand helfen, den aktuellen Kontostand des Geschäfts zu ermitteln und die Variable worstMAE durch diesen zu dividieren? Ich denke, die Funktion AccountBalance aus der Klasse Order sollte ausreichen, aber ich bekomme sie nicht zum Laufen.

0