Prepare XCH.CHE Strategy For Test ...

This commit is contained in:
2024-09-08 13:53:21 +03:30
parent ac41ded37d
commit 9f98c82bb8
5 changed files with 176 additions and 29 deletions
@@ -25,14 +25,14 @@
#include "../../../Strategies/x-saherelm.xch.che.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.che.amarkets.xauusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.che.amarkets.xauusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.che.amarkets.xauusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.che.amarkets.xauusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.che.amarkets.xauusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.che.amarkets.xauusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.che.amarkets.xauusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.che.amarkets.xauusd.2024.long.parser.mq5"
#include "./Olds/x-saherelm.xch.che.amarkets.xagusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.che.amarkets.xagusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.che.amarkets.xagusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.che.amarkets.xagusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.che.amarkets.xagusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.che.amarkets.xagusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.che.amarkets.xagusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.che.amarkets.xagusd.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -25,14 +25,14 @@
#include "../../../Strategies/x-saherelm.xch.che.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.che.amarkets.xauusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.che.amarkets.xauusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.che.amarkets.xauusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.che.amarkets.xauusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.che.amarkets.xauusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.che.amarkets.xauusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.che.amarkets.xauusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.che.amarkets.xauusd.2024.short.parser.mq5"
#include "./Olds/x-saherelm.xch.che.amarkets.xagusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.che.amarkets.xagusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.che.amarkets.xagusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.che.amarkets.xagusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.che.amarkets.xagusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.che.amarkets.xagusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.che.amarkets.xagusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.che.amarkets.xagusd.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -25,6 +25,9 @@
#include "../../Strategies/x-saherelm.xch.che.strategy.mq5"
//
//
#include "./Brent/x-saherelm.xch.che.amarkets.brent.long.parser.mq5"
#include "./Brent/x-saherelm.xch.che.amarkets.brent.short.parser.mq5"
#include "./DowJones/x-saherelm.xch.che.amarkets.us30.long.parser.mq5"
#include "./DowJones/x-saherelm.xch.che.amarkets.us30.short.parser.mq5"
#include "./EURGBP/x-saherelm.xch.che.amarkets.eurgbp.long.parser.mq5"
@@ -35,8 +38,12 @@
#include "./EURCHF/x-saherelm.xch.che.amarkets.eurchf.short.parser.mq5"
#include "./AUDUSD/x-saherelm.xch.che.amarkets.audusd.long.parser.mq5"
#include "./AUDUSD/x-saherelm.xch.che.amarkets.audusd.short.parser.mq5"
#include "./EURAUD/x-saherelm.xch.che.amarkets.euraud.long.parser.mq5"
#include "./EURAUD/x-saherelm.xch.che.amarkets.euraud.short.parser.mq5"
#include "./NZDUSD/x-saherelm.xch.che.amarkets.nzdusd.long.parser.mq5"
#include "./NZDUSD/x-saherelm.xch.che.amarkets.nzdusd.short.parser.mq5"
#include "./EURNZD/x-saherelm.xch.che.amarkets.eurnzd.long.parser.mq5"
#include "./EURNZD/x-saherelm.xch.che.amarkets.eurnzd.short.parser.mq5"
#include "./USDCAD/x-saherelm.xch.che.amarkets.usdcad.long.parser.mq5"
#include "./USDCAD/x-saherelm.xch.che.amarkets.usdcad.short.parser.mq5"
#include "./EURCAD/x-saherelm.xch.che.amarkets.eurcad.long.parser.mq5"
@@ -51,6 +58,8 @@
#include "./GBPUSD/x-saherelm.xch.che.amarkets.gbpusd.short.parser.mq5"
#include "./XAUUSD/x-saherelm.xch.che.amarkets.xauusd.long.parser.mq5"
#include "./XAUUSD/x-saherelm.xch.che.amarkets.xauusd.short.parser.mq5"
#include "./XAGUSD/x-saherelm.xch.che.amarkets.xagusd.long.parser.mq5"
#include "./XAGUSD/x-saherelm.xch.che.amarkets.xagusd.short.parser.mq5"
//
// Conditions Parser ...
@@ -63,6 +72,7 @@ struct XCHCHEStartegyAMarketsConditionsParser
// Parsers ...
XSymbolParser _symbolParser;
//
// EURUSD ...
XCHCHEStartegyAMarketsEURUSDLongConditionsParser _eurusdLongParser;
@@ -104,20 +114,30 @@ struct XCHCHEStartegyAMarketsConditionsParser
XCHCHEStartegyAMarketsXAUUSDShortConditionsParser _xauusdShortParser;
//
// DOWJONES ...
XCHCHEStartegyAMarketsUS30LongConditionsParser _dowjonesLongParser;
XCHCHEStartegyAMarketsUS30ShortConditionsParser _dowjonesShortParser;
// XAGUSD ...
XCHCHEStartegyAMarketsXAGUSDLongConditionsParser _xagusdLongParser;
XCHCHEStartegyAMarketsXAGUSDShortConditionsParser _xagusdShortParser;
//
// AUDUSD ...
XCHCHEStartegyAMarketsAUDUSDLongConditionsParser _audusdLongParser;
XCHCHEStartegyAMarketsAUDUSDShortConditionsParser _audusdShortParser;
//
// EURAUD ...
XCHCHEStartegyAMarketsEURAUDLongConditionsParser _euraudLongParser;
XCHCHEStartegyAMarketsEURAUDShortConditionsParser _euraudShortParser;
//
// NZDUSD ...
XCHCHEStartegyAMarketsNZDUSDLongConditionsParser _nzdusdLongParser;
XCHCHEStartegyAMarketsNZDUSDShortConditionsParser _nzdusdShortParser;
//
// EURNZD ...
XCHCHEStartegyAMarketsEURNZDLongConditionsParser _eurnzdLongParser;
XCHCHEStartegyAMarketsEURNZDShortConditionsParser _eurnzdShortParser;
//
// USDCAD ...
XCHCHEStartegyAMarketsUSDCADLongConditionsParser _usdcadLongParser;
@@ -128,6 +148,16 @@ struct XCHCHEStartegyAMarketsConditionsParser
XCHCHEStartegyAMarketsEURCADLongConditionsParser _eurcadLongParser;
XCHCHEStartegyAMarketsEURCADShortConditionsParser _eurcadShortParser;
//
// DOWJONES ...
XCHCHEStartegyAMarketsUS30LongConditionsParser _dowjonesLongParser;
XCHCHEStartegyAMarketsUS30ShortConditionsParser _dowjonesShortParser;
//
// BRENT ...
XCHCHEStartegyAMarketsBRENTLongConditionsParser _brentLongParser;
XCHCHEStartegyAMarketsBRENTShortConditionsParser _brentShortParser;
//
bool IsFiltered(
XSignal &signal, // Provided Signal
@@ -187,14 +217,18 @@ struct XCHCHEStartegyAMarketsConditionsParser
bool isGBPUSD = _symbolParser.IsGBPUSD(signal.symbol);
bool isEURGBP = _symbolParser.IsEURGBP(signal.symbol);
bool isXAUUSD = _symbolParser.IsXAUUSD(signal.symbol);
bool isXAGUSD = _symbolParser.IsXAGUSD(signal.symbol);
bool isUSDJPY = _symbolParser.IsUSDJPY(signal.symbol);
bool isEURJPY = _symbolParser.IsEURJPY(signal.symbol);
bool isUSDCHF = _symbolParser.IsUSDCHF(signal.symbol);
bool isEURCHF = _symbolParser.IsEURCHF(signal.symbol);
bool isAUDUSD = _symbolParser.IsAUDUSD(signal.symbol);
bool isEURAUD = _symbolParser.IsEURAUD(signal.symbol);
bool isNZDUSD = _symbolParser.IsNZDUSD(signal.symbol);
bool isEURNZD = _symbolParser.IsEURNZD(signal.symbol);
bool isUSDCAD = _symbolParser.IsUSDCAD(signal.symbol);
bool isEURCAD = _symbolParser.IsEURCAD(signal.symbol);
bool isBrent = _symbolParser.IsBrent(signal.symbol);
bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
//
@@ -230,14 +264,26 @@ struct XCHCHEStartegyAMarketsConditionsParser
signal,
conditions //
);
bool isXAGUSDFiltered = _xagusdLongParser.IsFiltered(
signal,
conditions //
);
bool isAUDUSDFiltered = _audusdLongParser.IsFiltered(
signal,
conditions //
);
bool isEURAUDFiltered = _euraudLongParser.IsFiltered(
signal,
conditions //
);
bool isNZDUSDFiltered = _nzdusdLongParser.IsFiltered(
signal,
conditions //
);
bool isEURNZDFiltered = _eurnzdLongParser.IsFiltered(
signal,
conditions //
);
bool isUSDCADFiltered = _usdcadLongParser.IsFiltered(
signal,
conditions //
@@ -250,6 +296,10 @@ struct XCHCHEStartegyAMarketsConditionsParser
signal,
conditions //
);
bool isBrentFiltered = _brentLongParser.IsFiltered(
signal,
conditions //
);
//
if (!force)
@@ -287,14 +337,26 @@ struct XCHCHEStartegyAMarketsConditionsParser
{
result = isXAUUSDFiltered;
}
else if (isXAGUSD)
{
result = isXAGUSDFiltered;
}
else if (isAUDUSD)
{
result = isAUDUSDFiltered;
}
else if (isEURAUD)
{
result = isEURAUDFiltered;
}
else if (isNZDUSD)
{
result = isNZDUSDFiltered;
}
else if (isEURNZD)
{
result = isEURNZDFiltered;
}
else if (isUSDCAD)
{
result = isUSDCADFiltered;
@@ -303,6 +365,10 @@ struct XCHCHEStartegyAMarketsConditionsParser
{
result = isEURCADFiltered;
}
else if (isBrent)
{
result = isBrentFiltered;
}
else if (isDowJones)
{
result = isDowJonesFiltered;
@@ -345,14 +411,26 @@ struct XCHCHEStartegyAMarketsConditionsParser
//
||
//
isXAGUSDFiltered
//
||
//
isAUDUSDFiltered
//
||
//
isEURAUDFiltered
//
||
//
isNZDUSDFiltered
//
||
//
isEURNZDFiltered
//
||
//
isUSDCADFiltered
//
||
@@ -361,6 +439,10 @@ struct XCHCHEStartegyAMarketsConditionsParser
//
||
//
isBrentFiltered
//
||
//
isDowJonesFiltered
//
;
@@ -386,14 +468,18 @@ struct XCHCHEStartegyAMarketsConditionsParser
bool isGBPUSD = _symbolParser.IsGBPUSD(signal.symbol);
bool isEURGBP = _symbolParser.IsEURGBP(signal.symbol);
bool isXAUUSD = _symbolParser.IsXAUUSD(signal.symbol);
bool isXAGUSD = _symbolParser.IsXAGUSD(signal.symbol);
bool isUSDJPY = _symbolParser.IsUSDJPY(signal.symbol);
bool isEURJPY = _symbolParser.IsEURJPY(signal.symbol);
bool isUSDCHF = _symbolParser.IsUSDCHF(signal.symbol);
bool isEURCHF = _symbolParser.IsEURCHF(signal.symbol);
bool isAUDUSD = _symbolParser.IsAUDUSD(signal.symbol);
bool isEURAUD = _symbolParser.IsEURAUD(signal.symbol);
bool isNZDUSD = _symbolParser.IsNZDUSD(signal.symbol);
bool isEURNZD = _symbolParser.IsEURNZD(signal.symbol);
bool isUSDCAD = _symbolParser.IsUSDCAD(signal.symbol);
bool isEURCAD = _symbolParser.IsEURCAD(signal.symbol);
bool isBrent = _symbolParser.IsBrent(signal.symbol);
bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
//
@@ -429,14 +515,26 @@ struct XCHCHEStartegyAMarketsConditionsParser
signal,
conditions //
);
bool isXAGUSDFiltered = _xagusdShortParser.IsFiltered(
signal,
conditions //
);
bool isAUDUSDFiltered = _audusdShortParser.IsFiltered(
signal,
conditions //
);
bool isEURAUDFiltered = _euraudShortParser.IsFiltered(
signal,
conditions //
);
bool isNZDUSDFiltered = _nzdusdShortParser.IsFiltered(
signal,
conditions //
);
bool isEURNZDFiltered = _eurnzdShortParser.IsFiltered(
signal,
conditions //
);
bool isUSDCADFiltered = _usdcadShortParser.IsFiltered(
signal,
conditions //
@@ -445,6 +543,10 @@ struct XCHCHEStartegyAMarketsConditionsParser
signal,
conditions //
);
bool isBrentFiltered = _brentShortParser.IsFiltered(
signal,
conditions //
);
bool isDowJonesFiltered = _dowjonesShortParser.IsFiltered(
signal,
conditions //
@@ -486,14 +588,26 @@ struct XCHCHEStartegyAMarketsConditionsParser
{
result = isXAUUSDFiltered;
}
else if (isXAGUSD)
{
result = isXAGUSDFiltered;
}
else if (isAUDUSD)
{
result = isAUDUSDFiltered;
}
else if (isEURAUD)
{
result = isEURAUDFiltered;
}
else if (isNZDUSD)
{
result = isNZDUSDFiltered;
}
else if (isEURNZD)
{
result = isEURNZDFiltered;
}
else if (isUSDCAD)
{
result = isUSDCADFiltered;
@@ -502,6 +616,10 @@ struct XCHCHEStartegyAMarketsConditionsParser
{
result = isEURCADFiltered;
}
else if (isBrent)
{
result = isBrentFiltered;
}
else if (isDowJones)
{
result = isDowJonesFiltered;
@@ -544,14 +662,26 @@ struct XCHCHEStartegyAMarketsConditionsParser
//
||
//
isXAGUSDFiltered
//
||
//
isAUDUSDFiltered
//
||
//
isEURAUDFiltered
//
||
//
isNZDUSDFiltered
//
||
//
isEURNZDFiltered
//
||
//
isUSDCADFiltered
//
||
@@ -560,6 +690,10 @@ struct XCHCHEStartegyAMarketsConditionsParser
//
||
//
isBrentFiltered
//
||
//
isDowJonesFiltered
//
;