add support for empty signal filtering for AUDUSD,NZDUSD,USDCAD ...
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
///////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SaherElm IT Center MQL5 Strategy Parser Library
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Name: XCHStartegyConditionsParser
|
||||||
|
// Description: provide all conditions parsing
|
||||||
|
// for XCH Strategy ...
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
|
||||||
|
//
|
||||||
|
// Imports ...
|
||||||
|
#include "../Strategies/x-saherelm.xch.strategy.mq5"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Conditions Parser ...
|
||||||
|
struct XCHStartegyAUDUSDLongConditionsParser
|
||||||
|
{
|
||||||
|
//
|
||||||
|
string _version;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool IsFiltered(
|
||||||
|
XCHStrategyConditions &conditions //
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
false
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
///////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SaherElm IT Center MQL5 Strategy Parser Library
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Name: XCHStartegyConditionsParser
|
||||||
|
// Description: provide all conditions parsing
|
||||||
|
// for XCH Strategy ...
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
|
||||||
|
//
|
||||||
|
// Imports ...
|
||||||
|
#include "../Strategies/x-saherelm.xch.strategy.mq5"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Conditions Parser ...
|
||||||
|
struct XCHStartegyAUDUSDShortConditionsParser
|
||||||
|
{
|
||||||
|
//
|
||||||
|
string _version;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool IsFiltered(
|
||||||
|
XCHStrategyConditions &conditions //
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
false
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
///////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SaherElm IT Center MQL5 Strategy Parser Library
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Name: XCHStartegyConditionsParser
|
||||||
|
// Description: provide all conditions parsing
|
||||||
|
// for XCH Strategy ...
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
|
||||||
|
//
|
||||||
|
// Imports ...
|
||||||
|
#include "../Strategies/x-saherelm.xch.strategy.mq5"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Conditions Parser ...
|
||||||
|
struct XCHStartegyNZDUSDLongConditionsParser
|
||||||
|
{
|
||||||
|
//
|
||||||
|
string _version;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool IsFiltered(
|
||||||
|
XCHStrategyConditions &conditions //
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
false
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
///////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SaherElm IT Center MQL5 Strategy Parser Library
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Name: XCHStartegyConditionsParser
|
||||||
|
// Description: provide all conditions parsing
|
||||||
|
// for XCH Strategy ...
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
|
||||||
|
//
|
||||||
|
// Imports ...
|
||||||
|
#include "../Strategies/x-saherelm.xch.strategy.mq5"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Conditions Parser ...
|
||||||
|
struct XCHStartegyNZDUSDShortConditionsParser
|
||||||
|
{
|
||||||
|
//
|
||||||
|
string _version;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool IsFiltered(
|
||||||
|
XCHStrategyConditions &conditions //
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
false
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
@@ -27,6 +27,12 @@
|
|||||||
//
|
//
|
||||||
#include "../Parsers/x-saherelm.xch.dowj.long.parser.mq5"
|
#include "../Parsers/x-saherelm.xch.dowj.long.parser.mq5"
|
||||||
#include "../Parsers/x-saherelm.xch.dowj.short.parser.mq5"
|
#include "../Parsers/x-saherelm.xch.dowj.short.parser.mq5"
|
||||||
|
#include "../Parsers/x-saherelm.xch.audusd.long.parser.mq5"
|
||||||
|
#include "../Parsers/x-saherelm.xch.audusd.short.parser.mq5"
|
||||||
|
#include "../Parsers/x-saherelm.xch.nzdusd.long.parser.mq5"
|
||||||
|
#include "../Parsers/x-saherelm.xch.nzdusd.short.parser.mq5"
|
||||||
|
#include "../Parsers/x-saherelm.xch.usdcad.long.parser.mq5"
|
||||||
|
#include "../Parsers/x-saherelm.xch.usdcad.short.parser.mq5"
|
||||||
#include "../Parsers/x-saherelm.xch.eurusd.long.parser.mq5"
|
#include "../Parsers/x-saherelm.xch.eurusd.long.parser.mq5"
|
||||||
#include "../Parsers/x-saherelm.xch.eurusd.short.parser.mq5"
|
#include "../Parsers/x-saherelm.xch.eurusd.short.parser.mq5"
|
||||||
#include "../Parsers/x-saherelm.xch.usdjpy.long.parser.mq5"
|
#include "../Parsers/x-saherelm.xch.usdjpy.long.parser.mq5"
|
||||||
@@ -52,29 +58,50 @@ struct XCHStartegyConditionsParser
|
|||||||
XSymbolParser _symbolParser;
|
XSymbolParser _symbolParser;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// EURUSD ...
|
||||||
XCHStartegyEURUSDLongConditionsParser _eurusdLongParser;
|
XCHStartegyEURUSDLongConditionsParser _eurusdLongParser;
|
||||||
XCHStartegyEURUSDShortConditionsParser _eurusdShortParser;
|
XCHStartegyEURUSDShortConditionsParser _eurusdShortParser;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// GBPUSD ...
|
||||||
XCHStartegyGBPUSDLongConditionsParser _gbpusdLongParser;
|
XCHStartegyGBPUSDLongConditionsParser _gbpusdLongParser;
|
||||||
XCHStartegyGBPUSDShortConditionsParser _gbpusdShortParser;
|
XCHStartegyGBPUSDShortConditionsParser _gbpusdShortParser;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// USDJPY ...
|
||||||
XCHStartegyUSDJPYLongConditionsParser _usdjpyLongParser;
|
XCHStartegyUSDJPYLongConditionsParser _usdjpyLongParser;
|
||||||
XCHStartegyUSDJPYShortConditionsParser _usdjpyShortParser;
|
XCHStartegyUSDJPYShortConditionsParser _usdjpyShortParser;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// USDCHF ...
|
||||||
XCHStartegyUSDCHFLongConditionsParser _usdchfLongParser;
|
XCHStartegyUSDCHFLongConditionsParser _usdchfLongParser;
|
||||||
XCHStartegyUSDCHFShortConditionsParser _usdchfShortParser;
|
XCHStartegyUSDCHFShortConditionsParser _usdchfShortParser;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// XAUUSD ...
|
||||||
XCHStartegyXAUUSDLongConditionsParser _xauusdLongParser;
|
XCHStartegyXAUUSDLongConditionsParser _xauusdLongParser;
|
||||||
XCHStartegyXAUUSDShortConditionsParser _xauusdShortParser;
|
XCHStartegyXAUUSDShortConditionsParser _xauusdShortParser;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// DOWJONES ...
|
||||||
XCHStartegyDOWJONESLongConditionsParser _dowjonesLongParser;
|
XCHStartegyDOWJONESLongConditionsParser _dowjonesLongParser;
|
||||||
XCHStartegyDOWJONESShortConditionsParser _dowjonesShortParser;
|
XCHStartegyDOWJONESShortConditionsParser _dowjonesShortParser;
|
||||||
|
|
||||||
|
//
|
||||||
|
// AUDUSD ...
|
||||||
|
XCHStartegyAUDUSDLongConditionsParser _audusdLongParser;
|
||||||
|
XCHStartegyAUDUSDShortConditionsParser _audusdShortParser;
|
||||||
|
|
||||||
|
//
|
||||||
|
// NZDUSD ...
|
||||||
|
XCHStartegyNZDUSDLongConditionsParser _nzdusdLongParser;
|
||||||
|
XCHStartegyNZDUSDShortConditionsParser _nzdusdShortParser;
|
||||||
|
|
||||||
|
//
|
||||||
|
// USDCAD ...
|
||||||
|
XCHStartegyUSDCADLongConditionsParser _usdcadLongParser;
|
||||||
|
XCHStartegyUSDCADShortConditionsParser _usdcadShortParser;
|
||||||
|
|
||||||
//
|
//
|
||||||
string GenerateSignalConditions(
|
string GenerateSignalConditions(
|
||||||
XSignal &signal,
|
XSignal &signal,
|
||||||
@@ -783,8 +810,9 @@ struct XCHStartegyConditionsParser
|
|||||||
|
|
||||||
//
|
//
|
||||||
bool IsFiltered(
|
bool IsFiltered(
|
||||||
XSignal &signal, // Provided Signal
|
XSignal &signal, // Provided Signal
|
||||||
XCHStrategyConditions &conditions // Market Conditions
|
XCHStrategyConditions &conditions, // Market Conditions
|
||||||
|
bool force = false //
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -808,11 +836,13 @@ struct XCHStartegyConditionsParser
|
|||||||
isLong
|
isLong
|
||||||
? IsLongFiltered(
|
? IsLongFiltered(
|
||||||
signal,
|
signal,
|
||||||
conditions //
|
conditions,
|
||||||
|
force //
|
||||||
)
|
)
|
||||||
: IsShortFiltered(
|
: IsShortFiltered(
|
||||||
signal,
|
signal,
|
||||||
conditions //
|
conditions,
|
||||||
|
force //
|
||||||
)
|
)
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
@@ -838,6 +868,9 @@ struct XCHStartegyConditionsParser
|
|||||||
bool isXAUUSD = _symbolParser.IsXAUUSD(signal.symbol);
|
bool isXAUUSD = _symbolParser.IsXAUUSD(signal.symbol);
|
||||||
bool isUSDJPY = _symbolParser.IsUSDJPY(signal.symbol);
|
bool isUSDJPY = _symbolParser.IsUSDJPY(signal.symbol);
|
||||||
bool isUSDCHF = _symbolParser.IsUSDCHF(signal.symbol);
|
bool isUSDCHF = _symbolParser.IsUSDCHF(signal.symbol);
|
||||||
|
bool isAUDUSD = _symbolParser.IsAUDUSD(signal.symbol);
|
||||||
|
bool isNZDUSD = _symbolParser.IsNZDUSD(signal.symbol);
|
||||||
|
bool isUSDCAD = _symbolParser.IsUSDCAD(signal.symbol);
|
||||||
bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
|
bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -874,6 +907,24 @@ struct XCHStartegyConditionsParser
|
|||||||
result =
|
result =
|
||||||
_xauusdLongParser.IsFiltered(conditions);
|
_xauusdLongParser.IsFiltered(conditions);
|
||||||
}
|
}
|
||||||
|
else if (isAUDUSD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
_audusdLongParser.IsFiltered(conditions);
|
||||||
|
}
|
||||||
|
else if (isNZDUSD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
_nzdusdLongParser.IsFiltered(conditions);
|
||||||
|
}
|
||||||
|
else if (isUSDCAD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
_usdcadLongParser.IsFiltered(conditions);
|
||||||
|
}
|
||||||
else if (isDowJones)
|
else if (isDowJones)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -906,6 +957,18 @@ struct XCHStartegyConditionsParser
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
_audusdLongParser.IsFiltered(conditions)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
_nzdusdLongParser.IsFiltered(conditions)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
_usdcadLongParser.IsFiltered(conditions)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
_dowjonesLongParser.IsFiltered(conditions)
|
_dowjonesLongParser.IsFiltered(conditions)
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
@@ -932,6 +995,9 @@ struct XCHStartegyConditionsParser
|
|||||||
bool isXAUUSD = _symbolParser.IsXAUUSD(signal.symbol);
|
bool isXAUUSD = _symbolParser.IsXAUUSD(signal.symbol);
|
||||||
bool isUSDJPY = _symbolParser.IsUSDJPY(signal.symbol);
|
bool isUSDJPY = _symbolParser.IsUSDJPY(signal.symbol);
|
||||||
bool isUSDCHF = _symbolParser.IsUSDCHF(signal.symbol);
|
bool isUSDCHF = _symbolParser.IsUSDCHF(signal.symbol);
|
||||||
|
bool isAUDUSD = _symbolParser.IsAUDUSD(signal.symbol);
|
||||||
|
bool isNZDUSD = _symbolParser.IsNZDUSD(signal.symbol);
|
||||||
|
bool isUSDCAD = _symbolParser.IsUSDCAD(signal.symbol);
|
||||||
bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
|
bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -968,6 +1034,24 @@ struct XCHStartegyConditionsParser
|
|||||||
result =
|
result =
|
||||||
_xauusdShortParser.IsFiltered(conditions);
|
_xauusdShortParser.IsFiltered(conditions);
|
||||||
}
|
}
|
||||||
|
else if (isAUDUSD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
_audusdShortParser.IsFiltered(conditions);
|
||||||
|
}
|
||||||
|
else if (isNZDUSD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
_nzdusdShortParser.IsFiltered(conditions);
|
||||||
|
}
|
||||||
|
else if (isUSDCAD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
_usdcadShortParser.IsFiltered(conditions);
|
||||||
|
}
|
||||||
else if (isDowJones)
|
else if (isDowJones)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -1000,6 +1084,18 @@ struct XCHStartegyConditionsParser
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
_audusdShortParser.IsFiltered(conditions)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
_nzdusdShortParser.IsFiltered(conditions)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
_usdcadShortParser.IsFiltered(conditions)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
_dowjonesShortParser.IsFiltered(conditions)
|
_dowjonesShortParser.IsFiltered(conditions)
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
///////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SaherElm IT Center MQL5 Strategy Parser Library
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Name: XCHStartegyConditionsParser
|
||||||
|
// Description: provide all conditions parsing
|
||||||
|
// for XCH Strategy ...
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
|
||||||
|
//
|
||||||
|
// Imports ...
|
||||||
|
#include "../Strategies/x-saherelm.xch.strategy.mq5"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Conditions Parser ...
|
||||||
|
struct XCHStartegyUSDCADLongConditionsParser
|
||||||
|
{
|
||||||
|
//
|
||||||
|
string _version;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool IsFiltered(
|
||||||
|
XCHStrategyConditions &conditions //
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
false
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
///////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SaherElm IT Center MQL5 Strategy Parser Library
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Name: XCHStartegyConditionsParser
|
||||||
|
// Description: provide all conditions parsing
|
||||||
|
// for XCH Strategy ...
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
|
||||||
|
//
|
||||||
|
// Imports ...
|
||||||
|
#include "../Strategies/x-saherelm.xch.strategy.mq5"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Conditions Parser ...
|
||||||
|
struct XCHStartegyUSDCADShortConditionsParser
|
||||||
|
{
|
||||||
|
//
|
||||||
|
string _version;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool IsFiltered(
|
||||||
|
XCHStrategyConditions &conditions //
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
false
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
Reference in New Issue
Block a user