Répondre

Diviser le plus grand MAE par le solde des comptes courants

0 réponses

Michael

Abonné, bbp_participant, 9 réponses.

Visiter le profil

il y a 3 ans #268911

Bonjour à tous,

Je veux montrer la plus grande MAE dans %. Pour cela, le plus grand MAE doit être divisé par le solde du compte courant et multiplié par 100. Le code pour la plus grande MAE est le suivant :

package 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 - is the worst Maximum Adverse Excursion of all trades")) ;
}

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

@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) ;

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

renvoie -1*worstMAE ;
}

}

Quelqu'un peut-il m'aider à trouver le solde du compte courant du commerce et à diviser la variable worstMAE par ce solde ? Je pense que la fonction AccountBalance de la classe Order devrait suffire, mais je ne parviens pas à la faire fonctionner.

0