Hi Buddy, I like the effort that you are putting in and giving it away for free. I tried to test the tool; everything went well. I am not able to complile of the source file name CPropDashboardPanel.mqh
I am attaching the log of those errors; can you look into these errors?
CPropDashboardPanel.mqh
declaration without type CPropDashboardPanel.mqh 103 30
comma expected CPropDashboardPanel.mqh 103 49
declaration without type CPropDashboardPanel.mqh 115 31
comma expected CPropDashboardPanel.mqh 115 51
declaration without type CPropDashboardPanel.mqh 250 16
comma expected CPropDashboardPanel.mqh 250 30
undeclared identifier 'sev' CPropDashboardPanel.mqh 105 14
'sev' - illegal switch expression type CPropDashboardPanel.mqh 105 14
undeclared identifier 'PROP_SEV_BREACH' CPropDashboardPanel.mqh 107 15
'PROP_SEV_BREACH' - constant expression is not integral CPropDashboardPanel.mqh 107 15
undeclared identifier 'PROP_SEV_ADVISORY' CPropDashboardPanel.mqh 108 15
'PROP_SEV_ADVISORY' - constant expression is not integral CPropDashboardPanel.mqh 108 15
undeclared identifier 'PROP_SEV_WARNING' CPropDashboardPanel.mqh 109 15
'PROP_SEV_WARNING' - constant expression is not integral CPropDashboardPanel.mqh 109 15
undeclared identifier 'PROP_SEV_INFO' CPropDashboardPanel.mqh 110 15
'PROP_SEV_INFO' - constant expression is not integral CPropDashboardPanel.mqh 110 15
'PROP_SEV_BREACH' - case value already used CPropDashboardPanel.mqh 107 15
see previous usage CPropDashboardPanel.mqh 108 15
'PROP_SEV_WARNING' - case value already used CPropDashboardPanel.mqh 109 15
see previous usage CPropDashboardPanel.mqh 107 15
'PROP_SEV_INFO' - case value already used CPropDashboardPanel.mqh 110 15
see previous usage CPropDashboardPanel.mqh 109 15
undeclared identifier 'dir' CPropDashboardPanel.mqh 117 14
'dir' - illegal switch expression type CPropDashboardPanel.mqh 117 14
undeclared identifier 'PROP_DIRECTIVE_LOCKDOWN' CPropDashboardPanel.mqh 119 15
'PROP_DIRECTIVE_LOCKDOWN' - constant expression is not integral CPropDashboardPanel.mqh 119 15
undeclared identifier 'PROP_DIRECTIVE_FLATTEN' CPropDashboardPanel.mqh 120 15
'PROP_DIRECTIVE_FLATTEN' - constant expression is not integral CPropDashboardPanel.mqh 120 15
undeclared identifier 'PROP_DIRECTIVE_BLOCK_NEW_ENTRIES' CPropDashboardPanel.mqh 121 15
'PROP_DIRECTIVE_BLOCK_NEW_ENTRIE…' - constant expression is not integral CPropDashboardPanel.mqh 121 15
undeclared identifier 'PROP_DIRECTIVE_ADVISORY' CPropDashboardPanel.mqh 122 15
'PROP_DIRECTIVE_ADVISORY' - constant expression is not integral CPropDashboardPanel.mqh 122 15
'PROP_DIRECTIVE_LOCKDOWN' - case value already used CPropDashboardPanel.mqh 119 15
see previous usage CPropDashboardPanel.mqh 120 15
'PROP_DIRECTIVE_BLOCK_NEW_ENTRIE…' - case value already used CPropDashboardPanel.mqh 121 15
see previous usage CPropDashboardPanel.mqh 119 15
'PROP_DIRECTIVE_ADVISORY' - case value already used CPropDashboardPanel.mqh 122 15
see previous usage CPropDashboardPanel.mqh 121 15
undeclared identifier 'guard' CPropDashboardPanel.mqh 261 10
undeclared identifier 'ENUM_PROP_DIRECTIVE' CPropDashboardPanel.mqh 268 10
undeclared identifier 'dir' CPropDashboardPanel.mqh 268 30
'dir' - some operator expected CPropDashboardPanel.mqh 268 30
undeclared identifier 'guard' CPropDashboardPanel.mqh 268 38
undeclared identifier 'dir' CPropDashboardPanel.mqh 269 53
undeclared identifier 'PropDirectiveName' CPropDashboardPanel.mqh 271 56
undeclared identifier 'dir' CPropDashboardPanel.mqh 271 74
'dir' - some operator expected CPropDashboardPanel.mqh 271 74
undeclared identifier 'ENUM_PROP_RULE' CPropDashboardPanel.mqh 274 7
undeclared identifier 'rules' CPropDashboardPanel.mqh 274 22
'rules' - some operator expected CPropDashboardPanel.mqh 274 22
']' - unexpected token CPropDashboardPanel.mqh 274 29
expression has no effect CPropDashboardPanel.mqh 274 28
'=' - operand expected CPropDashboardPanel.mqh 274 31
undeclared identifier 'PROP_RULE_STATIC_DD' CPropDashboardPanel.mqh 276 10
undeclared identifier 'PROP_RULE_TRAILING_DD' CPropDashboardPanel.mqh 276 31
undeclared identifier 'PROP_RULE_DAILY_LOSS' CPropDashboardPanel.mqh 276 54
undeclared identifier 'PROP_RULE_PROFIT_TARGET' CPropDashboardPanel.mqh 277 10
undeclared identifier 'PROP_RULE_CONSISTENCY' CPropDashboardPanel.mqh 277 35
undeclared identifier 'PROP_RULE_MIN_TRADING_DAYS' CPropDashboardPanel.mqh 277 58
undeclared identifier 'PROP_RULE_NEWS_WINDOW' CPropDashboardPanel.mqh 278 10
undeclared identifier 'PROP_RULE_WEEKEND_FLAT' CPropDashboardPanel.mqh 278 33
undeclared identifier 'PropRuleVerdict' CPropDashboardPanel.mqh 283 10
undeclared identifier 'v' CPropDashboardPanel.mqh 283 26
'v' - some operator expected CPropDashboardPanel.mqh 283 26
undeclared identifier 'guard' CPropDashboardPanel.mqh 283 30
undeclared identifier 'PropRuleName' CPropDashboardPanel.mqh 284 33
undeclared identifier 'rules' CPropDashboardPanel.mqh 284 46
'[' - array required CPropDashboardPanel.mqh 284 51
'rules' - some operator expected CPropDashboardPanel.mqh 284 46
undeclared identifier 'v' CPropDashboardPanel.mqh 289 14
';' - unexpected token CPropDashboardPanel.mqh 291 34
'!' - l-value required CPropDashboardPanel.mqh 289 13
cannot implicitly convert type 'string' to 'bool' CPropDashboardPanel.mqh 291 27
l-value required CPropDashboardPanel.mqh 291 20
'(' - unbalanced left parenthesis CPropDashboardPanel.mqh 289 12
empty controlled statement found CPropDashboardPanel.mqh 291 34
variable 'line' not used CPropDashboardPanel.mqh 285 17
illegal 'else' without matching 'if' CPropDashboardPanel.mqh 295 10
69 errors, 3 warnings 69 3
Thanks for the detailed log - that is what made it easy to find. You are right, and the fault is mine: CPropDashboardPanel.mqh was missing its own #include, so it only compiled when another file had already pulled in the types it uses. On its own it fails exactly as you saw.
It is fixed - one include line at the top - and the updated file is already in the CodeBase entry. I also checked every other file in the package the same way you did, compiling each one on its own; the rest were fine.
Thanks again for taking the time to test it and to send the log.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
PropFirm Defense:
A library of 24 MQL5 classes that watches a prop-firm rulebook -- drawdown, daily loss, payout consistency, minimum trading days, news blackout -- against any account, and flattens on breach without ever opening a position of its own.
Author: Bruno Nunes Myrrha Ribeiro