/////////////////////////////////////////////////////// // // SaherElm IT Center MQL5 Strategy Parser Library // ------------------------------------------------ // Name: XCHStartegyConditionsParser // 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.xch.che.strategy.mq5" // // Conditions Parser ... struct XCHCHEStartegyAMarketsBRENT2019LongConditionsParser { // string _version; // bool IsFiltered( XCHStrategyConditions &conditions // ) { // bool result = false; // result = // ( // Symbol: BRENT // --------------- // Scores: // --------------- // Bullish: 70.0 // Bearish: 2.0 // --------------- // Time: 2019.04.24 21:20:01 // --------------- // // XPV ... // conditions.pvConditions.isCloseOverFib1 && conditions.pvConditions.isCloseOverFib2 && conditions.pvConditions.isCloseOverFib3 && conditions.pvConditions.isCloseOverFib4 && conditions.pvConditions.isCloseOverFib5 && conditions.pvConditions.isCloseCrossedOverFib1 && conditions.pvConditions.isSCBullish && conditions.pvConditions.isSCHHBullish && conditions.pvConditions.isSCLLBullish && conditions.pvConditions.isSCSwitchedToBullish && conditions.pvConditions.isSCLLSwitchedToBullish && conditions.pvConditions.isMCHHBullish && conditions.pvConditions.isLCHHBullish && // // XCHM ... // conditions.chmConditions.hasBullishPower && conditions.chmConditions.isBullishPowerIncreasing && conditions.chmConditions.isFastOverSlow && conditions.chmConditions.isClosedOverFast && conditions.chmConditions.isCFastOverSlow && conditions.chmConditions.isClosedOverCFast && conditions.chmConditions.isSFastOverSlow && conditions.chmConditions.isClosedOverSFast && conditions.chmConditions.isMFastOverSlow && conditions.chmConditions.isClosedOverMFast && conditions.chmConditions.isLFastOverSlow && conditions.chmConditions.isClosedOverLFast && conditions.chmConditions.isHFastOverSlow && conditions.chmConditions.isClosedOverHFast && // // XCHHK ... // conditions.chhkConditions.hasBullishPower && conditions.chhkConditions.isBullishPowerIncreasing && conditions.chhkConditions.isCBullish && conditions.chhkConditions.isCloseOverCHigh && conditions.chhkConditions.isSBullish && conditions.chhkConditions.isCloseOverSHigh && conditions.chhkConditions.isMBullish && conditions.chhkConditions.isCloseOverMHigh && conditions.chhkConditions.isLBullish && conditions.chhkConditions.isCloseOverLHigh && conditions.chhkConditions.isHBullish && conditions.chhkConditions.isCloseOverHHigh && // // XCHTD ... // conditions.chtdConditions.hasBullishPower && conditions.chtdConditions.isBullishPowerIncreasing && conditions.chtdConditions.isCBullish && conditions.chtdConditions.isSBullish && conditions.chtdConditions.isMBullish && conditions.chtdConditions.isLBullish && conditions.chtdConditions.isHBearish && // // XCHCHE ... // conditions.chcheConditions.hasBullishPower && conditions.chcheConditions.isCBullish && conditions.chcheConditions.isCSwitchedToBullish && conditions.chcheConditions.isSBullish && conditions.chcheConditions.isSStrongBullish && conditions.chcheConditions.isSStrongSwitchedToBullish && conditions.chcheConditions.isMBullish && conditions.chcheConditions.isMStrongBullish && conditions.chcheConditions.isLBullish && conditions.chcheConditions.isLStrongBullish && conditions.chcheConditions.isLStrongSwitchedToBullish && conditions.chcheConditions.isHBullish && conditions.chcheConditions.isHStrongBullish && conditions.chcheConditions.isHStrongSwitchedToBullish && // // XCHSTR ... // conditions.chstrConditions.hasBullishPower && conditions.chstrConditions.isCBullish && conditions.chstrConditions.isSBullish && conditions.chstrConditions.isSSwitchedToBullish && conditions.chstrConditions.isMBullish && conditions.chstrConditions.isLBullish && conditions.chstrConditions.isHBullish && // // XCHVLM ... // conditions.chvlmConditions.hasBullishPower && conditions.chvlmConditions.isBullishPowerIncreasing && conditions.chvlmConditions.isCBullish && conditions.chvlmConditions.isSBullish && conditions.chvlmConditions.isMBullish && conditions.chvlmConditions.isLBullish && conditions.chvlmConditions.isHBearish && // // XCHVWAP ... // conditions.chvwapConditions.hasBullishPower && conditions.chvwapConditions.isMBullish && conditions.chvwapConditions.isLBullish && conditions.chvwapConditions.isHBullish && // // XCHICH ... // conditions.chichConditions.isCClosedOverKijunSen && conditions.chichConditions.isCTenkanSenOverKijunSen && conditions.chichConditions.isCSenkouSpanAUnderB && conditions.chichConditions.isCFutureSenkouSpanAUnderB && conditions.chichConditions.isSClosedOverKijunSen && conditions.chichConditions.isSTenkanSenOverKijunSen && conditions.chichConditions.isSSenkouSpanAOverB && conditions.chichConditions.isSFutureSenkouSpanAOverB && conditions.chichConditions.isMClosedOverKijunSen && conditions.chichConditions.isMTenkanSenOverKijunSen && conditions.chichConditions.isMSenkouSpanAOverB && conditions.chichConditions.isMFutureSenkouSpanAOverB && conditions.chichConditions.isLClosedOverKijunSen && conditions.chichConditions.isLTenkanSenOverKijunSen && conditions.chichConditions.isLSenkouSpanAOverB && conditions.chichConditions.isLFutureSenkouSpanAOverB && conditions.chichConditions.isHClosedOverKijunSen && conditions.chichConditions.isHTenkanSenOverKijunSen && conditions.chichConditions.isHSenkouSpanAOverB && conditions.chichConditions.isHFutureSenkouSpanAOverB // ) // || // ( // Symbol: BRENT // --------------- // Scores: // --------------- // Bullish: 71.0 // Bearish: 8.0 // --------------- // Time: 2019.11.05 21:15:00 // --------------- // // XPV ... // conditions.pvConditions.isCloseOverFib2 && conditions.pvConditions.isCloseOverFib3 && conditions.pvConditions.isCloseOverFib4 && conditions.pvConditions.isCloseOverFib5 && conditions.pvConditions.isCloseUnderFib1 && conditions.pvConditions.isCloseCrossedOverFib2 && conditions.pvConditions.isCloseCrossedOverFib3 && conditions.pvConditions.isSCBullish && conditions.pvConditions.isSCHHBullish && conditions.pvConditions.isSCLLBullish && conditions.pvConditions.isSCSwitchedToBullish && conditions.pvConditions.isSCHHSwitchedToBullish && conditions.pvConditions.isMCHHBullish && conditions.pvConditions.isMCSwitchedToBullish && conditions.pvConditions.isMCHHSwitchedToBullish && conditions.pvConditions.isLCHHBullish && conditions.pvConditions.isLCSwitchedToBullish && conditions.pvConditions.isLCHHSwitchedToBullish && // // XCHM ... // conditions.chmConditions.hasBullishPower && conditions.chmConditions.isBullishPowerIncreasing && conditions.chmConditions.isFastOverSlow && conditions.chmConditions.isClosedOverFast && conditions.chmConditions.isCFastOverSlow && conditions.chmConditions.isClosedOverCFast && conditions.chmConditions.isSFastOverSlow && conditions.chmConditions.isClosedOverSFast && conditions.chmConditions.isMFastOverSlow && conditions.chmConditions.isClosedOverMFast && conditions.chmConditions.isLFastOverSlow && conditions.chmConditions.isClosedOverLFast && conditions.chmConditions.isHFastOverSlow && conditions.chmConditions.isClosedOverHFast && // // XCHHK ... // conditions.chhkConditions.hasBullishPower && conditions.chhkConditions.isBullishPowerIncreasing && conditions.chhkConditions.isCBullish && conditions.chhkConditions.isCloseOverCHigh && conditions.chhkConditions.isSBullish && conditions.chhkConditions.isCloseOverSHigh && conditions.chhkConditions.isMBullish && conditions.chhkConditions.isCloseOverMHigh && conditions.chhkConditions.isLBullish && conditions.chhkConditions.isCloseOverLHigh && conditions.chhkConditions.isHBullish && conditions.chhkConditions.isCloseOverHHigh && // // XCHTD ... // conditions.chtdConditions.hasBullishPower && conditions.chtdConditions.isBullishPowerIncreasing && conditions.chtdConditions.isCBullish && conditions.chtdConditions.isSBearish && conditions.chtdConditions.isMBullish && conditions.chtdConditions.isLBullish && conditions.chtdConditions.isHBullish && // // XCHCHE ... // conditions.chcheConditions.hasBullishPower && conditions.chcheConditions.isBearishPowerDecreasing && conditions.chcheConditions.isCBearish && conditions.chcheConditions.isCStrongBearish && conditions.chcheConditions.isSBearish && conditions.chcheConditions.isSStrongBearish && conditions.chcheConditions.isMBullish && conditions.chcheConditions.isMStrongBullish && conditions.chcheConditions.isMStrongSwitchedToBullish && conditions.chcheConditions.isLBullish && conditions.chcheConditions.isHBullish && conditions.chcheConditions.isHStrongBullish && conditions.chcheConditions.isHStrongSwitchedToBullish && // // XCHSTR ... // conditions.chstrConditions.hasBullishPower && conditions.chstrConditions.isBullishPowerUp && conditions.chstrConditions.isCBullish && conditions.chstrConditions.isSBearish && conditions.chstrConditions.isMBullish && conditions.chstrConditions.isMSwitchedToBullish && conditions.chstrConditions.isLBullish && conditions.chstrConditions.isLSwitchedToBullish && conditions.chstrConditions.isHBullish && conditions.chstrConditions.isHSwitchedToBullish && // // XCHVLM ... // conditions.chvlmConditions.hasBullishPower && conditions.chvlmConditions.isCBullish && conditions.chvlmConditions.isCSwitchedToBullish && conditions.chvlmConditions.isSBearish && conditions.chvlmConditions.isMBullish && conditions.chvlmConditions.isLBearish && conditions.chvlmConditions.isHBullish && // // XCHVWAP ... // conditions.chvwapConditions.hasBullishPower && conditions.chvwapConditions.isBullishPowerIncreasing && conditions.chvwapConditions.isMBullish && conditions.chvwapConditions.isLBullish && conditions.chvwapConditions.isHBullish && // // XCHICH ... // conditions.chichConditions.isCClosedOverKijunSen && conditions.chichConditions.isCTenkanSenOverKijunSen && conditions.chichConditions.isCTenkanSenCrossedOverKijunSen && conditions.chichConditions.isCSenkouSpanAOverB && conditions.chichConditions.isCSenkouSpanAUnderLast && conditions.chichConditions.isCFutureSenkouSpanAOverB && conditions.chichConditions.isCFutureSenkouSpanAUnderLast && conditions.chichConditions.isCSenkouSpanACrossedUnderLast && conditions.chichConditions.isCFutureSenkouSpanACrossedUnderLast && conditions.chichConditions.isSClosedOverKijunSen && conditions.chichConditions.isSTenkanSenUnderKijunSen && conditions.chichConditions.isSSenkouSpanAOverB && conditions.chichConditions.isSFutureSenkouSpanAOverB && conditions.chichConditions.isMClosedOverKijunSen && conditions.chichConditions.isMTenkanSenOverKijunSen && conditions.chichConditions.isMSenkouSpanAOverB && conditions.chichConditions.isMFutureSenkouSpanAOverB && conditions.chichConditions.isLClosedOverKijunSen && conditions.chichConditions.isLTenkanSenOverKijunSen && conditions.chichConditions.isLSenkouSpanAUnderB && conditions.chichConditions.isLFutureSenkouSpanAUnderB && conditions.chichConditions.isHClosedOverKijunSen && conditions.chichConditions.isHTenkanSenOverKijunSen && conditions.chichConditions.isHSenkouSpanAOverB && conditions.chichConditions.isHFutureSenkouSpanAOverB // ) // || // ( // Symbol: BRENT // --------------- // Scores: // --------------- // Bullish: 67.0 // Bearish: 1.0 // --------------- // Time: 2019.11.22 16:05:00 // --------------- // // XPV ... // conditions.pvConditions.isNewPeak && conditions.pvConditions.isNewPeakOverLast && conditions.pvConditions.isFiboIncreased && 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.isMCHHBullish && conditions.pvConditions.isLCHHBullish && conditions.pvConditions.isHCHHBullish && // // XCHM ... // conditions.chmConditions.hasBullishPower && conditions.chmConditions.isBullishPowerIncreasing && conditions.chmConditions.isFastOverSlow && conditions.chmConditions.isClosedOverFast && conditions.chmConditions.isCFastOverSlow && conditions.chmConditions.isClosedOverCFast && conditions.chmConditions.isSFastOverSlow && conditions.chmConditions.isClosedOverSFast && conditions.chmConditions.isMFastOverSlow && conditions.chmConditions.isClosedOverMFast && conditions.chmConditions.isLFastOverSlow && conditions.chmConditions.isClosedOverLFast && conditions.chmConditions.isHFastOverSlow && conditions.chmConditions.isClosedOverHFast && // // XCHHK ... // conditions.chhkConditions.hasBullishPower && conditions.chhkConditions.isBullishPowerIncreasing && conditions.chhkConditions.isCBullish && conditions.chhkConditions.isCloseOverCHigh && conditions.chhkConditions.isSBullish && conditions.chhkConditions.isCloseOverSHigh && conditions.chhkConditions.isMBullish && conditions.chhkConditions.isCloseOverMHigh && conditions.chhkConditions.isLBullish && conditions.chhkConditions.isCloseOverLHigh && conditions.chhkConditions.isHBullish && conditions.chhkConditions.isCloseOverHHigh && // // XCHTD ... // conditions.chtdConditions.hasBullishPower && conditions.chtdConditions.isBullishPowerIncreasing && conditions.chtdConditions.isCBullish && conditions.chtdConditions.isSBullish && conditions.chtdConditions.isMBullish && conditions.chtdConditions.isLBullish && conditions.chtdConditions.isHBullish && // // XCHCHE ... // conditions.chcheConditions.hasBullishPower && conditions.chcheConditions.isCBullish && conditions.chcheConditions.isCStrongBullish && conditions.chcheConditions.isSBullish && conditions.chcheConditions.isSStrongBullish && conditions.chcheConditions.isMBullish && conditions.chcheConditions.isMStrongBullish && conditions.chcheConditions.isLBullish && conditions.chcheConditions.isLStrongBullish && conditions.chcheConditions.isHBullish && conditions.chcheConditions.isHStrongBullish && // // XCHSTR ... // conditions.chstrConditions.hasBullishPower && conditions.chstrConditions.isCBullish && conditions.chstrConditions.isSBullish && conditions.chstrConditions.isMBullish && conditions.chstrConditions.isLBullish && conditions.chstrConditions.isHBullish && // // XCHVLM ... // conditions.chvlmConditions.hasBullishPower && conditions.chvlmConditions.isBullishPowerUp && conditions.chvlmConditions.isCBullish && conditions.chvlmConditions.isSBullish && conditions.chvlmConditions.isMBearish && conditions.chvlmConditions.isLBullish && conditions.chvlmConditions.isHBullish && conditions.chvlmConditions.isHSwitchedToBullish && // // XCHVWAP ... // conditions.chvwapConditions.hasBullishPower && conditions.chvwapConditions.isMBullish && conditions.chvwapConditions.isLBullish && conditions.chvwapConditions.isHBullish && // // XCHICH ... // conditions.chichConditions.isCClosedOverKijunSen && conditions.chichConditions.isCSenkouSpanAUnderB && conditions.chichConditions.isCFutureSenkouSpanAUnderB && conditions.chichConditions.isSClosedOverKijunSen && conditions.chichConditions.isSTenkanSenOverKijunSen && conditions.chichConditions.isSSenkouSpanAUnderB && conditions.chichConditions.isSSenkouSpanAOverLast && conditions.chichConditions.isSFutureSenkouSpanAUnderB && conditions.chichConditions.isSFutureSenkouSpanAOverLast && conditions.chichConditions.isSSenkouSpanACrossedOverLast && conditions.chichConditions.isSFutureSenkouSpanACrossedOverLast && conditions.chichConditions.isMClosedOverKijunSen && conditions.chichConditions.isMTenkanSenOverKijunSen && conditions.chichConditions.isMSenkouSpanAOverB && conditions.chichConditions.isMFutureSenkouSpanAOverB && conditions.chichConditions.isLClosedOverKijunSen && conditions.chichConditions.isLTenkanSenOverKijunSen && conditions.chichConditions.isLSenkouSpanAUnderB && conditions.chichConditions.isLSenkouSpanAUnderLast && conditions.chichConditions.isLFutureSenkouSpanAUnderB && conditions.chichConditions.isLFutureSenkouSpanAUnderLast && conditions.chichConditions.isHClosedOverKijunSen && conditions.chichConditions.isHTenkanSenOverKijunSen && conditions.chichConditions.isHSenkouSpanAOverB && conditions.chichConditions.isHFutureSenkouSpanAOverB // ) // || // ( // Symbol: BRENT // --------------- // Scores: // --------------- // Bullish: 60.0 // Bearish: 4.0 // --------------- // Time: 2019.11.29 08:45:46 // --------------- // // XPV ... // conditions.pvConditions.isCloseOverFib1 && conditions.pvConditions.isCloseOverFib2 && conditions.pvConditions.isCloseOverFib3 && conditions.pvConditions.isCloseOverFib4 && conditions.pvConditions.isCloseOverFib5 && conditions.pvConditions.isSCLLBullish && // // XCHM ... // conditions.chmConditions.hasBullishPower && conditions.chmConditions.isBullishPowerIncreasing && conditions.chmConditions.isFastOverSlow && conditions.chmConditions.isClosedOverFast && conditions.chmConditions.isCFastOverSlow && conditions.chmConditions.isClosedOverCFast && conditions.chmConditions.isSFastOverSlow && conditions.chmConditions.isClosedOverSFast && conditions.chmConditions.isMFastOverSlow && conditions.chmConditions.isClosedOverMFast && conditions.chmConditions.isLFastOverSlow && conditions.chmConditions.isClosedOverLFast && conditions.chmConditions.isHFastOverSlow && conditions.chmConditions.isClosedOverHFast && // // XCHHK ... // conditions.chhkConditions.hasBullishPower && conditions.chhkConditions.isBullishPowerIncreasing && conditions.chhkConditions.isCBullish && conditions.chhkConditions.isCloseOverCHigh && conditions.chhkConditions.isSBullish && conditions.chhkConditions.isCloseOverSHigh && conditions.chhkConditions.isMBullish && conditions.chhkConditions.isCloseOverMHigh && conditions.chhkConditions.isLBullish && conditions.chhkConditions.isCloseOverLHigh && conditions.chhkConditions.isHBullish && conditions.chhkConditions.isCloseOverHHigh && // // XCHTD ... // conditions.chtdConditions.hasBullishPower && conditions.chtdConditions.isCBullish && conditions.chtdConditions.isSBullish && conditions.chtdConditions.isMBullish && conditions.chtdConditions.isLBullish && conditions.chtdConditions.isHBullish && // // XCHCHE ... // conditions.chcheConditions.hasBullishPower && conditions.chcheConditions.isBullishPowerIncreasing && conditions.chcheConditions.isCBullish && conditions.chcheConditions.isCStrongBullish && conditions.chcheConditions.isSBullish && conditions.chcheConditions.isMBullish && conditions.chcheConditions.isMStrongBullish && conditions.chcheConditions.isMSwitchedToBullish && conditions.chcheConditions.isMStrongSwitchedToBullish && conditions.chcheConditions.isLBearish && conditions.chcheConditions.isLStrongBearish && conditions.chcheConditions.isHBullish && conditions.chcheConditions.isHSwitchedToBullish && // // XCHSTR ... // conditions.chstrConditions.hasBullishPower && conditions.chstrConditions.isBullishPowerIncreasing && conditions.chstrConditions.isCBullish && conditions.chstrConditions.isSBullish && conditions.chstrConditions.isMBullish && conditions.chstrConditions.isLBullish && conditions.chstrConditions.isHBullish && // // XCHVLM ... // conditions.chvlmConditions.hasBullishPower && conditions.chvlmConditions.isCBullish && conditions.chvlmConditions.isSBearish && conditions.chvlmConditions.isMBullish && conditions.chvlmConditions.isLBullish && conditions.chvlmConditions.isHBearish && // // XCHVWAP ... // conditions.chvwapConditions.hasBullishPower && conditions.chvwapConditions.isBullishPowerIncreasing && conditions.chvwapConditions.isMBullish && conditions.chvwapConditions.isLBullish && conditions.chvwapConditions.isHBullish && // // XCHICH ... // conditions.chichConditions.isCClosedOverKijunSen && conditions.chichConditions.isCTenkanSenOverKijunSen && conditions.chichConditions.isCSenkouSpanAUnderB && conditions.chichConditions.isCFutureSenkouSpanAUnderB && conditions.chichConditions.isSClosedOverKijunSen && conditions.chichConditions.isSTenkanSenUnderKijunSen && conditions.chichConditions.isSSenkouSpanAUnderLast && conditions.chichConditions.isSFutureSenkouSpanAUnderLast && conditions.chichConditions.isSSenkouSpanACrossedUnderLast && conditions.chichConditions.isSFutureSenkouSpanACrossedUnderLast && conditions.chichConditions.isMClosedOverKijunSen && conditions.chichConditions.isMTenkanSenOverKijunSen && conditions.chichConditions.isMSenkouSpanAOverB && conditions.chichConditions.isMFutureSenkouSpanAOverB && conditions.chichConditions.isLClosedOverKijunSen && conditions.chichConditions.isLTenkanSenUnderKijunSen && conditions.chichConditions.isLSenkouSpanAOverB && conditions.chichConditions.isLFutureSenkouSpanAOverB && conditions.chichConditions.isHClosedOverKijunSen && conditions.chichConditions.isHTenkanSenOverKijunSen && conditions.chichConditions.isHSenkouSpanAUnderB && conditions.chichConditions.isHFutureSenkouSpanAUnderB // ) // ; // return result; } }; //