From 956d49cbf34fbc93f5a996307a945e029b94b48f Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Fri, 2 Aug 2024 06:39:01 +0330 Subject: [PATCH] last ... --- Classes/x-saherelm.xtrade.class.mq5 | 2 +- Strategies/x-saherelm.xch.strategy.mq5 | 325 +++++++++++++++++++++++++ 2 files changed, 326 insertions(+), 1 deletion(-) diff --git a/Classes/x-saherelm.xtrade.class.mq5 b/Classes/x-saherelm.xtrade.class.mq5 index a77b1843..31aa7941 100644 --- a/Classes/x-saherelm.xtrade.class.mq5 +++ b/Classes/x-saherelm.xtrade.class.mq5 @@ -3888,7 +3888,7 @@ public: // string content = item.ToString(); - content += "\n" + "Signal: " + "\n" + item.ToString(true); + content += "\n" + "-----------" + "\n" + "Signal: " + "\n" + "-----------" + "\n" + item.ToString(true); // result = IsValid(content); diff --git a/Strategies/x-saherelm.xch.strategy.mq5 b/Strategies/x-saherelm.xch.strategy.mq5 index 4d247929..7b00eafd 100644 --- a/Strategies/x-saherelm.xch.strategy.mq5 +++ b/Strategies/x-saherelm.xch.strategy.mq5 @@ -16747,6 +16747,331 @@ struct XCHStartegyConditionsParser // ) // + || + // + ( + // + // XPV ... + // + conditions.pvConditions.isCloseOverFib1 && + conditions.pvConditions.isCloseOverFib2 && + conditions.pvConditions.isCloseOverFib3 && + conditions.pvConditions.isCloseOverFib4 && + conditions.pvConditions.isCloseOverFib5 && + conditions.pvConditions.isSCBullish && + conditions.pvConditions.isSCHHBullish && + conditions.pvConditions.isSCLLBullish && + conditions.pvConditions.isSCSwitchedToBullish && + conditions.pvConditions.isSCHHSwitchedToBullish && + conditions.pvConditions.isSCLLSwitchedToBullish && + // + !conditions.pvConditions.isNewPeak && + !conditions.pvConditions.isNewPeakOverLast && + !conditions.pvConditions.isNewPeakUnderLast && + !conditions.pvConditions.isNewVale && + !conditions.pvConditions.isNewValeOverLast && + !conditions.pvConditions.isNewValeUnderLast && + !conditions.pvConditions.isFiboIncreased && + !conditions.pvConditions.isFiboDecreased && + !conditions.pvConditions.isFiboSectionChanged && + !conditions.pvConditions.isCloseUnderFib1 && + !conditions.pvConditions.isCloseUnderFib2 && + !conditions.pvConditions.isCloseUnderFib3 && + !conditions.pvConditions.isCloseUnderFib4 && + !conditions.pvConditions.isCloseUnderFib5 && + !conditions.pvConditions.isCloseCrossedOverFib1 && + !conditions.pvConditions.isCloseCrossedOverFib2 && + !conditions.pvConditions.isCloseCrossedOverFib3 && + !conditions.pvConditions.isCloseCrossedOverFib4 && + !conditions.pvConditions.isCloseCrossedOverFib5 && + !conditions.pvConditions.isCloseCrossedUnderFib1 && + !conditions.pvConditions.isCloseCrossedUnderFib2 && + !conditions.pvConditions.isCloseCrossedUnderFib3 && + !conditions.pvConditions.isCloseCrossedUnderFib4 && + !conditions.pvConditions.isCloseCrossedUnderFib5 && + !conditions.pvConditions.isSCBearish && + !conditions.pvConditions.isSCHHBearish && + !conditions.pvConditions.isSCLLBearish && + !conditions.pvConditions.isSCSwitchedToBearish && + !conditions.pvConditions.isSCHHSwitchedToBearish && + !conditions.pvConditions.isSCLLSwitchedToBeraish && + !conditions.pvConditions.isMCBullish && + !conditions.pvConditions.isMCHHBullish && + !conditions.pvConditions.isMCLLBullish && + !conditions.pvConditions.isMCSwitchedToBullish && + !conditions.pvConditions.isMCHHSwitchedToBullish && + !conditions.pvConditions.isMCLLSwitchedToBullish && + !conditions.pvConditions.isMCBearish && + !conditions.pvConditions.isMCHHBearish && + !conditions.pvConditions.isMCLLBearish && + !conditions.pvConditions.isMCSwitchedToBearish && + !conditions.pvConditions.isMCHHSwitchedToBearish && + !conditions.pvConditions.isMCLLSwitchedToBeraish && + !conditions.pvConditions.isLCBullish && + !conditions.pvConditions.isLCHHBullish && + !conditions.pvConditions.isLCLLBullish && + !conditions.pvConditions.isLCSwitchedToBullish && + !conditions.pvConditions.isLCHHSwitchedToBullish && + !conditions.pvConditions.isLCLLSwitchedToBullish && + !conditions.pvConditions.isLCBearish && + !conditions.pvConditions.isLCHHBearish && + !conditions.pvConditions.isLCLLBearish && + !conditions.pvConditions.isLCSwitchedToBearish && + !conditions.pvConditions.isLCHHSwitchedToBearish && + !conditions.pvConditions.isLCLLSwitchedToBeraish && + !conditions.pvConditions.isHCBullish && + !conditions.pvConditions.isHCHHBullish && + !conditions.pvConditions.isHCLLBullish && + !conditions.pvConditions.isHCSwitchedToBullish && + !conditions.pvConditions.isHCHHSwitchedToBullish && + !conditions.pvConditions.isHCLLSwitchedToBullish && + !conditions.pvConditions.isHCBearish && + !conditions.pvConditions.isHCHHBearish && + !conditions.pvConditions.isHCLLBearish && + !conditions.pvConditions.isHCSwitchedToBearish && + !conditions.pvConditions.isHCHHSwitchedToBearish && + !conditions.pvConditions.isHCLLSwitchedToBeraish && + // + // XCHM ... + // + conditions.chmConditions.hasBearishPower && + conditions.chmConditions.isFastUnderSlow && + conditions.chmConditions.isClosedUnderFast && + conditions.chmConditions.isCFastUnderSlow && + conditions.chmConditions.isClosedUnderCFast && + conditions.chmConditions.isSFastOverSlow && + conditions.chmConditions.isClosedUnderSFast && + conditions.chmConditions.isMFastUnderSlow && + conditions.chmConditions.isClosedOverMFast && + conditions.chmConditions.isLFastUnderSlow && + conditions.chmConditions.isClosedUnderLFast && + conditions.chmConditions.isHFastUnderSlow && + conditions.chmConditions.isClosedUnderHFast && + // + !conditions.chmConditions.hasBullishPower && + !conditions.chmConditions.isBullishPowerUp && + !conditions.chmConditions.isBearishPowerUp && + !conditions.chmConditions.isBullishPowerIncreasing && + !conditions.chmConditions.isBullishPowerDecreasing && + !conditions.chmConditions.isBearishPowerIncreasing && + !conditions.chmConditions.isBearishPowerDecreasing && + !conditions.chmConditions.isFastOverSlow && + !conditions.chmConditions.isFastCrossedOverSlow && + !conditions.chmConditions.isFastCrossedUnderSlow && + !conditions.chmConditions.isClosedOverFast && + !conditions.chmConditions.isCFastOverSlow && + !conditions.chmConditions.isCFastCrossedOverSlow && + !conditions.chmConditions.isCFastCrossedUnderSlow && + !conditions.chmConditions.isClosedOverCFast && + !conditions.chmConditions.isSFastUnderSlow && + !conditions.chmConditions.isSFastCrossedOverSlow && + !conditions.chmConditions.isSFastCrossedUnderSlow && + !conditions.chmConditions.isClosedOverSFast && + !conditions.chmConditions.isMFastOverSlow && + !conditions.chmConditions.isMFastCrossedOverSlow && + !conditions.chmConditions.isMFastCrossedUnderSlow && + !conditions.chmConditions.isClosedUnderMFast && + !conditions.chmConditions.isLFastOverSlow && + !conditions.chmConditions.isLFastCrossedOverSlow && + !conditions.chmConditions.isLFastCrossedUnderSlow && + !conditions.chmConditions.isClosedOverLFast && + !conditions.chmConditions.isHFastOverSlow && + !conditions.chmConditions.isHFastCrossedOverSlow && + !conditions.chmConditions.isHFastCrossedUnderSlow && + !conditions.chmConditions.isClosedOverHFast && + // + // XCHHK ... + // + conditions.chhkConditions.hasBearishPower && + conditions.chhkConditions.isCBullish && + conditions.chhkConditions.isCSwitchedToBullish && + conditions.chhkConditions.isCloseUnderCLow && + conditions.chhkConditions.isSBullish && + conditions.chhkConditions.isCloseUnderSLow && + conditions.chhkConditions.isMBullish && + conditions.chhkConditions.isCloseUnderMLow && + conditions.chhkConditions.isLBearish && + conditions.chhkConditions.isCloseUnderLLow && + conditions.chhkConditions.isHBearish && + conditions.chhkConditions.isCloseUnderHLow && + // + !conditions.chhkConditions.hasBullishPower && + !conditions.chhkConditions.isBullishPowerUp && + !conditions.chhkConditions.isBearishPowerUp && + !conditions.chhkConditions.isBullishPowerIncreasing && + !conditions.chhkConditions.isBullishPowerDecreasing && + !conditions.chhkConditions.isBearishPowerIncreasing && + !conditions.chhkConditions.isBearishPowerDecreasing && + !conditions.chhkConditions.isCBearish && + !conditions.chhkConditions.isCSwitchedToBearish && + !conditions.chhkConditions.isCloseOverCHigh && + !conditions.chhkConditions.isSSwitchedToBullish && + !conditions.chhkConditions.isSBearish && + !conditions.chhkConditions.isSSwitchedToBearish && + !conditions.chhkConditions.isCloseOverSHigh && + !conditions.chhkConditions.isMSwitchedToBullish && + !conditions.chhkConditions.isMBearish && + !conditions.chhkConditions.isMSwitchedToBearish && + !conditions.chhkConditions.isCloseOverMHigh && + !conditions.chhkConditions.isLBullish && + !conditions.chhkConditions.isLSwitchedToBullish && + !conditions.chhkConditions.isLSwitchedToBearish && + !conditions.chhkConditions.isCloseOverLHigh && + !conditions.chhkConditions.isHBullish && + !conditions.chhkConditions.isHSwitchedToBullish && + !conditions.chhkConditions.isHSwitchedToBearish && + !conditions.chhkConditions.isCloseOverHHigh && + // + // XCHTD ... + // + conditions.chtdConditions.hasBearishPower && + conditions.chtdConditions.isCBearish && + conditions.chtdConditions.isSBullish && + conditions.chtdConditions.isMBullish && + conditions.chtdConditions.isLBearish && + conditions.chtdConditions.isHBearish && + // + !conditions.chtdConditions.hasBullishPower && + !conditions.chtdConditions.isBullishPowerUp && + !conditions.chtdConditions.isBearishPowerUp && + !conditions.chtdConditions.isBullishPowerIncreasing && + !conditions.chtdConditions.isBullishPowerDecreasing && + !conditions.chtdConditions.isBearishPowerIncreasing && + !conditions.chtdConditions.isBearishPowerDecreasing && + !conditions.chtdConditions.isCBullish && + !conditions.chtdConditions.isCSwitchedToBullish && + !conditions.chtdConditions.isCSwitchedToBearish && + !conditions.chtdConditions.isSBearish && + !conditions.chtdConditions.isSSwitchedToBullish && + !conditions.chtdConditions.isSSwitchedToBearish && + !conditions.chtdConditions.isMBearish && + !conditions.chtdConditions.isMSwitchedToBullish && + !conditions.chtdConditions.isMSwitchedToBearish && + !conditions.chtdConditions.isLBullish && + !conditions.chtdConditions.isLSwitchedToBullish && + !conditions.chtdConditions.isLSwitchedToBearish && + !conditions.chtdConditions.isHBullish && + !conditions.chtdConditions.isHSwitchedToBullish && + !conditions.chtdConditions.isHSwitchedToBearish && + // + // XCHCHE ... + // + conditions.chcheConditions.hasBearishPower && + conditions.chcheConditions.isCBearish && + conditions.chcheConditions.isCStrongBearish && + conditions.chcheConditions.isSBearish && + conditions.chcheConditions.isSStrongBearish && + conditions.chcheConditions.isMBearish && + conditions.chcheConditions.isLBearish && + conditions.chcheConditions.isLStrongBearish && + conditions.chcheConditions.isHBearish && + conditions.chcheConditions.isHStrongBearish && + // + !conditions.chcheConditions.hasBullishPower && + !conditions.chcheConditions.isBullishPowerUp && + !conditions.chcheConditions.isBearishPowerUp && + !conditions.chcheConditions.isBullishPowerIncreasing && + !conditions.chcheConditions.isBullishPowerDecreasing && + !conditions.chcheConditions.isBearishPowerIncreasing && + !conditions.chcheConditions.isBearishPowerDecreasing && + !conditions.chcheConditions.isCBullish && + !conditions.chcheConditions.isCStrongBullish && + !conditions.chcheConditions.isCSwitchedToBullish && + !conditions.chcheConditions.isCSwitchedToBearish && + !conditions.chcheConditions.isCStrongSwitchedToBullish && + !conditions.chcheConditions.isCStrongSwitchedToBearish && + !conditions.chcheConditions.isSBullish && + !conditions.chcheConditions.isSStrongBullish && + !conditions.chcheConditions.isSSwitchedToBullish && + !conditions.chcheConditions.isSSwitchedToBearish && + !conditions.chcheConditions.isSStrongSwitchedToBullish && + !conditions.chcheConditions.isSStrongSwitchedToBearish && + !conditions.chcheConditions.isMBullish && + !conditions.chcheConditions.isMStrongBullish && + !conditions.chcheConditions.isMStrongBearish && + !conditions.chcheConditions.isMSwitchedToBullish && + !conditions.chcheConditions.isMSwitchedToBearish && + !conditions.chcheConditions.isMStrongSwitchedToBullish && + !conditions.chcheConditions.isMStrongSwitchedToBearish && + !conditions.chcheConditions.isLBullish && + !conditions.chcheConditions.isLStrongBullish && + !conditions.chcheConditions.isLSwitchedToBullish && + !conditions.chcheConditions.isLSwitchedToBearish && + !conditions.chcheConditions.isLStrongSwitchedToBullish && + !conditions.chcheConditions.isLStrongSwitchedToBearish && + !conditions.chcheConditions.isHBullish && + !conditions.chcheConditions.isHStrongBullish && + !conditions.chcheConditions.isHSwitchedToBullish && + !conditions.chcheConditions.isHSwitchedToBearish && + !conditions.chcheConditions.isHStrongSwitchedToBullish && + !conditions.chcheConditions.isHStrongSwitchedToBearish && + // + // XCHSTR ... + // + conditions.chstrConditions.hasBullishPower && + conditions.chstrConditions.isCBearish && + conditions.chstrConditions.isSBearish && + conditions.chstrConditions.isMBullish && + conditions.chstrConditions.isLBullish && + conditions.chstrConditions.isHBullish && + // + !conditions.chstrConditions.hasBearishPower && + !conditions.chstrConditions.isBullishPowerUp && + !conditions.chstrConditions.isBearishPowerUp && + !conditions.chstrConditions.isBullishPowerIncreasing && + !conditions.chstrConditions.isBullishPowerDecreasing && + !conditions.chstrConditions.isBearishPowerIncreasing && + !conditions.chstrConditions.isBearishPowerDecreasing && + !conditions.chstrConditions.isCBullish && + !conditions.chstrConditions.isCSwitchedToBullish && + !conditions.chstrConditions.isCSwitchedToBearish && + !conditions.chstrConditions.isSBullish && + !conditions.chstrConditions.isSSwitchedToBullish && + !conditions.chstrConditions.isSSwitchedToBearish && + !conditions.chstrConditions.isMBearish && + !conditions.chstrConditions.isMSwitchedToBullish && + !conditions.chstrConditions.isMSwitchedToBearish && + !conditions.chstrConditions.isLBearish && + !conditions.chstrConditions.isLSwitchedToBullish && + !conditions.chstrConditions.isLSwitchedToBearish && + !conditions.chstrConditions.isHBearish && + !conditions.chstrConditions.isHSwitchedToBullish && + !conditions.chstrConditions.isHSwitchedToBearish && + // + // XCHVLM ... + // + conditions.chvlmConditions.hasBearishPower && + conditions.chvlmConditions.isCBearish && + conditions.chvlmConditions.isSBearish && + conditions.chvlmConditions.isMBearish && + conditions.chvlmConditions.isLBearish && + conditions.chvlmConditions.isHBearish && + // + !conditions.chvlmConditions.hasBullishPower && + !conditions.chvlmConditions.isBullishPowerUp && + !conditions.chvlmConditions.isBearishPowerUp && + !conditions.chvlmConditions.isBullishPowerIncreasing && + !conditions.chvlmConditions.isBullishPowerDecreasing && + !conditions.chvlmConditions.isBearishPowerIncreasing && + !conditions.chvlmConditions.isBearishPowerDecreasing && + !conditions.chvlmConditions.isCBullish && + !conditions.chvlmConditions.isCSwitchedToBullish && + !conditions.chvlmConditions.isCSwitchedToBearish && + !conditions.chvlmConditions.isSBullish && + !conditions.chvlmConditions.isSSwitchedToBullish && + !conditions.chvlmConditions.isSSwitchedToBearish && + !conditions.chvlmConditions.isMBullish && + !conditions.chvlmConditions.isMSwitchedToBullish && + !conditions.chvlmConditions.isMSwitchedToBearish && + !conditions.chvlmConditions.isLBullish && + !conditions.chvlmConditions.isLSwitchedToBullish && + !conditions.chvlmConditions.isLSwitchedToBearish && + !conditions.chvlmConditions.isHBullish && + !conditions.chvlmConditions.isHSwitchedToBullish && + !conditions.chvlmConditions.isHSwitchedToBearish + // + ) + // ; //