/////////////////////////////////////////////////////// // // SaherElm IT Center MQL5 Models Library // --------------------------------------- // Name: XModels // Description: provides all required models ... // // // Maintainer: // ------------ // Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com) // ////////////////////////////////////////////////////// // // Global Properties ... #property library #property copyright "Copyright 2023, SaherElm IT Center" #property link "https://www.saherelm.ir" #property version "1.00" #property strict // // START Inputs ... // // // END Inputs ... // // // START Global Definitions: Variables, Properties and etc ... // // // END Global Definitions: Variables, Properties and etc ... // // // START Provided Functions ... // // // START Model Definitions ... // // // OHCL Candel Model ... enum ENUM_X_PRICE { X_PRICE_HIGH, X_PRICE_OPEN, X_PRICE_CLOSE, X_PRICE_LOW }; struct XOHCL { double high; double open; double close; double low; }; // // Swing Types Enum ... enum ENUM_X_SWING_TYPE { X_NO_SWING = 0, X_SWING_HIGH = 1, X_SWING_LOW = -1, }; // // Signal Types ... enum ENUM_X_SIGNAL_TYPE { X_SIGNAL_LONG, X_SIGNAL_SHORT, X_SIGNAL_UNKNOWN, }; // // Signal Structure ... struct XSignal { // // Identifier ... ulong id; // // Which Symbol used for Signal ... string symbol; // // Which Type of operations ... ENUM_X_SIGNAL_TYPE type; // // Magic Number ... ulong magicNumber; // // Ticket ... ulong ticket; // // Entry/Open Price ... double entry; // // TP ... double tp; // // SL ... double sl; // // Time of Operation ... datetime time; // // Volume ... double volume; // // Comment ... string comment; }; // // TP/SL Struct ... struct XTPSL { ENUM_X_SIGNAL_TYPE type; double tp; double sl; double entry; double r2r; }; // // XTM Indicator States ... enum ENUM_X_XTM_STATES { X_XTM_BULLISH = 1, X_XTM_BEARISH = -1, X_XTM_NEUTURAL = 0, }; // // XTM Indicator Buffer Lines ... enum ENUM_X_XTM_BUFFER_LINES { X_XTM_MA_LINE = 0, X_XTM_MC_COLOR_LINE = 1, X_XTM_STATE_LINE = 2, }; // // XTD Oscillator States ... enum ENUM_X_XTD_STATES { X_XTD_BULLISH_CROSSED_OVER_BEARISH = 2, X_XTD_BULLISH_OVER_BEARISH = 1, X_XTD_NEUTURAL = 0, X_XTD_BULLISH_UNDER_BEARISH = -1, X_XTD_BULLISH_CROSSED_UNDER_BEARISH = -2 }; // // XTD Oscillator Buffer Lines ... enum ENUM_X_XTD_BUFFER_LINES { X_XTD_BULLISH_POWER_LINE = 0, X_XTD_BEARISH_POWER_LINE = 1, X_XTD_TREND_STATE_LINE = 2, }; // // XTPD States Enum ... enum ENUM_X_XTPD_STATES { X_XTPD_BULLISH_CROSSED_OVER_BEARISH = 2, X_XTPD_BULLISH_OVER_BEARISH = 1, X_XTPD_NEUTURAL = 0, X_XTPD_BULLISH_UNDER_BEARISH = -1, X_XTPD_BULLISH_CROSSED_UNDER_BEARISH = -2 }; // // XTPD Buffer Lines Enum ... enum ENUM_X_XTPD_BUFFER_LINES { X_XTPD_BULLISH_POWER_LINE = 0, X_XTPD_BEARISH_POWER_LINE = 1, X_XTPD_STATE_LINE = 2, }; // // XCHMA Oscillator Cycles State Presentation ... enum ENUM_XCHMA_CYCLE_STATE { X_XCHMA_FAST_CROSSED_OVER_SLOW = 2, X_XCHMA_FAST_OVER_SLOW = 1, X_XCHMA_NEUTURAL = 0, X_XCHMA_FAST_UNDER_SLOW = -1, X_XCHMA_FAST_CROSSED_UNDER_SLOW = -2, }; // // XCHMA Oscillator Buffer Lines ... enum ENUM_X_XCHMA_BUFFER_LINES { X_XCHMA_LC_FAST_LINE = 0, X_XCHMA_LC_SLOW_LINE = 1, X_XCHMA_LC_STATE_LINE = 6, X_XCHMA_MC_FAST_LINE = 2, X_XCHMA_MC_SLOW_LINE = 3, X_XCHMA_MC_STATE_LINE = 7, X_XCHMA_SC_FAST_LINE = 4, X_XCHMA_SC_SLOW_LINE = 5, X_XCHMA_SC_STATE_LINE = 8, X_XCHMA_HOT_STATE_LINE = 9, }; // // END Provided Functions ... //