mirror of
https://github.com/alexcercos/AlgoMasterNNFX-V1.git
synced 2025-07-30 07:27:50 +00:00
Compile old version code to repository Remaining to do: -Add included indicators ex5/mq5 (depending on the case), or modified versions -Test both versions -Refactor
78 lines
No EOL
2.4 KiB
MQL5
78 lines
No EOL
2.4 KiB
MQL5
|
|
class CExtendedSummary
|
|
{
|
|
private:
|
|
enum CloseLevelsEnum
|
|
{
|
|
CL_MAX_SL,
|
|
CL_LOSS_EX,
|
|
CL_LOSS_C1,
|
|
CL_LOSS_BL,
|
|
CL_LOSS_NEWS,
|
|
CL_BE_SL,
|
|
CL_PROFIT_BEF_EX,
|
|
CL_PROFIT_BEF_C1,
|
|
CL_PROFIT_BEF_BL,
|
|
CL_PROFIT_BEF_NEWS,
|
|
CL_HIT_TRAILING,
|
|
CL_PROFIT_AFTER_EX,
|
|
CL_PROFIT_AFTER_C1,
|
|
CL_PROFIT_AFTER_BL
|
|
};
|
|
|
|
int total_closes;
|
|
int close_levels[14];
|
|
|
|
public:
|
|
CExtendedSummary();
|
|
|
|
#define ADD_CL(func, en) void Add_##func() { close_levels[en]++; total_closes++; }
|
|
|
|
ADD_CL(MaxSL, CL_MAX_SL)
|
|
ADD_CL(Loss_Exit, CL_LOSS_EX)
|
|
ADD_CL(Loss_C1, CL_LOSS_C1)
|
|
ADD_CL(Loss_Baseline, CL_LOSS_BL)
|
|
ADD_CL(Loss_News, CL_LOSS_NEWS)
|
|
ADD_CL(Breakeven, CL_BE_SL)
|
|
ADD_CL(BeforeTP_Exit, CL_PROFIT_BEF_EX)
|
|
ADD_CL(BeforeTP_C1, CL_PROFIT_BEF_C1)
|
|
ADD_CL(BeforeTP_Baseline, CL_PROFIT_BEF_BL)
|
|
ADD_CL(BeforeTP_News, CL_PROFIT_BEF_NEWS)
|
|
ADD_CL(TrailingStop, CL_HIT_TRAILING)
|
|
ADD_CL(AfterTP_Exit, CL_PROFIT_AFTER_EX)
|
|
ADD_CL(AfterTP_C1, CL_PROFIT_AFTER_C1)
|
|
ADD_CL(AfterTP_Baseline, CL_PROFIT_AFTER_BL)
|
|
|
|
void PrintExtendedSummary();
|
|
};
|
|
|
|
CExtendedSummary::CExtendedSummary()
|
|
{
|
|
total_closes = 0;
|
|
ArrayInitialize(close_levels, 0);
|
|
}
|
|
|
|
#define SEP_LINES_EXTSUM "-------------------------"
|
|
#define PRINT_CL(mes, en) Print(mes, IntegerToString(close_levels[en]));
|
|
#define PRINT_CL_IF(mes, en) if (close_levels[en]>0) PRINT_CL(mes, en)
|
|
|
|
void CExtendedSummary::PrintExtendedSummary(void)
|
|
{
|
|
Print(SEP_LINES_EXTSUM);
|
|
Print("EXTENDED SUMMARY (Total = ", total_closes, ")");
|
|
PRINT_CL(" - Maximum SL Hit: ", CL_MAX_SL)
|
|
PRINT_CL_IF(" - Close at Loss (Exit): ", CL_LOSS_EX)
|
|
PRINT_CL_IF(" - Close at Loss (C1): ", CL_LOSS_C1)
|
|
PRINT_CL_IF(" - Close at Loss (Baseline): ", CL_LOSS_BL)
|
|
PRINT_CL_IF(" - Close at Loss (News): ", CL_LOSS_NEWS)
|
|
PRINT_CL_IF(" - Hit Breakeven SL: ", CL_BE_SL)
|
|
PRINT_CL_IF(" - Close in Profit before TP (Exit): ", CL_PROFIT_BEF_EX)
|
|
PRINT_CL_IF(" - Close in Profit before TP (C1): ", CL_PROFIT_BEF_C1)
|
|
PRINT_CL_IF(" - Close in Profit before TP (Baseline): ", CL_PROFIT_BEF_BL)
|
|
PRINT_CL_IF(" - Close in Profit before TP (News): ", CL_PROFIT_BEF_NEWS)
|
|
PRINT_CL_IF(" - Hit Trailing Stop: ", CL_HIT_TRAILING)
|
|
PRINT_CL_IF(" - Close in Profit after TP (Exit): ", CL_PROFIT_AFTER_EX)
|
|
PRINT_CL_IF(" - Close in Profit after TP (C1): ", CL_PROFIT_AFTER_C1)
|
|
PRINT_CL_IF(" - Close in Profit after TP (Baseline): ", CL_PROFIT_AFTER_BL)
|
|
Print(SEP_LINES_EXTSUM);
|
|
} |