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
+55 -2
View File
@@ -5695,8 +5695,33 @@ struct XMarketParser
string _version; // Temp ...
//
bool IsAMarkets(string market)
{
bool IsIngot(string market) {
//
bool result = false;
//
// result = IsValid(market) &&
// market == "";
//
return result;
}
//
bool IsErrante(string market) {
//
bool result = false;
//
// result = IsValid(market) &&
// market == "";
//
return result;
}
//
bool IsAMarkets(string market) {
//
bool result = false;
@@ -5707,6 +5732,34 @@ struct XMarketParser
//
return result;
}
//
bool IsIFCMarkets(string market) {
//
bool result = false;
//
// result = IsValid(market) &&
// market == "";
//
return result;
}
//
bool IsOtetMarkets(string market) {
//
bool result = false;
//
// result = IsValid(market) &&
// market == "";
//
return result;
}
//
};
//
+81 -3
View File
@@ -25,7 +25,12 @@
#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 ...
@@ -42,7 +47,12 @@ struct XCHCHEStartegyConditionsParser
XMarketParser _marketParser;
//
XCHCHEStartegyIngotConditionsParser _ingotParser;
XCHCHEStartegyAlpariConditionsParser _alpariParser;
XCHCHEStartegyErranteConditionsParser _erranteParser;
XCHCHEStartegyAMarketsConditionsParser _amarketsParser;
XCHCHEStartegyIFCMarketsConditionsParser _ifcmarketsParser;
XCHCHEStartegyOtetMarketsConditionsParser _otetmarketsParser;
//
string GenerateSignalConditions(
@@ -995,10 +1005,47 @@ 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 = _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 //
@@ -1007,14 +1054,45 @@ struct XCHCHEStartegyConditionsParser
//
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
//
||
//
isErranteFiltered
//
||
//
isAMarketsFiltered
//
||
//
isIFCMarketsFiltered
//
||
//
isOtetMarketsFiltered
//
;
}
+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
//
;
}