complete save signalinfo in files after a position finished by it's conditions, also remove force XASCT verifications and add new Signal Provider based on it ...
This commit is contained in:
@@ -46,6 +46,152 @@
|
||||
//
|
||||
// Definitions ...
|
||||
|
||||
//
|
||||
enum ENUM_X121_SIGNAL_PROVIDER
|
||||
{
|
||||
//
|
||||
PROVIDER_UNKNOWN = 0,
|
||||
PROVIDER_XMATD = 1,
|
||||
PROVIDER_XSARD = 2,
|
||||
PROVIDER_XADXTD = 3,
|
||||
PROVIDER_XSTR = 4,
|
||||
PROVIDER_XCHE = 5,
|
||||
PROVIDER_XTD = 6,
|
||||
PROVIDER_XSI = 7,
|
||||
PROVIDER_XCI = 8,
|
||||
PROVIDER_XMCD = 9,
|
||||
PROVIDER_XICH = 10,
|
||||
PROVIDER_XHK = 11,
|
||||
PROVIDER_XSMHK = 12,
|
||||
PROVIDER_XMRB = 13,
|
||||
PROVIDER_XSSLC = 14,
|
||||
PROVIDER_XHULL = 15,
|
||||
PROVIDER_XASCT = 16,
|
||||
};
|
||||
|
||||
//
|
||||
string ToString(ENUM_X121_SIGNAL_PROVIDER value)
|
||||
{
|
||||
//
|
||||
string result = NULL;
|
||||
|
||||
//
|
||||
string vStr = EnumToString(value);
|
||||
if (!IsValid(vStr))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
string parts[];
|
||||
int partsCount = SplitContent(
|
||||
parts,
|
||||
vStr,
|
||||
"_"
|
||||
//
|
||||
);
|
||||
if (partsCount <= 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
bool hasLastPart = GetLastItem(
|
||||
result,
|
||||
parts
|
||||
//
|
||||
);
|
||||
if (!hasLastPart)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
ENUM_X121_SIGNAL_PROVIDER FromString(string value)
|
||||
{
|
||||
//
|
||||
ENUM_X121_SIGNAL_PROVIDER result = PROVIDER_UNKNOWN;
|
||||
|
||||
//
|
||||
if (!IsValid(value))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
if (Contains(value, (EnumToString(PROVIDER_XMATD))))
|
||||
{
|
||||
result = PROVIDER_XMATD;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XSARD))))
|
||||
{
|
||||
result = PROVIDER_XSARD;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XADXTD))))
|
||||
{
|
||||
result = PROVIDER_XADXTD;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XSTR))))
|
||||
{
|
||||
result = PROVIDER_XSTR;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XCHE))))
|
||||
{
|
||||
result = PROVIDER_XCHE;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XTD))))
|
||||
{
|
||||
result = PROVIDER_XTD;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XSI))))
|
||||
{
|
||||
result = PROVIDER_XSI;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XCI))))
|
||||
{
|
||||
result = PROVIDER_XCI;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XMCD))))
|
||||
{
|
||||
result = PROVIDER_XMCD;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XICH))))
|
||||
{
|
||||
result = PROVIDER_XICH;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XHK))))
|
||||
{
|
||||
result = PROVIDER_XHK;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XSMHK))))
|
||||
{
|
||||
result = PROVIDER_XSMHK;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XMRB))))
|
||||
{
|
||||
result = PROVIDER_XMRB;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XSSLC))))
|
||||
{
|
||||
result = PROVIDER_XSSLC;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XHULL))))
|
||||
{
|
||||
result = PROVIDER_XHULL;
|
||||
}
|
||||
else if (Contains(value, (EnumToString(PROVIDER_XASCT))))
|
||||
{
|
||||
result = PROVIDER_XASCT;
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Inputs ...
|
||||
struct X121SetupInputs
|
||||
@@ -479,17 +625,17 @@ struct X121SetupConditions
|
||||
);
|
||||
|
||||
//
|
||||
string matdSummary = matdConditions.GenerateSummary(false, true, false);
|
||||
string adxtdSummary = adxtdConditions.GenerateSummary(false, true, false);
|
||||
string strSummary = strConditions.GenerateSummary(false, true, false);
|
||||
string cheSummary = cheConditions.GenerateSummary(false, true, false);
|
||||
string asctSummary = asctConditions.GenerateSummary(false, true, false);
|
||||
string tdSummary = tdConditions.GenerateSummary(false, true, false);
|
||||
string ichSummary = ichConditions.GenerateSummary(false, true, false);
|
||||
string hkSummary = hkConditions.GenerateSummary(false, true, false);
|
||||
string mrbSummary = mrbConditions.GenerateSummary(false, true, false);
|
||||
string sslcSummary = sslcConditions.GenerateSummary(false, true, false);
|
||||
string hullSummary = hullConditions.GenerateSummary(false, true, false);
|
||||
string matdSummary = matdConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string adxtdSummary = adxtdConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string strSummary = strConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string cheSummary = cheConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string asctSummary = asctConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string tdSummary = tdConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string ichSummary = ichConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string hkSummary = hkConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string mrbSummary = mrbConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string sslcSummary = sslcConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
string hullSummary = hullConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
|
||||
|
||||
//
|
||||
string conditionsStr =
|
||||
@@ -628,7 +774,8 @@ struct X121SignalGenerator
|
||||
// Check Market Conditions for Long Signals ...
|
||||
bool HasLongConditions(
|
||||
X121SetupConditions &conditions, // Conditions
|
||||
int &pusher // Pushers
|
||||
int &pusher, // Pushers
|
||||
string &provider // Provider
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -654,6 +801,7 @@ struct X121SignalGenerator
|
||||
);
|
||||
|
||||
//
|
||||
// XMATD ...
|
||||
bool long1 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -675,10 +823,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long1)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XMATD);
|
||||
}
|
||||
|
||||
//
|
||||
// XSARD ...
|
||||
bool long2 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -700,10 +851,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long2)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSARD);
|
||||
}
|
||||
|
||||
//
|
||||
// XADXTD ...
|
||||
bool long3 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -723,10 +877,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long3)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XADXTD);
|
||||
}
|
||||
|
||||
//
|
||||
// XSTR ...
|
||||
bool long4 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -747,10 +904,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long4)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSTR);
|
||||
}
|
||||
|
||||
//
|
||||
// XCHE ...
|
||||
bool long5 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -771,10 +931,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long5)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XCHE);
|
||||
}
|
||||
|
||||
//
|
||||
// XTD ...
|
||||
bool long6 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -795,10 +958,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long6)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XTD);
|
||||
}
|
||||
|
||||
//
|
||||
// XSI ...
|
||||
bool long7 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -821,10 +987,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long7)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSI);
|
||||
}
|
||||
|
||||
//
|
||||
// XCI ...
|
||||
bool long8 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -847,10 +1016,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long8)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XCI);
|
||||
}
|
||||
|
||||
//
|
||||
// XMCD ...
|
||||
bool long9 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -873,10 +1045,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long9)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XMCD);
|
||||
}
|
||||
|
||||
//
|
||||
// XICH ...
|
||||
bool long10 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -898,10 +1073,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long10)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XICH);
|
||||
}
|
||||
|
||||
//
|
||||
// XHK ...
|
||||
bool long11 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -922,10 +1100,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long11)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XHK);
|
||||
}
|
||||
|
||||
//
|
||||
// XSMHK ...
|
||||
bool long12 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -946,10 +1127,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long12)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSMHK);
|
||||
}
|
||||
|
||||
//
|
||||
// XMRB ...
|
||||
bool long13 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -970,10 +1154,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long13)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XMRB);
|
||||
}
|
||||
|
||||
//
|
||||
// XSSLC ...
|
||||
bool long14 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -994,10 +1181,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long14)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSSLC);
|
||||
}
|
||||
|
||||
//
|
||||
// XHULL ...
|
||||
bool long15 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1018,7 +1208,37 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (long15)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XHULL);
|
||||
}
|
||||
|
||||
//
|
||||
// XASCT ...
|
||||
bool long16 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
conditions.asctConditions.isLongSignal &&
|
||||
//
|
||||
// Verifications ...
|
||||
conditions.tdConditions.isBullish &&
|
||||
conditions.matdConditions.isBullish &&
|
||||
conditions.adxtdConditions.isStrong &&
|
||||
conditions.adxtdConditions.isBullish &&
|
||||
conditions.strConditions.isTrendBullish &&
|
||||
conditions.cheConditions.isStrongBullish &&
|
||||
conditions.hkConditions.isHKBullish &&
|
||||
conditions.hkConditions.isSMHKBullish &&
|
||||
conditions.mrbConditions.isFastOverSlow &&
|
||||
conditions.hullConditions.isBullish &&
|
||||
conditions.sslcConditions.isBullish
|
||||
//
|
||||
;
|
||||
if (long16)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XASCT);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1026,7 +1246,6 @@ struct X121SignalGenerator
|
||||
//
|
||||
pusher >= 1 &&
|
||||
!isOSCShortVerified &&
|
||||
conditions.asctConditions.isLongSignal &&
|
||||
bullishScore > bearishScore * 2 &&
|
||||
(
|
||||
//
|
||||
@@ -1088,6 +1307,10 @@ struct X121SignalGenerator
|
||||
//
|
||||
long15
|
||||
//
|
||||
||
|
||||
//
|
||||
long16
|
||||
//
|
||||
)
|
||||
//
|
||||
;
|
||||
@@ -1100,7 +1323,8 @@ struct X121SignalGenerator
|
||||
// Check Market Conditions for Short Signals ...
|
||||
bool HasShortConditions(
|
||||
X121SetupConditions &conditions, // Conditions
|
||||
int &pusher // Pushers
|
||||
int &pusher, // Pushers
|
||||
string &provider // Provider
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -1126,6 +1350,7 @@ struct X121SignalGenerator
|
||||
);
|
||||
|
||||
//
|
||||
// XMATD ...
|
||||
bool short1 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1147,10 +1372,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short1)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XMATD);
|
||||
}
|
||||
|
||||
//
|
||||
// XSARD ...
|
||||
bool short2 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1172,10 +1400,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short2)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSARD);
|
||||
}
|
||||
|
||||
//
|
||||
// XADXTD ...
|
||||
bool short3 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1195,10 +1426,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short3)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XADXTD);
|
||||
}
|
||||
|
||||
//
|
||||
// XSTR ...
|
||||
bool short4 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1219,10 +1453,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short4)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSTR);
|
||||
}
|
||||
|
||||
//
|
||||
// XCHE ...
|
||||
bool short5 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1243,10 +1480,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short5)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XCHE);
|
||||
}
|
||||
|
||||
//
|
||||
// XTD ...
|
||||
bool short6 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1267,10 +1507,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short6)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XTD);
|
||||
}
|
||||
|
||||
//
|
||||
// XSI ...
|
||||
bool short7 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1293,10 +1536,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short7)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSI);
|
||||
}
|
||||
|
||||
//
|
||||
// XCI ...
|
||||
bool short8 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1319,10 +1565,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short8)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XCI);
|
||||
}
|
||||
|
||||
//
|
||||
// XMCD ...
|
||||
bool short9 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1345,10 +1594,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short9)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XMCD);
|
||||
}
|
||||
|
||||
//
|
||||
// XICH ...
|
||||
bool short10 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1370,10 +1622,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short10)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XICH);
|
||||
}
|
||||
|
||||
//
|
||||
// XHK ...
|
||||
bool short11 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1394,10 +1649,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short11)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XHK);
|
||||
}
|
||||
|
||||
//
|
||||
// XSMHK ...
|
||||
bool short12 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1418,10 +1676,13 @@ struct X121SignalGenerator
|
||||
;
|
||||
if (short12)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSMHK);
|
||||
}
|
||||
|
||||
//
|
||||
// XMRB ...
|
||||
bool short13 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1438,15 +1699,17 @@ struct X121SignalGenerator
|
||||
conditions.hkConditions.isSMHKBearish &&
|
||||
conditions.sslcConditions.isBearish &&
|
||||
conditions.hullConditions.isBearish
|
||||
|
||||
//
|
||||
;
|
||||
if (short13)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XMRB);
|
||||
}
|
||||
|
||||
//
|
||||
// XSSLC ...
|
||||
bool short14 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1463,15 +1726,17 @@ struct X121SignalGenerator
|
||||
conditions.hkConditions.isSMHKBearish &&
|
||||
conditions.mrbConditions.isFastUnderSlow &&
|
||||
conditions.hullConditions.isBearish
|
||||
|
||||
//
|
||||
;
|
||||
if (short14)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XSSLC);
|
||||
}
|
||||
|
||||
//
|
||||
// XHULL ...
|
||||
bool short15 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
@@ -1488,12 +1753,41 @@ struct X121SignalGenerator
|
||||
conditions.hkConditions.isSMHKBearish &&
|
||||
conditions.mrbConditions.isFastUnderSlow &&
|
||||
conditions.sslcConditions.isBearish
|
||||
|
||||
//
|
||||
;
|
||||
if (short15)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XHULL);
|
||||
}
|
||||
|
||||
//
|
||||
// XASCT ...
|
||||
bool short16 =
|
||||
//
|
||||
// Starting Conditions ...
|
||||
conditions.asctConditions.isShortSignal &&
|
||||
//
|
||||
// Verifications ...
|
||||
conditions.tdConditions.isBearish &&
|
||||
conditions.matdConditions.isBearish &&
|
||||
conditions.adxtdConditions.isStrong &&
|
||||
conditions.adxtdConditions.isBearish &&
|
||||
conditions.strConditions.isTrendBearish &&
|
||||
conditions.cheConditions.isStrongBearish &&
|
||||
conditions.hkConditions.isHKBearish &&
|
||||
conditions.hkConditions.isSMHKBearish &&
|
||||
conditions.mrbConditions.isFastUnderSlow &&
|
||||
conditions.hullConditions.isBearish &&
|
||||
conditions.sslcConditions.isBearish
|
||||
//
|
||||
;
|
||||
if (short15)
|
||||
{
|
||||
//
|
||||
pusher++;
|
||||
provider = ToString(PROVIDER_XASCT);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1501,7 +1795,6 @@ struct X121SignalGenerator
|
||||
//
|
||||
pusher >= 1 &&
|
||||
!isOSCLongVerified &&
|
||||
conditions.asctConditions.isShortSignal &&
|
||||
bearishScore > bullishScore * 2 &&
|
||||
(
|
||||
//
|
||||
@@ -1563,6 +1856,10 @@ struct X121SignalGenerator
|
||||
//
|
||||
short15
|
||||
//
|
||||
||
|
||||
//
|
||||
short16
|
||||
//
|
||||
)
|
||||
//
|
||||
;
|
||||
@@ -1577,6 +1874,7 @@ struct X121SignalGenerator
|
||||
X121SetupConditions &conditions, // Conditions
|
||||
XSignal &signal, // Signal if Exists
|
||||
int &pusher, // Pushers
|
||||
string &provider, // Signal Provider Name
|
||||
bool _allowLong, // Allow Long Signals
|
||||
bool _allowShort, // Allow Short Signals
|
||||
double _volume = 0.01, // Volume
|
||||
@@ -1603,7 +1901,8 @@ struct X121SignalGenerator
|
||||
? false
|
||||
: HasLongConditions(
|
||||
conditions,
|
||||
pusher //
|
||||
pusher,
|
||||
provider //
|
||||
);
|
||||
|
||||
//
|
||||
@@ -1612,7 +1911,8 @@ struct X121SignalGenerator
|
||||
? false
|
||||
: HasShortConditions(
|
||||
conditions,
|
||||
pusher //
|
||||
pusher,
|
||||
provider //
|
||||
);
|
||||
|
||||
//
|
||||
@@ -1622,6 +1922,12 @@ struct X121SignalGenerator
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
string mProvider =
|
||||
IsValid(provider)
|
||||
? provider
|
||||
: GetTag();
|
||||
|
||||
//
|
||||
// Prepare Signals ...
|
||||
ENUM_POSITION_TYPE mType =
|
||||
@@ -1658,7 +1964,7 @@ struct X121SignalGenerator
|
||||
//
|
||||
result = signal.Prepare(
|
||||
conditions.symbol,
|
||||
GetTag() + ToString(pusher),
|
||||
mProvider,
|
||||
conditions.period,
|
||||
mType,
|
||||
X_ORDER_MODE_MARKET,
|
||||
|
||||
Reference in New Issue
Block a user