From 5434cd9dd8d03d4cfab190ae43c4ce7dc3f60327 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Tue, 28 Jan 2025 01:41:36 +0330 Subject: [PATCH] last ... --- .../Signals/x-121.smc.xhkpv.signal.lib.mq5 | 157 +++++++++++++++++- .../Strategy/x-121.smc.strategy.class.mq5 | 4 +- 2 files changed, 155 insertions(+), 6 deletions(-) diff --git a/X121SMCEA/Signals/x-121.smc.xhkpv.signal.lib.mq5 b/X121SMCEA/Signals/x-121.smc.xhkpv.signal.lib.mq5 index d9d12549..369f21e3 100644 --- a/X121SMCEA/Signals/x-121.smc.xhkpv.signal.lib.mq5 +++ b/X121SMCEA/Signals/x-121.smc.xhkpv.signal.lib.mq5 @@ -974,17 +974,158 @@ bool DetectX121SMCXHKPVSignalSetup( // // - // Summarize Conditions ... + // Check Verifications Conditions ... // - X121Conditions xConditions = triggerXConditions; + // XHK ... + bool isXHKBullish = false; + bool isXHKBearish = false; + + // + // XSAR ... + bool isXSarBullish = false; + bool isXSarBearish = false; + + // + // XATR ... + bool isXAtrBullish = false; + bool isXAtrBearish = false; + + // + // XSTR ... + bool isXStrBullish = false; + bool isXStrBearish = false; + + // + // XVWAP ... + bool isXVWapBullish = false; + bool isXVWapBearish = false; + + // + if (hasPriceBox) + { + // + // XHK ... + + // + isXHKBullish = + // + // Trigger ... + triggerXConditions.isSMHKBullish && + triggerXConditions.isRawHKBullish && + triggerXConditions.isClosedOverSMHK && + triggerXConditions.isClosedOverRawHK && + (triggerXConditions.isBreakedUpSMHK || + triggerXConditions.isBreakedUpRawHK) && + triggerXConditions.isRawHKClosedOverSMHK && + // + // Decision ... + decisionXConditions.isSMHKBullish && + decisionXConditions.isRawHKBullish && + decisionXConditions.isClosedOverSMHK && + decisionXConditions.isClosedOverRawHK && + (decisionXConditions.isBreakedUpSMHK || + decisionXConditions.isBreakedUpRawHK) && + decisionXConditions.isRawHKClosedOverSMHK && + // + // Analyse ... + analyseXConditions.isSMHKBullish && + analyseXConditions.isRawHKBullish && + analyseXConditions.isClosedOverSMHK && + analyseXConditions.isClosedOverRawHK && + (analyseXConditions.isBreakedUpSMHK || + analyseXConditions.isBreakedUpRawHK) && + decisionXConditions.isRawHKClosedOverSMHK + // + ; + + // + isXHKBearish = + // + // Trigger ... + triggerXConditions.isSMHKBearish && + triggerXConditions.isRawHKBearish && + triggerXConditions.isClosedUnderSMHK && + triggerXConditions.isClosedUnderRawHK && + (triggerXConditions.isBreakedDownSMHK || + triggerXConditions.isBreakedDownRawHK) && + triggerXConditions.isRawHKClosedUnderSMHK && + // + // Decision ... + decisionXConditions.isSMHKBearish && + decisionXConditions.isRawHKBearish && + decisionXConditions.isClosedUnderSMHK && + decisionXConditions.isClosedUnderRawHK && + (decisionXConditions.isBreakedDownSMHK || + decisionXConditions.isBreakedDownRawHK) && + decisionXConditions.isRawHKClosedUnderSMHK && + // + // Analyse ... + analyseXConditions.isSMHKBearish && + analyseXConditions.isRawHKBearish && + analyseXConditions.isClosedUnderSMHK && + analyseXConditions.isClosedUnderRawHK && + (analyseXConditions.isBreakedDownSMHK || + analyseXConditions.isBreakedDownRawHK) && + analyseXConditions.isRawHKClosedUnderSMHK + // + ; + + // + // XSAR ... + + // + isXSarBullish = + // + // Trigger ... + triggerXConditions.isSarBullish && + triggerXConditions.isSarIncreased && + // + // Decision ... + decisionXConditions.isSarBullish && + decisionXConditions.isSarIncreased && + // + // Analyse ... + analyseXConditions.isSarBullish && + analyseXConditions.isSarIncreased + // + ; + + // + isXSarBearish = + // + // Trigger ... + triggerXConditions.isSarBearish && + triggerXConditions.isSarDecreased && + // + // Decision ... + decisionXConditions.isSarBearish && + decisionXConditions.isSarDecreased && + // + // Analyse ... + analyseXConditions.isSarBearish // && + // analyseXConditions.isSarDecreased + // + ; + } + + // + // Summarize Conditions ... // bool isCondition1Bullish = // isPriceOBUpperBrekedUp && conditions.isPriceOBBreaked && - conditions.priceOB.IsBearish() + conditions.priceOB.IsBearish() && + // + // XHK ... + isXHKBullish && + // + // XSAR ... + isXSarBullish && + // + true // ; @@ -993,7 +1134,15 @@ bool DetectX121SMCXHKPVSignalSetup( // isPriceOBLowerBrekedDown && conditions.isPriceOBBreaked && - conditions.priceOB.IsBullish() + conditions.priceOB.IsBullish() && + // + // XHK ... + isXHKBearish && + // + // XSAR ... + isXSarBearish && + // + true // ; diff --git a/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 b/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 index 752690aa..dbbb9501 100644 --- a/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 +++ b/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 @@ -1236,8 +1236,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // XATR ... - x121Inputs.xatrInputs.showATRUpper = showAll || false; - x121Inputs.xatrInputs.showATRLower = showAll || false; + x121Inputs.xatrInputs.showATRUpper = showAll || true; + x121Inputs.xatrInputs.showATRLower = showAll || true; // x121Inputs.xatrInputs.atrMultiplier = 1.5;