Risposta

Dividere il MAE maggiore per il saldo delle partite correnti

0 risposte

Michele

Abbonato, bbp_partecipante, 9 risposte.

Visita il profilo

3 anni fa #268911

Ciao a tutti,

Voglio mostrare il più grande MAE in %. A tal fine, il MAE più grande deve essere diviso per il saldo del conto corrente e moltiplicato per 100. Il codice per il MAE maggiore è il seguente:

pacchetto SQ.Columns.Databanks;

importare com.strategyquant.lib.L;
importare com.strategyquant.lib.SettingsMap;
import com.strategyquant.tradinglib.DatabankColumn;
importare com.strategyquant.tradinglib.Order;
importare com.strategyquant.tradinglib.OrdersList;
importare com.strategyquant.tradinglib.SQStats;
importare com.strategyquant.tradinglib.StatsTypeCombination;
importare 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 - è la peggiore escursione massima avversa di tutte le operazioni"));
}

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

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

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

restituire -1*worstMAE;
}

}

Qualcuno può aiutarmi a trovare il saldo del conto corrente della negoziazione e a dividere la variabile worstMAE per esso? Penso che la funzione AccountBalance della classe Order dovrebbe essere sufficiente, ma non riesco a farla funzionare.

0