Diviser le plus grand MAE par le solde des comptes courants
0 réponses
Michael
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.