diff --git a/Classes/x-saherelm.x121.setup.class.mq5 b/Classes/x-saherelm.x121.setup.class.mq5 index 654fb87c..35ffdbdb 100644 --- a/Classes/x-saherelm.x121.setup.class.mq5 +++ b/Classes/x-saherelm.x121.setup.class.mq5 @@ -980,7 +980,8 @@ struct X121SetupConditions struct X121SignalGenerator { // - string version; + // Symbol Parser Instance ... + XSymbolParser symbolParser; // // Constructor ... @@ -2027,8 +2028,50 @@ struct X121SignalGenerator bool result = false; // - // TODO Filter ... - result = true; // provider == ToString(PROVIDER_XHTSRD); + bool isGBPUSD = symbolParser.IsGBPUSD(conditions.symbol); + + // + bool isM5Period = conditions.period == PERIOD_M5; + bool isM15Period = conditions.period == PERIOD_M15; + bool isH1Period = conditions.period == PERIOD_H1; + bool isH4Period = conditions.period == PERIOD_H4; + + // + // Set Default Result to True ... + result = true; + + // + // Global Conditions ... + result = + // + result && + // + !( + // + ( + // + // XICH ... + conditions.ichConditions.isClosedUnderKijunSen && + conditions.ichConditions.isTenkanSenOverKijunSen + // + ) + // + ) + // + ; + + // + // Apply Filter ... + // Based On Symbol and Period ... + // if necessary ... + if (isGBPUSD) + { + // + // MEDIUM ... + if (isH1Period) + { + } + } // return result; @@ -3265,8 +3308,50 @@ struct X121SignalGenerator bool result = false; // - // TODO Filter ... - result = true; // provider == ToString(PROVIDER_XHTSRD); + bool isGBPUSD = symbolParser.IsGBPUSD(conditions.symbol); + + // + bool isM5Period = conditions.period == PERIOD_M5; + bool isM15Period = conditions.period == PERIOD_M15; + bool isH1Period = conditions.period == PERIOD_H1; + bool isH4Period = conditions.period == PERIOD_H4; + + // + // Set Default Result to True ... + result = true; + + // + // Global Conditions ... + result = + // + result && + // + !( + // + ( + // + // XICH ... + conditions.ichConditions.isClosedOverKijunSen && + conditions.ichConditions.isTenkanSenUnderKijunSen + // + ) + // + ) + // + ; + + // + // Apply Filter ... + // Based On Symbol and Period ... + // if necessary ... + if (isGBPUSD) + { + // + // MEDIUM ... + if (isH1Period) + { + } + } // return result;