diff --git a/X121SMCEA/Libraries/x-121.smc.lib.mq5 b/X121SMCEA/Libraries/x-121.smc.lib.mq5 index e3c01fbd..124c0fde 100644 --- a/X121SMCEA/Libraries/x-121.smc.lib.mq5 +++ b/X121SMCEA/Libraries/x-121.smc.lib.mq5 @@ -159,6 +159,66 @@ struct X121SMCStrategyConditions Clean(bearishRejectionBars); } + bool ValidateSupply() + { + // + bool result = false; + + // + result = IsValid(); + if (!result) + { + return result; + } + + // + result = + // + supplyZone.IsValid() && + bearishOrderBlock.IsValid() && + (ArraySize(swingHighs) > 0 || + ArraySize(bearishFVGs) > 0 || + ArraySize(resistances) > 0 || + ArraySize(bearishOrderBlocks) > 0 || + ArraySize(bearishMomentumBars) > 0 || + ArraySize(bearishRejectionBars) > 0) + // + ; + + // + return result; + } + + bool ValidateDemand() + { + // + bool result = false; + + // + result = IsValid(); + if (!result) + { + return result; + } + + // + result = + // + demandZone.IsValid() && + bullishOrderBlock.IsValid() && + (ArraySize(supports) > 0 || + ArraySize(swingLows) > 0 || + ArraySize(bullishFVGs) > 0 || + ArraySize(bullishOrderBlocks) > 0 || + ArraySize(bullishMomentumBars) > 0 || + ArraySize(bullishRejectionBars) > 0) + // + ; + + // + return result; + } + // // Validate ... bool IsValid() diff --git a/X121SMCEA/Strategy/x-121.smc.test.strategy.class.mq5 b/X121SMCEA/Strategy/x-121.smc.test.strategy.class.mq5 index b1494a5f..1d0bb171 100644 Binary files a/X121SMCEA/Strategy/x-121.smc.test.strategy.class.mq5 and b/X121SMCEA/Strategy/x-121.smc.test.strategy.class.mq5 differ