From 03e5e2aebe5cb46401f76385983069fd8ce39175 Mon Sep 17 00:00:00 2001 From: Matt Corcoran Date: Sun, 10 Nov 2024 15:18:39 +0100 Subject: [PATCH] update --- CustomMax.mqh | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/CustomMax.mqh b/CustomMax.mqh index 4e1fdc7..ce60189 100644 --- a/CustomMax.mqh +++ b/CustomMax.mqh @@ -4,7 +4,15 @@ enum CUSTOM_MAX_TYPE{ CM_WIN_LOSS_RATIO, CM_WIN_PERCENT, - CM_WIN_PERCENT_200T + CM_WIN_PERCENT_200T, + CM_WIN_PERCENT_300T, + CM_WIN_PERCENT_400T, + CM_WIN_PERCENT_500T, + CM_WIN_PERCENT_600T, + CM_WIN_PERCENT_700T, + CM_WIN_PERCENT_800T, + CM_WIN_PERCENT_900T, + CM_WIN_PERCENT_1000T, }; class CustomMax : public CObject{ @@ -14,7 +22,7 @@ class CustomMax : public CObject{ double CustomMax::win_loss_ratio(); double CustomMax::win_percent(); - double CustomMax::win_percent_min_trades_200(); + double CustomMax::win_percent_min_trades(int min_resuired_trades); public: double CustomMax::calculate_custom_criteria(CUSTOM_MAX_TYPE cm_type); @@ -31,8 +39,32 @@ double CustomMax::calculate_custom_criteria(CUSTOM_MAX_TYPE cm_type){ custom_criteria = win_percent(); } if(cm_type==CM_WIN_PERCENT_200T){ - custom_criteria = win_percent_min_trades_200(); + custom_criteria = win_percent_min_trades(200); } + if(cm_type==CM_WIN_PERCENT_300T){ + custom_criteria = win_percent_min_trades(300); + } + if(cm_type==CM_WIN_PERCENT_400T){ + custom_criteria = win_percent_min_trades(400); + } + if(cm_type==CM_WIN_PERCENT_500T){ + custom_criteria = win_percent_min_trades(500); + } + if(cm_type==CM_WIN_PERCENT_600T){ + custom_criteria = win_percent_min_trades(600); + } + if(cm_type==CM_WIN_PERCENT_700T){ + custom_criteria = win_percent_min_trades(700); + } + if(cm_type==CM_WIN_PERCENT_800T){ + custom_criteria = win_percent_min_trades(800); + } + if(cm_type==CM_WIN_PERCENT_900T){ + custom_criteria = win_percent_min_trades(900); + } + if(cm_type==CM_WIN_PERCENT_1000T){ + custom_criteria = win_percent_min_trades(1000); + } return custom_criteria; } @@ -48,11 +80,11 @@ double CustomMax::win_percent(){ return wins / total_trades * 100; } -double CustomMax::win_percent_min_trades_200(){ +double CustomMax::win_percent_min_trades(int min_resuired_trades){ double wins = TesterStatistics(STAT_PROFIT_TRADES); double total_trades = TesterStatistics(STAT_TRADES); - if(total_trades<200){ + if(total_trades