implement all market parsers into base parsers ...

This commit is contained in:
2024-08-26 17:14:08 +03:30
parent ca65fa21d8
commit 4362260abe
3 changed files with 219 additions and 9 deletions
+83 -4
View File
@@ -25,7 +25,12 @@
#include "../Strategies/x-saherelm.xch.strategy.mq5"
//
#include "./Alpari/x-saherelm.xch.alpari.parser.mq5"
#include "./Ingot/x-saherelm.xch.ingot.parser.mq5"
#include "./Errante/x-saherelm.xch.errante.parser.mq5"
#include "./AMarkets/x-saherelm.xch.amarkets.parser.mq5"
#include "./IFCMarkets/x-saherelm.xch.ifcmarkets.parser.mq5"
#include "./OtetMarkets/x-saherelm.xch.otetmarkets.parser.mq5"
//
// Conditions Parser ...
@@ -42,7 +47,12 @@ struct XCHStartegyConditionsParser
XMarketParser _marketParser;
//
XCHStartegyIngotConditionsParser _ingotParser;
XCHStartegyAlpariConditionsParser _alpariParser;
XCHStartegyErranteConditionsParser _erranteParser;
XCHStartegyAMarketsConditionsParser _amarketsParser;
XCHStartegyIFCMarketsConditionsParser _ifcmarketsParser;
XCHStartegyOtetMarketsConditionsParser _otetmarketsParser;
//
string GenerateSignalConditions(
@@ -771,10 +781,47 @@ struct XCHStartegyConditionsParser
//
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 = _ingotParser.IsFiltered(
signal,
conditions,
force //
);
//
// Errante ...
bool isErranteFiltered = _erranteParser.IsFiltered(
signal,
conditions,
force //
);
//
// AMarkets ...
bool isAMarketsFiltered = _amarketsParser.IsFiltered(
signal,
conditions,
force //
);
//
// IFCMarkets ...
bool isIFCMarketsFiltered = _ifcmarketsParser.IsFiltered(
signal,
conditions,
force //
);
//
// OtetMarkets ...
bool isOtetMarketsFiltered = _otetmarketsParser.IsFiltered(
signal,
conditions,
force //
@@ -783,18 +830,50 @@ struct XCHStartegyConditionsParser
//
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
//
;
}