From 9f98c82bb8ecb37460d9bb663ab682492928ea37 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Sun, 8 Sep 2024 13:53:21 +0330 Subject: [PATCH] Prepare XCH.CHE Strategy For Test ... --- .vscode/vscode-kanban.json | 15 +- Experts/x-saherelm.xch.che.strategy.ea.mq5 | 18 +-- ...lm.xch.che.amarkets.xagusd.long.parser.mq5 | 16 +- ...m.xch.che.amarkets.xagusd.short.parser.mq5 | 16 +- .../x-saherelm.xch.che.amarkets.parser.mq5 | 140 +++++++++++++++++- 5 files changed, 176 insertions(+), 29 deletions(-) diff --git a/.vscode/vscode-kanban.json b/.vscode/vscode-kanban.json index 8e8fba02..256d464f 100644 --- a/.vscode/vscode-kanban.json +++ b/.vscode/vscode-kanban.json @@ -10,7 +10,7 @@ "references": [], "title": "Require Assets", "details": { - "content": "- [x] EURUSDb; GPC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] GBPUSDb; AMD PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURGBPb; i3 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] USDCHFb; iMac Slim 2 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURCHFb; HP i7 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] USDJPYb; iMac Slim 1 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [] EURJPYb; Surface i7;\n 1. [x] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [x] USDCADb; HP i5 10;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURCADb; GPC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] AUDUSDb; iMac Slim 1;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURAUDb; iMac Slim 2;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [] NZDUSDb; AMD PC\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [] Level 3;\n- [] EURNZDb; HP i7 17;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [] Level 3;\n- [] XAUUSDb; i3 PC;\n 1. [x] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [x] XAGUSDb; GPC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [] BRENT; HP i5 12;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [] Level 3;\n- [] DOWEJONES3\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n", + "content": "- [x] EURUSDb; GPC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] GBPUSDb; AMD PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURGBPb; i3 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] USDCHFb; iMac Slim 2 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURCHFb; HP i7 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] USDJPYb; iMac Slim 1 PC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [] EURJPYb; Surface i7;\n 1. [x] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [x] USDCADb; HP i5 10;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURCADb; GPC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] AUDUSDb; iMac Slim 1;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [x] EURAUDb; iMac Slim 2;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [] NZDUSDb; AMD PC\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [] Level 3;\n- [x] EURNZDb; HP i7 17;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [] XAUUSDb; i3 PC;\n 1. [x] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [x] XAGUSDb; GPC;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [x] Level 3;\n- [] BRENT; HP i5 12;\n 1. [x] Level 1;\n 2. [x] Level 2;\n 3. [] Level 3;\n- [] DOWEJONES3\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n", "mime": "text/markdown" } }, @@ -26,6 +26,19 @@ "id": "86", "references": [], "title": "TODOs" + }, + { + "assignedTo": { + "name": "Hadi Khazaee Asl" + }, + "creation_time": "2024-09-08T10:04:18.986Z", + "details": { + "content": "- [] EURUSDb; GPC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] GBPUSDb; AMD PC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] EURGBPb; i3 PC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] USDCHFb; iMac Slim 2 PC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] EURCHFb; HP i7 PC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] USDJPYb; iMac Slim 1 PC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] EURJPYb; Surface i7;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] USDCADb; HP i5 10;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] EURCADb; GPC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] AUDUSDb; iMac Slim 1;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] EURAUDb; iMac Slim 2;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] NZDUSDb; AMD PC\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] EURNZDb; HP i7 17;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] XAUUSDb; i3 PC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] XAGUSDb; GPC;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] BRENT; HP i5 12;\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n- [] DOWEJONES3\n 1. [] Level 1;\n 2. [] Level 2;\n 3. [] Level 3;\n", + "mime": "text/markdown" + }, + "id": "88", + "references": [], + "title": "XCH.CHE V1.1" } ], "testing": [], diff --git a/Experts/x-saherelm.xch.che.strategy.ea.mq5 b/Experts/x-saherelm.xch.che.strategy.ea.mq5 index 9182334e..b1961819 100644 --- a/Experts/x-saherelm.xch.che.strategy.ea.mq5 +++ b/Experts/x-saherelm.xch.che.strategy.ea.mq5 @@ -44,9 +44,9 @@ input string eaLogSuffix = ""; // Log Suffix // // Symbols ... input group "Symbols"; -input bool eaMultiSymbol = false; // Use Multi Symbol -input bool eaUseMaxAllowedTradesPerSymbol = true; // Use Max Allowed Trades Per Symbol -input string eaSymbols = "EURUSDb,GBPUSDb,EURGBPb,USDJPYb,EURJPYb,USDCHFb,EURCHFb,AUDUSDb,NZDUSDb,USDCADb,EURCADb,XAUUSDb,DowJones30"; // Trading Symbols +input bool eaMultiSymbol = false; // Use Multi Symbol +input bool eaUseMaxAllowedTradesPerSymbol = true; // Use Max Allowed Trades Per Symbol +input string eaSymbols = "EURUSDb,GBPUSDb,EURGBPb,USDJPYb,EURJPYb,USDCHFb,EURCHFb,AUDUSDb,EURAUDb,NZDUSDb,EURNZDb,USDCADb,EURCADb,XAUUSDb,XAGUSDb,BRENT,DowJones30"; // Trading Symbols // // Risk Management ... @@ -55,12 +55,12 @@ input group "Risk Management"; // // Risk Management > Risk / Reward Calculation ... input group "Risk/Reward"; -input double eaR2R = 1.5; // Risk to Reward Ratio for Dynamic TP SL -input bool eaUseFixedTPSLPoints = false; // Use Fixed TP SL in Points -input bool eaIgnoreTP = false; // Ignore TP -input bool eaIgnoreSL = false; // Ignore SL -input double eaTPPoint = 200; // Static TP Point -input double eaSLPoint = 200; // Static SL Point +input double eaR2R = 1.5; // Risk to Reward Ratio for Dynamic TP SL +input bool eaUseFixedTPSLPoints = true; // Use Fixed TP SL in Points +input bool eaIgnoreTP = false; // Ignore TP +input bool eaIgnoreSL = false; // Ignore SL +input double eaTPPoint = 200; // Static TP Point +input double eaSLPoint = 200; // Static SL Point // // Risk Management > Volume Calculation ... diff --git a/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.long.parser.mq5 b/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.long.parser.mq5 index 17817520..0889cb8a 100644 --- a/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.long.parser.mq5 +++ b/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.long.parser.mq5 @@ -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 ... diff --git a/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.short.parser.mq5 b/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.short.parser.mq5 index 94004f8b..321047d8 100644 --- a/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.short.parser.mq5 +++ b/Parsers/AMarkets/XAGUSD/x-saherelm.xch.che.amarkets.xagusd.short.parser.mq5 @@ -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 ... diff --git a/Parsers/AMarkets/x-saherelm.xch.che.amarkets.parser.mq5 b/Parsers/AMarkets/x-saherelm.xch.che.amarkets.parser.mq5 index a0a8f4f0..eb9dcc96 100644 --- a/Parsers/AMarkets/x-saherelm.xch.che.amarkets.parser.mq5 +++ b/Parsers/AMarkets/x-saherelm.xch.che.amarkets.parser.mq5 @@ -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 // ;