Prepare X121 Workspace Requirements for Start ...

This commit is contained in:
2024-10-07 03:58:19 +03:30
parent aa1da78648
commit f0d7b6134a
36 changed files with 367 additions and 1300 deletions
+43 -269
View File
@@ -28,14 +28,6 @@
#include "../Helpers/x-saherelm.xcc.helper.mq5"
#include "../Helpers/x-saherelm.xct.helper.mq5"
//
#include "../Parsers/x-saherelm.xch.parser.mq5"
#include "../Strategies/x-saherelm.xch.strategy.mq5"
//
#include "../Parsers/x-saherelm.xch.che.parser.mq5"
#include "../Strategies/x-saherelm.xch.che.strategy.mq5"
//
#include "../Parsers/x-saherelm.x121.parser.mq5"
#include "../Strategies/x-saherelm.x121.strategy.mq5"
@@ -56,9 +48,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,EURAUDb,NZDUSDb,EURNZDb,USDCADb,EURCADb,XAUUSDb,XAGUSDb,BRENT,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"; // Trading Symbols
//
// Risk Management ...
@@ -78,7 +70,7 @@ input group "Volume";
input bool eaUseDynamicVolume = false; // Use Dynamic Volume
input double eaDynamicVolumeStep = 0.01; // Increase Volume Step
input double eaDynamicVolumeBalanceFactor = 200; // Balance Factor for Generate Dynamic Volume
input double eaVolume = 0.05; // Static Volume
input double eaVolume = 0.01; // Static Volume
//
// Risk Management > Trade Management ...
@@ -92,9 +84,9 @@ input double eaMaxDrawdownPercentForOpenTrades = 3; // Max Drawdown Percent for
//
// Protector ...
input group "Protector";
input bool eaUseForceMomentumsInProtection = false; // Use Force Momentums In Protection;
input int eaDelayBarBetweenTwoSignal = 5; // Delay Bars Between Two Signal
input double mAcceptNextSameTypeSignalWhenLastInProfit = 50; // Accept Next Same Type Signal When Last in Profit in Point
input bool eaUseForceMomentumsInProtection = true; // Use Force Momentums In Protection;
input int eaDelayBarBetweenTwoSignal = 5; // Delay Bars Between Two Signal
input double eaAcceptNextSameTypeSignalWhenLastInProfit = 50; // Accept Next Same Type Signal When Last in Profit in Point
//
// Protector > Hedging Properties ...
@@ -131,8 +123,8 @@ input group "In Drawdown Positions Protecting";
//
// Protect ...
input group "Protect";
input bool eaAllowProtect = true; // Allow Proptecting
input int eaProtectionDelay = 300; // Delay Between two Protection in Secconds
input bool eaAllowProtect = false; // Allow Proptecting
input int eaProtectionDelay = 3000; // Delay Between two Protection in Secconds
input int eaMaxAllowedProtection = 1; // Max Allowed Protection
input bool eaUseEntryAsProtectionSL = true; // Use Position Entry For SL of Protect
input bool eaProtectOnConditions = true; // Do Protection only when Conditions happens
@@ -198,9 +190,7 @@ X121SCTradeHandler *eaTradeHandler;
// Strategy and it's not related to Public
// TradeHandler for Seperation of Concern issue,
// we do this here ...
XCHStartegyConditionsParser chParser;
XCHCHEStartegyConditionsParser chcheParser;
X121StartegyConditionsParser chichwapParser;
X121StartegyConditionsParser x121Parser;
//
string mTag = "";
@@ -587,8 +577,9 @@ bool InitEA()
// Configure Position Protector ...
//
eaTradeHandler.UseForceMomentumsInProtection(eaUseForceMomentumsInProtection);
eaTradeHandler.DelayBarBetweenTwoSignal(eaDelayBarBetweenTwoSignal);
eaTradeHandler.UseForceMomentumsInProtection(eaUseForceMomentumsInProtection);
eaTradeHandler.AcceptNextSameTypeSignalWhenLastInProfit(eaAcceptNextSameTypeSignalWhenLastInProfit);
//
// Configure Hedging ...
@@ -642,7 +633,7 @@ bool InitEA()
{
//
// Register XICHWAP Strategy ...
// Register Strategy ...
//
bool isEURUSD = _symbolParser.IsEURUSD(_Symbol);
@@ -676,8 +667,8 @@ bool InitEA()
{
//
// Create Class Instance ...
XSCXCHICHWAPStrategy *xchichwapStrategy;
xchichwapStrategy = new XSCXCHICHWAPStrategy(
XSCX121Strategy *x121Strategy;
x121Strategy = new XSCX121Strategy(
_Symbol,
_Period,
PERIOD_H1, // Analyzing Period
@@ -700,116 +691,22 @@ bool InitEA()
//
// Configuere Strategy ...
xchichwapStrategy.DrawImportantAreas(false);
xchichwapStrategy.AddXCHSignalEventHandler(OnSignalRecieved);
x121Strategy.DrawImportantAreas(false);
x121Strategy.AddXCHSignalEventHandler(OnSignalRecieved);
//
// Configure Alerts ...
xchichwapStrategy.SetAlertPrefix(mTag);
xchichwapStrategy.SetAlertEnableAlerts(eAEnableAlerts);
xchichwapStrategy.SetAlertLogAlerts(eALogAlerts);
xchichwapStrategy.SetAlertMailAlerts(eAMailAlerts);
xchichwapStrategy.SetAlertPushAlerts(eAPushAlerts);
xchichwapStrategy.SetAlertTerminalAlerts(eATerminalAlerts);
x121Strategy.SetAlertPrefix(mTag);
x121Strategy.SetAlertEnableAlerts(eAEnableAlerts);
x121Strategy.SetAlertLogAlerts(eALogAlerts);
x121Strategy.SetAlertMailAlerts(eAMailAlerts);
x121Strategy.SetAlertPushAlerts(eAPushAlerts);
x121Strategy.SetAlertTerminalAlerts(eATerminalAlerts);
//
// Register Strategy ...
RegisterStrategy(xchichwapStrategy);
RegisterStrategy(x121Strategy);
}
//
// Register XCH Strategy ...
//
// Create Class Instance ...
XSCXCHStrategy *xchStrategy;
xchStrategy = new XSCXCHStrategy(
_Symbol,
_Period,
PERIOD_H1, // Analyzing Period
eaVolume,
eaR2R, // R2R ...
eaSlippage,
eaMagicNumber,
true, // Ignore Signal Execution
eaUseFixedTPSLPoints, // Use TP SL Point
false, // Use Max
eaTPPoint, // TP
eaSLPoint, // SL
eaIgnoreTP,
eaIgnoreSL,
eaAllowLong,
eaAllowShort,
eaMaxAllowedLongs, // Max Longs
eaMaxAllowedShorts // Max Shorts
);
//
// Configuere Strategy ...
xchStrategy.EnableXCHM(true);
xchStrategy.EnableXCHHK(true);
xchStrategy.EnableXCHSTR(true);
xchStrategy.EnableXCHCHE(true);
xchStrategy.DrawImportantAreas(false);
xchStrategy.AddXCHSignalEventHandler(OnSignalRecieved);
//
// Configure Alerts ...
xchStrategy.SetAlertPrefix(mTag);
xchStrategy.SetAlertEnableAlerts(eAEnableAlerts);
xchStrategy.SetAlertLogAlerts(eALogAlerts);
xchStrategy.SetAlertMailAlerts(eAMailAlerts);
xchStrategy.SetAlertPushAlerts(eAPushAlerts);
xchStrategy.SetAlertTerminalAlerts(eATerminalAlerts);
//
// Register Strategy ...
RegisterStrategy(xchStrategy);
//
// Register XCHCHE Strategy ...
//
// Create Class Instance ...
XSCXCHCHEStrategy *xchcheStrategy;
xchcheStrategy = new XSCXCHCHEStrategy(
_Symbol,
_Period,
PERIOD_H1, // Analyzing Period
eaVolume,
eaR2R, // R2R ...
eaSlippage,
eaMagicNumber,
true, // Ignore Signal Execution
eaUseFixedTPSLPoints, // Use TP SL Point
false, // Use Max
eaTPPoint, // TP
eaSLPoint, // SL
eaIgnoreTP,
eaIgnoreSL,
eaAllowLong,
eaAllowShort,
eaMaxAllowedLongs, // Max Longs
eaMaxAllowedShorts // Max Shorts
);
//
// Configuere Strategy ...
xchcheStrategy.DrawImportantAreas(false);
xchcheStrategy.AddXCHSignalEventHandler(OnSignalRecieved);
//
// Configure Alerts ...
xchcheStrategy.SetAlertPrefix(mTag);
xchcheStrategy.SetAlertEnableAlerts(eAEnableAlerts);
xchcheStrategy.SetAlertLogAlerts(eALogAlerts);
xchcheStrategy.SetAlertMailAlerts(eAMailAlerts);
xchcheStrategy.SetAlertPushAlerts(eAPushAlerts);
xchcheStrategy.SetAlertTerminalAlerts(eATerminalAlerts);
//
// Register Strategy ...
RegisterStrategy(xchcheStrategy);
}
//
// Multi Symbol ...
@@ -870,8 +767,8 @@ bool InitEA()
{
//
// Create Class Instance ...
XSCXCHICHWAPStrategy *iXCHICHWAPStrategy;
iXCHICHWAPStrategy = new XSCXCHICHWAPStrategy(
XSCX121Strategy *iX121Strategy;
iX121Strategy = new XSCX121Strategy(
iSymbol,
_Period,
PERIOD_H1, // Analyzing Period
@@ -894,116 +791,22 @@ bool InitEA()
//
// Configuere Strategy ...
iXCHICHWAPStrategy.DrawImportantAreas(false);
iXCHICHWAPStrategy.AddXCHSignalEventHandler(OnSignalRecieved);
iX121Strategy.DrawImportantAreas(false);
iX121Strategy.AddXCHSignalEventHandler(OnSignalRecieved);
//
// Configure Alerts ...
iXCHICHWAPStrategy.SetAlertPrefix(mTag);
iXCHICHWAPStrategy.SetAlertEnableAlerts(eAEnableAlerts);
iXCHICHWAPStrategy.SetAlertLogAlerts(eALogAlerts);
iXCHICHWAPStrategy.SetAlertMailAlerts(eAMailAlerts);
iXCHICHWAPStrategy.SetAlertPushAlerts(eAPushAlerts);
iXCHICHWAPStrategy.SetAlertTerminalAlerts(eATerminalAlerts);
iX121Strategy.SetAlertPrefix(mTag);
iX121Strategy.SetAlertEnableAlerts(eAEnableAlerts);
iX121Strategy.SetAlertLogAlerts(eALogAlerts);
iX121Strategy.SetAlertMailAlerts(eAMailAlerts);
iX121Strategy.SetAlertPushAlerts(eAPushAlerts);
iX121Strategy.SetAlertTerminalAlerts(eATerminalAlerts);
//
// Register Strategy ...
RegisterStrategy(iXCHICHWAPStrategy);
RegisterStrategy(iX121Strategy);
}
//
// Register XCH Strategy ...
//
// Create Class Instance ...
XSCXCHStrategy *iXCHStrategy;
iXCHStrategy = new XSCXCHStrategy(
iSymbol,
_Period,
PERIOD_H1, // Analyzing Period
eaVolume,
eaR2R, // R2R ...
eaSlippage,
eaMagicNumber,
true, // Ignore Signal Execution
eaUseFixedTPSLPoints, // Use TP SL Point
false, // Use Max
eaTPPoint, // TP
eaSLPoint, // SL
eaIgnoreTP,
eaIgnoreSL,
eaAllowLong,
eaAllowShort,
eaMaxAllowedLongs, // Max Longs
eaMaxAllowedShorts // Max Shorts
);
//
// Configuere Strategy ...
iXCHStrategy.EnableXCHM(true);
iXCHStrategy.EnableXCHHK(true);
iXCHStrategy.EnableXCHSTR(true);
iXCHStrategy.EnableXCHCHE(true);
iXCHStrategy.DrawImportantAreas(false);
iXCHStrategy.AddXCHSignalEventHandler(OnSignalRecieved);
//
// Configure Alerts ...
iXCHStrategy.SetAlertPrefix(mTag);
iXCHStrategy.SetAlertEnableAlerts(eAEnableAlerts);
iXCHStrategy.SetAlertLogAlerts(eALogAlerts);
iXCHStrategy.SetAlertMailAlerts(eAMailAlerts);
iXCHStrategy.SetAlertPushAlerts(eAPushAlerts);
iXCHStrategy.SetAlertTerminalAlerts(eATerminalAlerts);
//
// Register Strategy ...
RegisterStrategy(iXCHStrategy);
//
// Register XCHCHE Strategy ...
//
// Create Class Instance ...
XSCXCHCHEStrategy *iXCHCHEStrategy;
iXCHCHEStrategy = new XSCXCHCHEStrategy(
iSymbol,
_Period,
PERIOD_H1, // Analyzing Period
eaVolume,
eaR2R, // R2R ...
eaSlippage,
eaMagicNumber,
true, // Ignore Signal Execution
eaUseFixedTPSLPoints, // Use TP SL Point
false, // Use Max
eaTPPoint, // TP
eaSLPoint, // SL
eaIgnoreTP,
eaIgnoreSL,
eaAllowLong,
eaAllowShort,
eaMaxAllowedLongs, // Max Longs
eaMaxAllowedShorts // Max Shorts
);
//
// Configuere Strategy ...
iXCHCHEStrategy.DrawImportantAreas(false);
iXCHCHEStrategy.AddXCHSignalEventHandler(OnSignalRecieved);
//
// Configure Alerts ...
iXCHCHEStrategy.SetAlertPrefix(mTag);
iXCHCHEStrategy.SetAlertEnableAlerts(eAEnableAlerts);
iXCHCHEStrategy.SetAlertLogAlerts(eALogAlerts);
iXCHCHEStrategy.SetAlertMailAlerts(eAMailAlerts);
iXCHCHEStrategy.SetAlertPushAlerts(eAPushAlerts);
iXCHCHEStrategy.SetAlertTerminalAlerts(eATerminalAlerts);
//
// Register Strategy ...
RegisterStrategy(iXCHCHEStrategy);
}
}
@@ -1336,26 +1139,10 @@ void OnSignalRecieved(
}
//
bool isXCHSignal = signal.provider == XCHStartegyToken;
bool isXCHCHESignal = signal.provider == XCHCHEStartegyToken;
bool isXCHICHWAPSignal = signal.provider == XCHICHWAPStartegyToken;
bool isFiltered =
isXCHSignal
? chParser.IsFiltered(
signal,
conditions //
)
: isXCHCHESignal
? chcheParser.IsFiltered(
signal,
conditions //
)
: isXCHICHWAPSignal
? chichwapParser.IsFiltered(
signal,
conditions //
)
: true;
bool isFiltered = x121Parser.IsFiltered(
signal,
conditions //
);
if (isFiltered)
{
//
@@ -1373,23 +1160,10 @@ void OnSignalRecieved(
);
//
signal.conditions =
isXCHSignal
? chParser.GenerateSignalConditions(
signal,
conditions //
)
: isXCHCHESignal
? chcheParser.GenerateSignalConditions(
signal,
conditions //
)
: isXCHICHWAPSignal
? chichwapParser.GenerateSignalConditions(
signal,
conditions //
)
: conditionsSummary;
signal.conditions = x121Parser.GenerateSignalConditions(
signal,
conditions //
);
//
// Check Signal Delay ...
@@ -22,7 +22,7 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.121.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.x121.amarkets.audusd.olds.long.parser.mq5"
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.brent.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.brent.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.brent.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.brent.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.brent.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.brent.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.brent.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.brent.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.brent.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.brent.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.brent.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.brent.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.brent.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.brent.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.brent.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.brent.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.brent.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.brent.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.brent.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.brent.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.brent.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.brent.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.brent.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.brent.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.brent.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.brent.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.brent.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.brent.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.brent.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.brent.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.brent.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.brent.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.us30.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.us30.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.us30.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.us30.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.us30.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.us30.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.us30.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.us30.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.us30.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.us30.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.us30.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.us30.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.us30.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.us30.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.us30.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.us30.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.us30.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.us30.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.us30.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.us30.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.us30.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.us30.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.us30.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.us30.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.us30.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.us30.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.us30.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.us30.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.us30.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.us30.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.us30.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.us30.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.euraud.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.euraud.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.euraud.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.euraud.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.euraud.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.euraud.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.euraud.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.euraud.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.euraud.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.euraud.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.euraud.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.euraud.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.euraud.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.euraud.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.euraud.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.euraud.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.euraud.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.euraud.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.euraud.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.euraud.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.euraud.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.euraud.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.euraud.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.euraud.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.euraud.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.euraud.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.euraud.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.euraud.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.euraud.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.euraud.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.euraud.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.euraud.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurcad.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurcad.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurcad.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurcad.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurcad.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurcad.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurcad.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurcad.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurcad.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurcad.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurcad.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurcad.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurcad.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurcad.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurcad.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurcad.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurcad.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurcad.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurcad.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurcad.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurcad.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurcad.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurcad.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurcad.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurcad.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurcad.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurcad.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurcad.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurcad.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurcad.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurcad.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurcad.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurchf.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurchf.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurchf.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurchf.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurchf.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurchf.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurchf.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurchf.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurchf.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurchf.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurchf.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurchf.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurchf.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurchf.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurchf.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurchf.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurchf.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurchf.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurchf.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurchf.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurchf.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurchf.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurchf.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurchf.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurchf.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurchf.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurchf.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurchf.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurchf.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurchf.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurchf.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurchf.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurgbp.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurgbp.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurgbp.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurgbp.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurgbp.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurgbp.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurgbp.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurgbp.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurgbp.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurgbp.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurgbp.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurgbp.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurgbp.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurgbp.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurgbp.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurgbp.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurgbp.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurgbp.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurgbp.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurgbp.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurgbp.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurgbp.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurgbp.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurgbp.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurgbp.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurgbp.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurgbp.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurgbp.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurgbp.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurgbp.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurgbp.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurgbp.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurjpy.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurjpy.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurjpy.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurjpy.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurjpy.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurjpy.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurjpy.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurjpy.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurjpy.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurjpy.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurjpy.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurjpy.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurjpy.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurjpy.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurjpy.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurjpy.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurjpy.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurjpy.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurjpy.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurjpy.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurjpy.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurjpy.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurjpy.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurjpy.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurjpy.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurjpy.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurjpy.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurjpy.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurjpy.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurjpy.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurjpy.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurjpy.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurnzd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurnzd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurnzd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurnzd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurnzd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurnzd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurnzd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurnzd.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurnzd.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurnzd.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurnzd.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurnzd.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurnzd.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurnzd.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurnzd.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurnzd.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurnzd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurnzd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurnzd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurnzd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurnzd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurnzd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurnzd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurnzd.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurnzd.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurnzd.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurnzd.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurnzd.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurnzd.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurnzd.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurnzd.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurnzd.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurusd.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurusd.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.eurusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.eurusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.eurusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.eurusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.eurusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.eurusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.eurusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.eurusd.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.eurusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.eurusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.eurusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.eurusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.eurusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.eurusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.eurusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.eurusd.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.gbpusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.gbpusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.gbpusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.gbpusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.gbpusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.gbpusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.gbpusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.gbpusd.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.gbpusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.gbpusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.gbpusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.gbpusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.gbpusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.gbpusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.gbpusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.gbpusd.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.gbpusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.gbpusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.gbpusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.gbpusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.gbpusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.gbpusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.gbpusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.gbpusd.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.gbpusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.gbpusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.gbpusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.gbpusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.gbpusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.gbpusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.gbpusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.gbpusd.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.nzdusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.nzdusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.nzdusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.nzdusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.nzdusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.nzdusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.nzdusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.nzdusd.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.nzdusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.nzdusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.nzdusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.nzdusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.nzdusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.nzdusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.nzdusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.nzdusd.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.nzdusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.nzdusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.nzdusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.nzdusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.nzdusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.nzdusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.nzdusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.nzdusd.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.nzdusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.nzdusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.nzdusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.nzdusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.nzdusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.nzdusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.nzdusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.nzdusd.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.usdcad.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.usdcad.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.usdcad.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.usdcad.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.usdcad.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.usdcad.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.usdcad.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.usdcad.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.usdcad.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.usdcad.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.usdcad.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.usdcad.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.usdcad.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.usdcad.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.usdcad.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.usdcad.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.usdcad.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.usdcad.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.usdcad.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.usdcad.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.usdcad.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.usdcad.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.usdcad.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.usdcad.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.usdcad.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.usdcad.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.usdcad.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.usdcad.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.usdcad.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.usdcad.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.usdcad.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.usdcad.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.usdchf.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.usdchf.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.usdchf.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.usdchf.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.usdchf.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.usdchf.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.usdchf.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.usdchf.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.usdchf.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.usdchf.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.usdchf.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.usdchf.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.usdchf.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.usdchf.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.usdchf.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.usdchf.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.usdchf.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.usdchf.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.usdchf.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.usdchf.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.usdchf.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.usdchf.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.usdchf.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.usdchf.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.usdchf.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.usdchf.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.usdchf.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.usdchf.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.usdchf.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.usdchf.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.usdchf.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.usdchf.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.usdjpy.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.usdjpy.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.usdjpy.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.usdjpy.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.usdjpy.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.usdjpy.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.usdjpy.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.usdjpy.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.usdjpy.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.usdjpy.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.usdjpy.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.usdjpy.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.usdjpy.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.usdjpy.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.usdjpy.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.usdjpy.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.usdjpy.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.usdjpy.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.usdjpy.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.usdjpy.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.usdjpy.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.usdjpy.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.usdjpy.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.usdjpy.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.usdjpy.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.usdjpy.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.usdjpy.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.usdjpy.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.usdjpy.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.usdjpy.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.usdjpy.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.usdjpy.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.xagusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.xagusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.xagusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.xagusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.xagusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.xagusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.xagusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.xagusd.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.xagusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.xagusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.xagusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.xagusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.xagusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.xagusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.xagusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.xagusd.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.xagusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.xagusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.xagusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.xagusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.xagusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.xagusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.xagusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.xagusd.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.xagusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.xagusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.xagusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.xagusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.xagusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.xagusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.xagusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.xagusd.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.xauusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.xauusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.xauusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.xauusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.xauusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.xauusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.xauusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.xauusd.2024.long.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.xauusd.olds.long.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.xauusd.2018.long.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.xauusd.2019.long.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.xauusd.2020.long.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.xauusd.2021.long.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.xauusd.2022.long.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.xauusd.2023.long.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.xauusd.2024.long.parser.mq5"
//
// Conditions Parser ...
@@ -22,17 +22,17 @@
//
// Imports ...
#include "../../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Olds/x-saherelm.xch.amarkets.xauusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.xch.amarkets.xauusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.xch.amarkets.xauusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.xch.amarkets.xauusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.xch.amarkets.xauusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.xch.amarkets.xauusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.xch.amarkets.xauusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.xch.amarkets.xauusd.2024.short.parser.mq5"
#include "./Olds/x-saherelm.x121.amarkets.xauusd.olds.short.parser.mq5"
#include "./2018/x-saherelm.x121.amarkets.xauusd.2018.short.parser.mq5"
#include "./2019/x-saherelm.x121.amarkets.xauusd.2019.short.parser.mq5"
#include "./2020/x-saherelm.x121.amarkets.xauusd.2020.short.parser.mq5"
#include "./2021/x-saherelm.x121.amarkets.xauusd.2021.short.parser.mq5"
#include "./2022/x-saherelm.x121.amarkets.xauusd.2022.short.parser.mq5"
#include "./2023/x-saherelm.x121.amarkets.xauusd.2023.short.parser.mq5"
#include "./2024/x-saherelm.x121.amarkets.xauusd.2024.short.parser.mq5"
//
// Conditions Parser ...
@@ -22,43 +22,43 @@
//
// Imports ...
#include "../../Strategies/x-saherelm.xch.strategy.mq5"
#include "../../Strategies/x-saherelm.x121.strategy.mq5"
//
#include "./Brent/x-saherelm.xch.amarkets.brent.long.parser.mq5"
#include "./Brent/x-saherelm.xch.amarkets.brent.short.parser.mq5"
#include "./DowJones/x-saherelm.xch.amarkets.us30.long.parser.mq5"
#include "./DowJones/x-saherelm.xch.amarkets.us30.short.parser.mq5"
#include "./EURGBP/x-saherelm.xch.amarkets.eurgbp.long.parser.mq5"
#include "./EURGBP/x-saherelm.xch.amarkets.eurgbp.short.parser.mq5"
#include "./EURJPY/x-saherelm.xch.amarkets.eurjpy.long.parser.mq5"
#include "./EURJPY/x-saherelm.xch.amarkets.eurjpy.short.parser.mq5"
#include "./EURCHF/x-saherelm.xch.amarkets.eurchf.long.parser.mq5"
#include "./EURCHF/x-saherelm.xch.amarkets.eurchf.short.parser.mq5"
#include "./AUDUSD/x-saherelm.xch.amarkets.audusd.long.parser.mq5"
#include "./AUDUSD/x-saherelm.xch.amarkets.audusd.short.parser.mq5"
#include "./EURAUD/x-saherelm.xch.amarkets.euraud.long.parser.mq5"
#include "./EURAUD/x-saherelm.xch.amarkets.euraud.short.parser.mq5"
#include "./NZDUSD/x-saherelm.xch.amarkets.nzdusd.long.parser.mq5"
#include "./NZDUSD/x-saherelm.xch.amarkets.nzdusd.short.parser.mq5"
#include "./EURNZD/x-saherelm.xch.amarkets.eurnzd.long.parser.mq5"
#include "./EURNZD/x-saherelm.xch.amarkets.eurnzd.short.parser.mq5"
#include "./USDCAD/x-saherelm.xch.amarkets.usdcad.long.parser.mq5"
#include "./USDCAD/x-saherelm.xch.amarkets.usdcad.short.parser.mq5"
#include "./EURCAD/x-saherelm.xch.amarkets.eurcad.long.parser.mq5"
#include "./EURCAD/x-saherelm.xch.amarkets.eurcad.short.parser.mq5"
#include "./EURUSD/x-saherelm.xch.amarkets.eurusd.long.parser.mq5"
#include "./EURUSD/x-saherelm.xch.amarkets.eurusd.short.parser.mq5"
#include "./USDJPY/x-saherelm.xch.amarkets.usdjpy.long.parser.mq5"
#include "./USDJPY/x-saherelm.xch.amarkets.usdjpy.short.parser.mq5"
#include "./USDCHF/x-saherelm.xch.amarkets.usdchf.long.parser.mq5"
#include "./USDCHF/x-saherelm.xch.amarkets.usdchf.short.parser.mq5"
#include "./GBPUSD/x-saherelm.xch.amarkets.gbpusd.long.parser.mq5"
#include "./GBPUSD/x-saherelm.xch.amarkets.gbpusd.short.parser.mq5"
#include "./XAUUSD/x-saherelm.xch.amarkets.xauusd.long.parser.mq5"
#include "./XAUUSD/x-saherelm.xch.amarkets.xauusd.short.parser.mq5"
#include "./XAGUSD/x-saherelm.xch.amarkets.xagusd.long.parser.mq5"
#include "./XAGUSD/x-saherelm.xch.amarkets.xagusd.short.parser.mq5"
#include "./Brent/x-saherelm.x121.amarkets.brent.long.parser.mq5"
#include "./Brent/x-saherelm.x121.amarkets.brent.short.parser.mq5"
#include "./DowJones/x-saherelm.x121.amarkets.us30.long.parser.mq5"
#include "./DowJones/x-saherelm.x121.amarkets.us30.short.parser.mq5"
#include "./EURGBP/x-saherelm.x121.amarkets.eurgbp.long.parser.mq5"
#include "./EURGBP/x-saherelm.x121.amarkets.eurgbp.short.parser.mq5"
#include "./EURJPY/x-saherelm.x121.amarkets.eurjpy.long.parser.mq5"
#include "./EURJPY/x-saherelm.x121.amarkets.eurjpy.short.parser.mq5"
#include "./EURCHF/x-saherelm.x121.amarkets.eurchf.long.parser.mq5"
#include "./EURCHF/x-saherelm.x121.amarkets.eurchf.short.parser.mq5"
#include "./AUDUSD/x-saherelm.x121.amarkets.audusd.long.parser.mq5"
#include "./AUDUSD/x-saherelm.x121.amarkets.audusd.short.parser.mq5"
#include "./EURAUD/x-saherelm.x121.amarkets.euraud.long.parser.mq5"
#include "./EURAUD/x-saherelm.x121.amarkets.euraud.short.parser.mq5"
#include "./NZDUSD/x-saherelm.x121.amarkets.nzdusd.long.parser.mq5"
#include "./NZDUSD/x-saherelm.x121.amarkets.nzdusd.short.parser.mq5"
#include "./EURNZD/x-saherelm.x121.amarkets.eurnzd.long.parser.mq5"
#include "./EURNZD/x-saherelm.x121.amarkets.eurnzd.short.parser.mq5"
#include "./USDCAD/x-saherelm.x121.amarkets.usdcad.long.parser.mq5"
#include "./USDCAD/x-saherelm.x121.amarkets.usdcad.short.parser.mq5"
#include "./EURCAD/x-saherelm.x121.amarkets.eurcad.long.parser.mq5"
#include "./EURCAD/x-saherelm.x121.amarkets.eurcad.short.parser.mq5"
#include "./EURUSD/x-saherelm.x121.amarkets.eurusd.long.parser.mq5"
#include "./EURUSD/x-saherelm.x121.amarkets.eurusd.short.parser.mq5"
#include "./USDJPY/x-saherelm.x121.amarkets.usdjpy.long.parser.mq5"
#include "./USDJPY/x-saherelm.x121.amarkets.usdjpy.short.parser.mq5"
#include "./USDCHF/x-saherelm.x121.amarkets.usdchf.long.parser.mq5"
#include "./USDCHF/x-saherelm.x121.amarkets.usdchf.short.parser.mq5"
#include "./GBPUSD/x-saherelm.x121.amarkets.gbpusd.long.parser.mq5"
#include "./GBPUSD/x-saherelm.x121.amarkets.gbpusd.short.parser.mq5"
#include "./XAUUSD/x-saherelm.x121.amarkets.xauusd.long.parser.mq5"
#include "./XAUUSD/x-saherelm.x121.amarkets.xauusd.short.parser.mq5"
#include "./XAGUSD/x-saherelm.x121.amarkets.xagusd.long.parser.mq5"
#include "./XAGUSD/x-saherelm.x121.amarkets.xagusd.short.parser.mq5"
//
// Conditions Parser ...
@@ -1,707 +0,0 @@
///////////////////////////////////////////////////////
//
// SaherElm IT Center MQL5 Strategy Parser Library
// ------------------------------------------------
// Name: X121StartegyConditionsParser
// Description: provide all conditions parsing
// for XCH Strategy ...
//
//
// Maintainer:
// ------------
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
//
//////////////////////////////////////////////////////
//
// Global Properties ...
#property library
#property copyright "Copyright 2023, SaherElm IT Center"
#property link "https://www.saherelm.ir"
#property version "1.00"
#property strict
//
// Imports ...
#include "../../Strategies/x-saherelm.x121.strategy.mq5"
//
//
#include "./Brent/x-saherelm.x121.amarkets.brent.long.parser.mq5"
#include "./Brent/x-saherelm.x121.amarkets.brent.short.parser.mq5"
#include "./DowJones/x-saherelm.x121.amarkets.us30.long.parser.mq5"
#include "./DowJones/x-saherelm.x121.amarkets.us30.short.parser.mq5"
#include "./EURGBP/x-saherelm.x121.amarkets.eurgbp.long.parser.mq5"
#include "./EURGBP/x-saherelm.x121.amarkets.eurgbp.short.parser.mq5"
#include "./EURJPY/x-saherelm.x121.amarkets.eurjpy.long.parser.mq5"
#include "./EURJPY/x-saherelm.x121.amarkets.eurjpy.short.parser.mq5"
#include "./EURCHF/x-saherelm.x121.amarkets.eurchf.long.parser.mq5"
#include "./EURCHF/x-saherelm.x121.amarkets.eurchf.short.parser.mq5"
#include "./AUDUSD/x-saherelm.x121.amarkets.audusd.long.parser.mq5"
#include "./AUDUSD/x-saherelm.x121.amarkets.audusd.short.parser.mq5"
#include "./EURAUD/x-saherelm.x121.amarkets.euraud.long.parser.mq5"
#include "./EURAUD/x-saherelm.x121.amarkets.euraud.short.parser.mq5"
#include "./NZDUSD/x-saherelm.x121.amarkets.nzdusd.long.parser.mq5"
#include "./NZDUSD/x-saherelm.x121.amarkets.nzdusd.short.parser.mq5"
#include "./EURNZD/x-saherelm.x121.amarkets.eurnzd.long.parser.mq5"
#include "./EURNZD/x-saherelm.x121.amarkets.eurnzd.short.parser.mq5"
#include "./USDCAD/x-saherelm.x121.amarkets.usdcad.long.parser.mq5"
#include "./USDCAD/x-saherelm.x121.amarkets.usdcad.short.parser.mq5"
#include "./EURCAD/x-saherelm.x121.amarkets.eurcad.long.parser.mq5"
#include "./EURCAD/x-saherelm.x121.amarkets.eurcad.short.parser.mq5"
#include "./EURUSD/x-saherelm.x121.amarkets.eurusd.long.parser.mq5"
#include "./EURUSD/x-saherelm.x121.amarkets.eurusd.short.parser.mq5"
#include "./USDJPY/x-saherelm.x121.amarkets.usdjpy.long.parser.mq5"
#include "./USDJPY/x-saherelm.x121.amarkets.usdjpy.short.parser.mq5"
#include "./USDCHF/x-saherelm.x121.amarkets.usdchf.long.parser.mq5"
#include "./USDCHF/x-saherelm.x121.amarkets.usdchf.short.parser.mq5"
#include "./GBPUSD/x-saherelm.x121.amarkets.gbpusd.long.parser.mq5"
#include "./GBPUSD/x-saherelm.x121.amarkets.gbpusd.short.parser.mq5"
#include "./XAUUSD/x-saherelm.x121.amarkets.xauusd.long.parser.mq5"
#include "./XAUUSD/x-saherelm.x121.amarkets.xauusd.short.parser.mq5"
#include "./XAGUSD/x-saherelm.x121.amarkets.xagusd.long.parser.mq5"
#include "./XAGUSD/x-saherelm.x121.amarkets.xagusd.short.parser.mq5"
//
// Conditions Parser ...
struct X121StartegyAMarketsConditionsParser
{
//
string _version;
//
// Parsers ...
XSymbolParser _symbolParser;
//
// EURUSD ...
X121StartegyAMarketsEURUSDLongConditionsParser _eurusdLongParser;
X121StartegyAMarketsEURUSDShortConditionsParser _eurusdShortParser;
//
// GBPUSD ...
X121StartegyAMarketsGBPUSDLongConditionsParser _gbpusdLongParser;
X121StartegyAMarketsGBPUSDShortConditionsParser _gbpusdShortParser;
//
// EURGBP ...
X121StartegyAMarketsEURGBPLongConditionsParser _eurgbpLongParser;
X121StartegyAMarketsEURGBPShortConditionsParser _eurgbpShortParser;
//
// USDJPY ...
X121StartegyAMarketsUSDJPYLongConditionsParser _usdjpyLongParser;
X121StartegyAMarketsUSDJPYShortConditionsParser _usdjpyShortParser;
//
// EURJPY ...
X121StartegyAMarketsEURJPYLongConditionsParser _eurjpyLongParser;
X121StartegyAMarketsEURJPYShortConditionsParser _eurjpyShortParser;
//
// USDCHF ...
X121StartegyAMarketsUSDCHFLongConditionsParser _usdchfLongParser;
X121StartegyAMarketsUSDCHFShortConditionsParser _usdchfShortParser;
//
// EURCHF ...
X121StartegyAMarketsEURCHFLongConditionsParser _eurchfLongParser;
X121StartegyAMarketsEURCHFShortConditionsParser _eurchfShortParser;
//
// XAUUSD ...
X121StartegyAMarketsXAUUSDLongConditionsParser _xauusdLongParser;
X121StartegyAMarketsXAUUSDShortConditionsParser _xauusdShortParser;
//
// XAGUSD ...
X121StartegyAMarketsXAGUSDLongConditionsParser _xagusdLongParser;
X121StartegyAMarketsXAGUSDShortConditionsParser _xagusdShortParser;
//
// AUDUSD ...
X121StartegyAMarketsAUDUSDLongConditionsParser _audusdLongParser;
X121StartegyAMarketsAUDUSDShortConditionsParser _audusdShortParser;
//
// EURAUD ...
X121StartegyAMarketsEURAUDLongConditionsParser _euraudLongParser;
X121StartegyAMarketsEURAUDShortConditionsParser _euraudShortParser;
//
// NZDUSD ...
X121StartegyAMarketsNZDUSDLongConditionsParser _nzdusdLongParser;
X121StartegyAMarketsNZDUSDShortConditionsParser _nzdusdShortParser;
//
// EURNZD ...
X121StartegyAMarketsEURNZDLongConditionsParser _eurnzdLongParser;
X121StartegyAMarketsEURNZDShortConditionsParser _eurnzdShortParser;
//
// USDCAD ...
X121StartegyAMarketsUSDCADLongConditionsParser _usdcadLongParser;
X121StartegyAMarketsUSDCADShortConditionsParser _usdcadShortParser;
//
// EURCAD ...
X121StartegyAMarketsEURCADLongConditionsParser _eurcadLongParser;
X121StartegyAMarketsEURCADShortConditionsParser _eurcadShortParser;
//
// DOWJONES ...
X121StartegyAMarketsUS30LongConditionsParser _dowjonesLongParser;
X121StartegyAMarketsUS30ShortConditionsParser _dowjonesShortParser;
//
// BRENT ...
X121StartegyAMarketsBRENTLongConditionsParser _brentLongParser;
X121StartegyAMarketsBRENTShortConditionsParser _brentShortParser;
//
bool IsFiltered(
XSignal &signal, // Provided Signal
X121StrategyConditions &conditions, // Market Conditions
bool force = false //
)
{
//
bool result = false;
//
// Validate Args ...
if (!signal.IsValid() || !conditions.IsValid())
{
//
result = true;
return result;
}
//
bool isLong = IsLong(signal.type);
//
result =
//
isLong
? IsLongFiltered(
signal,
conditions,
force //
)
: IsShortFiltered(
signal,
conditions,
force //
)
//
;
//
return result;
}
//
// Filter Long Signals ...
bool IsLongFiltered(
XSignal &signal,
X121StrategyConditions &conditions,
bool force = false //
)
{
//
bool result = false;
//
bool isEURUSD = _symbolParser.IsEURUSD(signal.symbol);
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);
//
bool isEURUSDFiltered = _eurusdLongParser.IsFiltered(
signal,
conditions //
);
bool isGBPUSDFiltered = _gbpusdLongParser.IsFiltered(
signal,
conditions //
);
bool isEURGBPFiltered = _eurgbpLongParser.IsFiltered(
signal,
conditions //
);
bool isUSDJPYFiltered = _usdjpyLongParser.IsFiltered(
signal,
conditions //
);
bool isEURJPYFiltered = _eurjpyLongParser.IsFiltered(
signal,
conditions //
);
bool isUSDCHFFiltered = _usdchfLongParser.IsFiltered(
signal,
conditions //
);
bool isEURCHFFiltered = _eurchfLongParser.IsFiltered(
signal,
conditions //
);
bool isXAUUSDFiltered = _xauusdLongParser.IsFiltered(
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 //
);
bool isEURCADFiltered = _eurcadLongParser.IsFiltered(
signal,
conditions //
);
bool isDowJonesFiltered = _dowjonesLongParser.IsFiltered(
signal,
conditions //
);
bool isBrentFiltered = _brentLongParser.IsFiltered(
signal,
conditions //
);
//
if (!force)
{
//
if (isEURUSD)
{
result = isEURUSDFiltered;
}
else if (isGBPUSD)
{
result = isGBPUSDFiltered;
}
else if (isEURGBP)
{
result = isEURGBPFiltered;
}
else if (isUSDJPY)
{
result = isUSDJPYFiltered;
}
else if (isEURJPY)
{
result = isEURJPYFiltered;
}
else if (isUSDCHF)
{
result = isUSDCHFFiltered;
}
else if (isEURCHF)
{
result = isEURCHFFiltered;
}
else if (isXAUUSD)
{
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;
}
else if (isEURCAD)
{
result = isEURCADFiltered;
}
else if (isBrent)
{
result = isBrentFiltered;
}
else if (isDowJones)
{
result = isDowJonesFiltered;
}
}
else
{
//
result =
//
isEURUSDFiltered
//
||
//
isGBPUSDFiltered
//
||
//
isEURGBPFiltered
//
||
//
isUSDJPYFiltered
//
||
//
isEURJPYFiltered
//
||
//
isUSDCHFFiltered
//
||
//
isEURCHFFiltered
//
||
//
isXAUUSDFiltered
//
||
//
isXAGUSDFiltered
//
||
//
isAUDUSDFiltered
//
||
//
isEURAUDFiltered
//
||
//
isNZDUSDFiltered
//
||
//
isEURNZDFiltered
//
||
//
isUSDCADFiltered
//
||
//
isEURCADFiltered
//
||
//
isBrentFiltered
//
||
//
isDowJonesFiltered
//
;
}
//
return result;
}
//
// Filter Short Signals ...
bool IsShortFiltered(
XSignal &signal,
X121StrategyConditions &conditions,
bool force = false //
)
{
//
bool result = false;
//
bool isEURUSD = _symbolParser.IsEURUSD(signal.symbol);
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);
//
bool isEURUSDFiltered = _eurusdShortParser.IsFiltered(
signal,
conditions //
);
bool isGBPUSDFiltered = _gbpusdShortParser.IsFiltered(
signal,
conditions //
);
bool isEURGBPFiltered = _eurgbpShortParser.IsFiltered(
signal,
conditions //
);
bool isUSDJPYFiltered = _usdjpyShortParser.IsFiltered(
signal,
conditions //
);
bool isEURJPYFiltered = _eurjpyShortParser.IsFiltered(
signal,
conditions //
);
bool isUSDCHFFiltered = _usdchfShortParser.IsFiltered(
signal,
conditions //
);
bool isEURCHFFiltered = _eurchfShortParser.IsFiltered(
signal,
conditions //
);
bool isXAUUSDFiltered = _xauusdShortParser.IsFiltered(
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 //
);
bool isEURCADFiltered = _eurcadShortParser.IsFiltered(
signal,
conditions //
);
bool isBrentFiltered = _brentShortParser.IsFiltered(
signal,
conditions //
);
bool isDowJonesFiltered = _dowjonesShortParser.IsFiltered(
signal,
conditions //
);
//
if (!force)
{
//
if (isEURUSD)
{
result = isEURUSDFiltered;
}
else if (isGBPUSD)
{
result = isGBPUSDFiltered;
}
else if (isEURGBP)
{
result = isEURGBPFiltered;
}
else if (isUSDJPY)
{
result = isUSDJPYFiltered;
}
else if (isEURJPY)
{
result = isEURJPYFiltered;
}
else if (isUSDCHF)
{
result = isUSDCHFFiltered;
}
else if (isEURCHF)
{
result = isEURCHFFiltered;
}
else if (isXAUUSD)
{
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;
}
else if (isEURCAD)
{
result = isEURCADFiltered;
}
else if (isBrent)
{
result = isBrentFiltered;
}
else if (isDowJones)
{
result = isDowJonesFiltered;
}
}
else
{
//
result =
//
isEURUSDFiltered
//
||
//
isGBPUSDFiltered
//
||
//
isEURGBPFiltered
//
||
//
isUSDJPYFiltered
//
||
//
isEURJPYFiltered
//
||
//
isUSDCHFFiltered
//
||
//
isEURCHFFiltered
//
||
//
isXAUUSDFiltered
//
||
//
isXAGUSDFiltered
//
||
//
isAUDUSDFiltered
//
||
//
isEURAUDFiltered
//
||
//
isNZDUSDFiltered
//
||
//
isEURNZDFiltered
//
||
//
isUSDCADFiltered
//
||
//
isEURCADFiltered
//
||
//
isBrentFiltered
//
||
//
isDowJonesFiltered
//
;
}
//
return result;
}
};
//