add new node js files to manage publishing processes and also backup other Markets Parsers and Delete them for improve Speed of Compilation ...

This commit is contained in:
2024-09-19 06:59:53 +03:30
parent cf11a36053
commit f3398901ef
2977 changed files with 1747361 additions and 49368 deletions
@@ -24,6 +24,14 @@
// Imports ...
#include "../Strategies/x-saherelm.xch.che.strategy.mq5"
//
// #include "./Ingot/x-saherelm.xch.che.ingot.parser.mq5"
// #include "./Alpari/x-saherelm.xch.che.alpari.parser.mq5"
// #include "./Errante/x-saherelm.xch.che.errante.parser.mq5"
#include "./AMarkets/x-saherelm.xch.che.amarkets.parser.mq5"
// #include "./IFCMarkets/x-saherelm.xch.che.ifcmarkets.parser.mq5"
// #include "./OtetMarkets/x-saherelm.xch.che.otetmarkets.parser.mq5"
//
// Conditions Parser ...
struct XCHCHEStartegyConditionsParser
@@ -38,6 +46,14 @@ struct XCHCHEStartegyConditionsParser
XSCAccount _account;
XMarketParser _marketParser;
//
// XCHCHEStartegyIngotConditionsParser _ingotParser;
// XCHCHEStartegyAlpariConditionsParser _alpariParser;
// XCHCHEStartegyErranteConditionsParser _erranteParser;
XCHCHEStartegyAMarketsConditionsParser _amarketsParser;
// XCHCHEStartegyIFCMarketsConditionsParser _ifcmarketsParser;
// XCHCHEStartegyOtetMarketsConditionsParser _otetmarketsParser;
//
string GenerateSignalConditions(
XSignal &signal,
@@ -964,6 +980,33 @@ struct XCHCHEStartegyConditionsParser
"||" + "\n" +
"//";
//
string query = "&&";
int andIndexes[];
int andIndexesCount = FindIndexes(
query,
result,
andIndexes //
);
if (IsValidSize(andIndexesCount)) {
//
int lastAndIndex = andIndexes[ArraySize(andIndexes) - 1];
//
string beforeStr = StringSubstr(
result,
0,
lastAndIndex //
);
string afterStr = StringSubstr(
result,
lastAndIndex + StringLen(query)
);
//
result = beforeStr + afterStr;
}
//
return result;
}
@@ -989,30 +1032,104 @@ struct XCHCHEStartegyConditionsParser
//
string market = _account.GetCompany();
bool isIngot = _marketParser.IsIngot(market);
bool isErrante = _marketParser.IsErrante(market);
bool isAMarkets = _marketParser.IsAMarkets(market);
bool isIFCMarkets = _marketParser.IsIFCMarkets(market);
bool isOtetMarkets = _marketParser.IsOtetMarkets(market);
//
// bool isAMarketFiltered = _amarketsParser.IsFiltered(
// Ingot ...
bool isIngotFiltered = false;
// _ingotParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
// Errante ...
bool isErranteFiltered = false;
// _erranteParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
// AMarkets ...
bool isAMarketsFiltered = _amarketsParser.IsFiltered(
signal,
conditions,
force //
);
//
// IFCMarkets ...
bool isIFCMarketsFiltered = false;
// _ifcmarketsParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
// OtetMarkets ...
bool isOtetMarketsFiltered = false;
// _otetmarketsParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
if (!force)
{
// result = isAMarketFiltered;
//
if (isIngot)
{
result = isIngotFiltered;
}
else if (isErrante)
{
result = isErranteFiltered;
}
else if (isAMarkets)
{
result = isAMarketsFiltered;
}
else if (isIFCMarkets)
{
result = isIFCMarketsFiltered;
}
else if (isOtetMarkets)
{
result = isOtetMarketsFiltered;
}
}
else
{
//
result =
//
// isAMarketFiltered
// //
// ||
isIngotFiltered
//
false
||
//
isErranteFiltered
//
||
//
isAMarketsFiltered
//
||
//
isIFCMarketsFiltered
//
||
//
isOtetMarketsFiltered
//
;
}