//+------------------------------------------------------------------+
//|                                                     erpefine.mqh |
//|                                 Copyright 2014, Bear Naked Forex |
//|                                  https://www.GrayBoxBlackBox.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, Bear Naked Forex"
#property link      "https://www.GrayBoxBlackBox.com"
#property strict

 
//+ --------------------------------------------------------------------------+
//+   * CheckStatus                                                           |
//+     Include\\FATTools Type Cast\\\BNForex Includes\\CheckStatus.mqh       |
//+ --------------------------------------------------------------------------+

//+---------------------------------------------------------------------------+
//|   * Validate.                                                             |
//|     Include\\FATTools Type Cast\\BNForex Includes\\UserInputs             |
//+---------------------------------------------------------------------------+

#define erLevelOne     -1
#define erLevelTwo     -2
#define erLevelThree   -3

//+------------------------------------------------------------------+
//| User Input errors                                                |
//+------------------------------------------------------------------+
//+---- u - User error
//+---- p - Programer 
//+---- d - Desk errors 
//+---- m - metatrader
//+---- s - scanning not critical no fail

#define eruNoCMD           -1  
#define eruNoLots          -2
#define eruNoEPrice        -3
#define eruNoSPrice        -4
#define eruNoTPrice        -5
#define eruNoExp           -8
#define eruNoSymbol        -9
#define eruMaxLossOpen     -10
#define eruEAInstance      -11
#define eruEmail           -12
#define eruMaxLossClosed   -13
#define eruTradingAllowed  -14
#define eruDllChecked      -15
#define erpUnable2Load     -16
#define eruEaAuth          -17
#define eruEaWrongTF       -18
#define eruNoTrend         -19
#define eruAlreadyRunning  -20

//+------------------------------------------------------------------+
//| Developer errors                                                 |
//+------------------------------------------------------------------+
//+---- u - User error
//+---- p - Programer 
//+---- d - Desk errors 
//+---- m - metatrader
//+---- s - scanning not critical no fail

#define erpTradeLocked        -100
#define erpPatternLocked      -101
#define erpSTW                -102
#define erpOverUnder          -103
#define erpPipe               -104
#define ermData               -105
#define erpConnect            -106
#define erpLocalInt           -107
#define erpPivot              -108
#define erpGidFailed          -109
#define erpTradingEA          -110
#define erpFailedGMT          -111
#define erpDiabled            -112
#define erpFiveTimes          -113
#define erpNoStopLoss         -114
#define erpDisableEA          -115
#define erpStallEA            -116
#define erpSQLLocked          -117
#define erpCorrelationLocked  -118
#define erpPivotLocked        -120
#define erpGodint             -121
#define erpArraySize          -122
//+-------------------------------+
//| Developer errors for Sql      |
//+-------------------------------+
//+---- u - User error
//+---- p - Programer 
//+---- d - Desk errors 
//+---- m - metatrader
//+---- s - scanning not critical no fail



#define erpNoSqlArray       -150
#define erpSqlInt           -151
#define erpSqlInsert        -153
#define erpSqlQuery         -154
#define erpSqlUpdate        -155
#define erpSqlDelete        -156
#define erpSqlSelect        -157
#define erpSqlNoUserName    -158
//+-------------------------------+
//| Developer errors for Orders   |
//+-------------------------------+
//+---- u - User error
//+---- p - Programer 
//+---- d - Desk errors 
//+---- m - metatrader
//+---- s - scanning not critical no fail



#define erpOrderSendOk     -175
#define erpOrderModify     -176
#define erpOrderSelect     -177
#define erpOrderSelectCMD  -178
#define erpOrderSelectSYM  -179
#define erpOrderSelectEA   -180
#define erpOrderSelectDT   -181
#define erpOrderDelete     -182
#define erpOrderClose      -183
#define erpOrderMod        -184
#define erp2Close2Change   -185
#define erpNoMNumber       -186

//+-------------------------------+
//| Desk Errors                   |
//+-------------------------------+
//+---- u - User error
//+---- p - Programer 
//+---- d - Desk errors 
//+---- m - metatrader
//+---- s - scanning not critical no fail


#define erdAllowed         -200
#define erdLotsStep        -201
#define erdSTMDISABLED     -202
#define erdSTMSHORTONLY    -203
#define erdSTMLONGONLY     -204
#define erdSTMCLOSENLY     -205
#define erdFifoFailedClose -206
#define erdMinL            -207
#define erdMaxL            -208 
#define erdTarget          -209 
#define erdStop            -210
#define erdWebUTC          -211
#define erdMargin          -212
#define erdSymbol          -213 
#define erdMaxLotsDesk     -214

//+-------------------------------+
//| Metatrader Errors             |
//+-------------------------------+
//+---- u - User error
//+---- p - Programer 
//+---- d - Desk errors 
//+---- m - metatrader
//+---- s - scanning not critical no fail

#define ermVersion         -226
#define ermSync            -227
#define ermRates           -228
#define ermMoreData        -229
#define ermDataZero        -230
#define ermDataBad         -231
#define ermNoZeroBidAsk    -232
#define ermQTime           -233
#define ermStop            -234
#define ermTarget          -234 
#define ermMaxL            -235 
#define ermFileOpen        -236
#define ermAllocateMem     -237
//+------------------------------------------------------------------+
//| Scanning is just stopped                                         |
//+------------------------------------------------------------------+
//+---- u - User error
//+---- p - Programer 
//+---- d - Desk errors 
//+---- m - metatrader
//+---- s - scanning not critical no fail


#define ersTimeHM        -300
#define ersTimeDay       -301
#define ersTBetweenT     -302
#define ersTBetweenE     -303
#define ersMaxTrades     -304
#define ersSpread        -305
#define ersMaxLots       -306
#define ersMaxL          -307
#define ersMaxDelta      -310
#define ersHVCheck       -311
#define ersNews          -312
#define ersFailedTrend   -313
#define ersLiarsWiars    -314
#define ersHVATR         -315
#define ersNoBox         -316
#define ersSpreadTPSL    -317 
#define ersNoSpread      -318
#define ersLiars         -319
#define ersWiars         -318