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 ... 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; bool result = false;
@@ -5707,6 +5732,34 @@ struct XMarketParser
// //
return result; 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 "../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 "./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 ... // Conditions Parser ...
@@ -42,7 +47,12 @@ struct XCHCHEStartegyConditionsParser
XMarketParser _marketParser; XMarketParser _marketParser;
// //
XCHCHEStartegyIngotConditionsParser _ingotParser;
XCHCHEStartegyAlpariConditionsParser _alpariParser;
XCHCHEStartegyErranteConditionsParser _erranteParser;
XCHCHEStartegyAMarketsConditionsParser _amarketsParser; XCHCHEStartegyAMarketsConditionsParser _amarketsParser;
XCHCHEStartegyIFCMarketsConditionsParser _ifcmarketsParser;
XCHCHEStartegyOtetMarketsConditionsParser _otetmarketsParser;
// //
string GenerateSignalConditions( string GenerateSignalConditions(
@@ -995,10 +1005,47 @@ struct XCHCHEStartegyConditionsParser
// //
string market = _account.GetCompany(); string market = _account.GetCompany();
bool isIngot = _marketParser.IsIngot(market);
bool isErrante = _marketParser.IsErrante(market);
bool isAMarkets = _marketParser.IsAMarkets(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, signal,
conditions, conditions,
force // force //
@@ -1007,14 +1054,45 @@ struct XCHCHEStartegyConditionsParser
// //
if (!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 else
{ {
// //
result = result =
// //
isAMarketFiltered isIngotFiltered
//
||
//
isErranteFiltered
//
||
//
isAMarketsFiltered
//
||
//
isIFCMarketsFiltered
//
||
//
isOtetMarketsFiltered
// //
; ;
} }
+83 -4
View File
@@ -25,7 +25,12 @@
#include "../Strategies/x-saherelm.xch.strategy.mq5" #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 "./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 ... // Conditions Parser ...
@@ -42,7 +47,12 @@ struct XCHStartegyConditionsParser
XMarketParser _marketParser; XMarketParser _marketParser;
// //
XCHStartegyIngotConditionsParser _ingotParser;
XCHStartegyAlpariConditionsParser _alpariParser;
XCHStartegyErranteConditionsParser _erranteParser;
XCHStartegyAMarketsConditionsParser _amarketsParser; XCHStartegyAMarketsConditionsParser _amarketsParser;
XCHStartegyIFCMarketsConditionsParser _ifcmarketsParser;
XCHStartegyOtetMarketsConditionsParser _otetmarketsParser;
// //
string GenerateSignalConditions( string GenerateSignalConditions(
@@ -771,10 +781,47 @@ struct XCHStartegyConditionsParser
// //
string market = _account.GetCompany(); string market = _account.GetCompany();
bool isIngot = _marketParser.IsIngot(market);
bool isErrante = _marketParser.IsErrante(market);
bool isAMarkets = _marketParser.IsAMarkets(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, signal,
conditions, conditions,
force // force //
@@ -783,18 +830,50 @@ struct XCHStartegyConditionsParser
// //
if (!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 else
{ {
// //
result = result =
// //
isAMarketFiltered isIngotFiltered
// //
|| ||
// //
false isErranteFiltered
//
||
//
isAMarketsFiltered
//
||
//
isIFCMarketsFiltered
//
||
//
isOtetMarketsFiltered
// //
; ;
} }