226 lines
3.7 KiB
Plaintext
226 lines
3.7 KiB
Plaintext
///////////////////////////////////////////////////////
|
|
//
|
|
// 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 ...
|
|
//
|