472 lines
22 KiB
Plaintext
472 lines
22 KiB
Plaintext
///////////////////////////////////////////////////////
|
|
//
|
|
// 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.x121.strategy.mq5"
|
|
|
|
//
|
|
// Conditions Parser ...
|
|
struct X121StartegyAMarketsAUDUSD2024LongConditionsParser
|
|
{
|
|
//
|
|
string _version;
|
|
|
|
//
|
|
bool IsFiltered(
|
|
X121StrategyConditions &conditions //
|
|
)
|
|
{
|
|
//
|
|
bool result = false;
|
|
|
|
//
|
|
result =
|
|
//
|
|
(
|
|
// Symbol: AUDUSDb
|
|
// ---------------
|
|
// Scores:
|
|
// ---------------
|
|
// Bullish: 45.0
|
|
// Bearish: 21.0
|
|
// ---------------
|
|
// Time: 2024.02.05 09:40:07
|
|
// ---------------
|
|
//
|
|
// XPV ...
|
|
//
|
|
conditions.pvConditions.isCloseOverFib1 &&
|
|
conditions.pvConditions.isCloseOverFib2 &&
|
|
conditions.pvConditions.isCloseOverFib3 &&
|
|
conditions.pvConditions.isCloseOverFib4 &&
|
|
conditions.pvConditions.isCloseOverFib5 &&
|
|
conditions.pvConditions.isSCHHBullish &&
|
|
conditions.pvConditions.isSCSwitchedToBullish &&
|
|
conditions.pvConditions.isSCHHSwitchedToBullish &&
|
|
conditions.pvConditions.isMCHHBullish &&
|
|
conditions.pvConditions.isMCSwitchedToBullish &&
|
|
conditions.pvConditions.isMCHHSwitchedToBullish &&
|
|
conditions.pvConditions.isLCLLBullish &&
|
|
conditions.pvConditions.isLCSwitchedToBullish &&
|
|
conditions.pvConditions.isLCLLSwitchedToBullish &&
|
|
//
|
|
// XCHM ...
|
|
//
|
|
conditions.chmConditions.hasBearishPower &&
|
|
conditions.chmConditions.isBearishPowerDecreasing &&
|
|
conditions.chmConditions.isFastUnderSlow &&
|
|
conditions.chmConditions.isClosedUnderFast &&
|
|
conditions.chmConditions.isCFastOverSlow &&
|
|
conditions.chmConditions.isClosedOverCFast &&
|
|
conditions.chmConditions.isSFastOverSlow &&
|
|
conditions.chmConditions.isClosedOverSFast &&
|
|
conditions.chmConditions.isMFastUnderSlow &&
|
|
conditions.chmConditions.isClosedOverMFast &&
|
|
conditions.chmConditions.isLFastUnderSlow &&
|
|
conditions.chmConditions.isClosedUnderLFast &&
|
|
conditions.chmConditions.isHFastUnderSlow &&
|
|
conditions.chmConditions.isClosedUnderHFast &&
|
|
//
|
|
// XCHHK ...
|
|
//
|
|
conditions.chhkConditions.hasBullishPower &&
|
|
conditions.chhkConditions.isBullishPowerUp &&
|
|
conditions.chhkConditions.isCBullish &&
|
|
conditions.chhkConditions.isCSwitchedToBullish &&
|
|
conditions.chhkConditions.isCloseOverCHigh &&
|
|
conditions.chhkConditions.isSBullish &&
|
|
conditions.chhkConditions.isCloseOverSHigh &&
|
|
conditions.chhkConditions.isMBearish &&
|
|
conditions.chhkConditions.isCloseOverMHigh &&
|
|
conditions.chhkConditions.isLBearish &&
|
|
conditions.chhkConditions.isCloseUnderLLow &&
|
|
conditions.chhkConditions.isHBearish &&
|
|
conditions.chhkConditions.isCloseUnderHLow &&
|
|
//
|
|
// XCHTD ...
|
|
//
|
|
conditions.chtdConditions.hasBearishPower &&
|
|
conditions.chtdConditions.isCBearish &&
|
|
conditions.chtdConditions.isSBullish &&
|
|
conditions.chtdConditions.isMBullish &&
|
|
conditions.chtdConditions.isLBearish &&
|
|
conditions.chtdConditions.isHBearish &&
|
|
//
|
|
// XCHICHWAP ...
|
|
//
|
|
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.hasBearishPower &&
|
|
conditions.chvlmConditions.isCBullish &&
|
|
conditions.chvlmConditions.isSBullish &&
|
|
conditions.chvlmConditions.isMBearish &&
|
|
conditions.chvlmConditions.isLBearish &&
|
|
conditions.chvlmConditions.isHBearish &&
|
|
//
|
|
// XCHVWAP ...
|
|
//
|
|
conditions.chvwapConditions.isHBullish &&
|
|
//
|
|
// XCHICH ...
|
|
//
|
|
conditions.chichConditions.isCTenkanSenOverKijunSen &&
|
|
conditions.chichConditions.isCSenkouSpanAOverB &&
|
|
conditions.chichConditions.isCFutureSenkouSpanAOverB &&
|
|
conditions.chichConditions.isSClosedOverKijunSen &&
|
|
conditions.chichConditions.isSTenkanSenOverKijunSen &&
|
|
conditions.chichConditions.isSSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isSSenkouSpanAUnderLast &&
|
|
conditions.chichConditions.isSFutureSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isSFutureSenkouSpanAUnderLast &&
|
|
conditions.chichConditions.isMClosedOverKijunSen &&
|
|
conditions.chichConditions.isMTenkanSenUnderKijunSen &&
|
|
conditions.chichConditions.isMSenkouSpanAOverB &&
|
|
conditions.chichConditions.isMFutureSenkouSpanAOverB &&
|
|
conditions.chichConditions.isLClosedUnderKijunSen &&
|
|
conditions.chichConditions.isLTenkanSenUnderKijunSen &&
|
|
conditions.chichConditions.isLSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isLFutureSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isHClosedUnderKijunSen &&
|
|
conditions.chichConditions.isHTenkanSenUnderKijunSen &&
|
|
conditions.chichConditions.isHSenkouSpanAOverB &&
|
|
conditions.chichConditions.isHFutureSenkouSpanAOverB
|
|
//
|
|
)
|
|
//
|
|
||
|
|
//
|
|
(
|
|
// Symbol: AUDUSDb
|
|
// ---------------
|
|
// Scores:
|
|
// ---------------
|
|
// Bullish: 51.0
|
|
// Bearish: 11.0
|
|
// ---------------
|
|
// Time: 2024.03.29 15:00:00
|
|
// ---------------
|
|
//
|
|
// XPV ...
|
|
//
|
|
conditions.pvConditions.isCloseOverFib2 &&
|
|
conditions.pvConditions.isCloseOverFib3 &&
|
|
conditions.pvConditions.isCloseOverFib4 &&
|
|
conditions.pvConditions.isCloseOverFib5 &&
|
|
conditions.pvConditions.isCloseUnderFib1 &&
|
|
conditions.pvConditions.isCloseCrossedUnderFib1 &&
|
|
conditions.pvConditions.isSCLLBullish &&
|
|
conditions.pvConditions.isSCHHBearish &&
|
|
conditions.pvConditions.isSCHHSwitchedToBearish &&
|
|
//
|
|
// XCHM ...
|
|
//
|
|
conditions.chmConditions.hasBearishPower &&
|
|
conditions.chmConditions.isBullishPowerIncreasing &&
|
|
conditions.chmConditions.isBearishPowerDecreasing &&
|
|
conditions.chmConditions.isFastUnderSlow &&
|
|
conditions.chmConditions.isClosedOverFast &&
|
|
conditions.chmConditions.isCFastOverSlow &&
|
|
conditions.chmConditions.isClosedOverCFast &&
|
|
conditions.chmConditions.isSFastOverSlow &&
|
|
conditions.chmConditions.isClosedOverSFast &&
|
|
conditions.chmConditions.isMFastOverSlow &&
|
|
conditions.chmConditions.isClosedOverMFast &&
|
|
conditions.chmConditions.isLFastUnderSlow &&
|
|
conditions.chmConditions.isClosedOverLFast &&
|
|
conditions.chmConditions.isHFastUnderSlow &&
|
|
conditions.chmConditions.isClosedOverHFast &&
|
|
//
|
|
// XCHHK ...
|
|
//
|
|
conditions.chhkConditions.hasBullishPower &&
|
|
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 &&
|
|
//
|
|
// XCHICHWAP ...
|
|
//
|
|
conditions.chcheConditions.hasBullishPower &&
|
|
conditions.chcheConditions.isCBullish &&
|
|
conditions.chcheConditions.isCStrongBullish &&
|
|
conditions.chcheConditions.isSBearish &&
|
|
conditions.chcheConditions.isSStrongBearish &&
|
|
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.hasBearishPower &&
|
|
conditions.chvlmConditions.isCBullish &&
|
|
conditions.chvlmConditions.isSBullish &&
|
|
conditions.chvlmConditions.isMBearish &&
|
|
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.isCSenkouSpanAOverB &&
|
|
conditions.chichConditions.isCSenkouSpanAOverLast &&
|
|
conditions.chichConditions.isCFutureSenkouSpanAOverB &&
|
|
conditions.chichConditions.isCFutureSenkouSpanAOverLast &&
|
|
conditions.chichConditions.isSClosedOverKijunSen &&
|
|
conditions.chichConditions.isSTenkanSenOverKijunSen &&
|
|
conditions.chichConditions.isSSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isSSenkouSpanAUnderLast &&
|
|
conditions.chichConditions.isSFutureSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isSFutureSenkouSpanAUnderLast &&
|
|
conditions.chichConditions.isSSenkouSpanACrossedUnderLast &&
|
|
conditions.chichConditions.isSFutureSenkouSpanACrossedUnderLast &&
|
|
conditions.chichConditions.isMClosedOverKijunSen &&
|
|
conditions.chichConditions.isMTenkanSenOverKijunSen &&
|
|
conditions.chichConditions.isMSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isMFutureSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isLClosedOverKijunSen &&
|
|
conditions.chichConditions.isLTenkanSenOverKijunSen &&
|
|
conditions.chichConditions.isLSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isLFutureSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isHClosedOverKijunSen &&
|
|
conditions.chichConditions.isHTenkanSenUnderKijunSen &&
|
|
conditions.chichConditions.isHSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isHFutureSenkouSpanAUnderB
|
|
//
|
|
)
|
|
//
|
|
||
|
|
//
|
|
(
|
|
// Symbol: AUDUSDb
|
|
// ---------------
|
|
// Scores:
|
|
// ---------------
|
|
// Bullish: 70.0
|
|
// Bearish: 7.0
|
|
// ---------------
|
|
// Time: 2024.04.24 15:10:08
|
|
// ---------------
|
|
//
|
|
// XPV ...
|
|
//
|
|
conditions.pvConditions.isNewPeak &&
|
|
conditions.pvConditions.isNewPeakUnderLast &&
|
|
conditions.pvConditions.isFiboDecreased &&
|
|
conditions.pvConditions.isFiboSectionChanged &&
|
|
conditions.pvConditions.isCloseOverFib1 &&
|
|
conditions.pvConditions.isCloseOverFib2 &&
|
|
conditions.pvConditions.isCloseOverFib3 &&
|
|
conditions.pvConditions.isCloseOverFib4 &&
|
|
conditions.pvConditions.isCloseOverFib5 &&
|
|
conditions.pvConditions.isCloseCrossedOverFib1 &&
|
|
conditions.pvConditions.isCloseCrossedOverFib2 &&
|
|
conditions.pvConditions.isCloseCrossedOverFib3 &&
|
|
conditions.pvConditions.isCloseCrossedOverFib4 &&
|
|
conditions.pvConditions.isSCHHBullish &&
|
|
conditions.pvConditions.isMCBullish &&
|
|
conditions.pvConditions.isMCHHBullish &&
|
|
conditions.pvConditions.isMCLLBullish &&
|
|
conditions.pvConditions.isLCHHBullish &&
|
|
conditions.pvConditions.isHCHHBullish &&
|
|
conditions.pvConditions.isHCSwitchedToBullish &&
|
|
conditions.pvConditions.isHCHHSwitchedToBullish &&
|
|
//
|
|
// XCHM ...
|
|
//
|
|
conditions.chmConditions.hasBullishPower &&
|
|
conditions.chmConditions.isBearishPowerDecreasing &&
|
|
conditions.chmConditions.isFastOverSlow &&
|
|
conditions.chmConditions.isClosedOverFast &&
|
|
conditions.chmConditions.isCFastOverSlow &&
|
|
conditions.chmConditions.isClosedOverCFast &&
|
|
conditions.chmConditions.isSFastUnderSlow &&
|
|
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.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 &&
|
|
//
|
|
// XCHICHWAP ...
|
|
//
|
|
conditions.chcheConditions.hasBullishPower &&
|
|
conditions.chcheConditions.isBullishPowerUp &&
|
|
conditions.chcheConditions.isBearishPowerDecreasing &&
|
|
conditions.chcheConditions.isCBullish &&
|
|
conditions.chcheConditions.isCStrongBullish &&
|
|
conditions.chcheConditions.isCSwitchedToBullish &&
|
|
conditions.chcheConditions.isCStrongSwitchedToBullish &&
|
|
conditions.chcheConditions.isSBullish &&
|
|
conditions.chcheConditions.isSSwitchedToBullish &&
|
|
conditions.chcheConditions.isMBearish &&
|
|
conditions.chcheConditions.isMStrongBearish &&
|
|
conditions.chcheConditions.isLBearish &&
|
|
conditions.chcheConditions.isLStrongBearish &&
|
|
conditions.chcheConditions.isHBearish &&
|
|
conditions.chcheConditions.isHStrongBearish &&
|
|
//
|
|
// XCHSTR ...
|
|
//
|
|
conditions.chstrConditions.hasBullishPower &&
|
|
conditions.chstrConditions.isBullishPowerUp &&
|
|
conditions.chstrConditions.isCBullish &&
|
|
conditions.chstrConditions.isSBullish &&
|
|
conditions.chstrConditions.isMBullish &&
|
|
conditions.chstrConditions.isMSwitchedToBullish &&
|
|
conditions.chstrConditions.isLBullish &&
|
|
conditions.chstrConditions.isLSwitchedToBullish &&
|
|
conditions.chstrConditions.isHBullish &&
|
|
conditions.chstrConditions.isHSwitchedToBullish &&
|
|
//
|
|
// XCHVLM ...
|
|
//
|
|
conditions.chvlmConditions.hasBullishPower &&
|
|
conditions.chvlmConditions.isBullishPowerIncreasing &&
|
|
conditions.chvlmConditions.isCBullish &&
|
|
conditions.chvlmConditions.isSBullish &&
|
|
conditions.chvlmConditions.isMBullish &&
|
|
conditions.chvlmConditions.isMSwitchedToBullish &&
|
|
conditions.chvlmConditions.isLBullish &&
|
|
conditions.chvlmConditions.isHBullish &&
|
|
//
|
|
// 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.isCSenkouSpanAUnderLast &&
|
|
conditions.chichConditions.isCFutureSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isCFutureSenkouSpanAUnderLast &&
|
|
conditions.chichConditions.isSClosedOverKijunSen &&
|
|
conditions.chichConditions.isSTenkanSenUnderKijunSen &&
|
|
conditions.chichConditions.isSSenkouSpanAOverB &&
|
|
conditions.chichConditions.isSFutureSenkouSpanAOverB &&
|
|
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.isHSenkouSpanAUnderB &&
|
|
conditions.chichConditions.isHFutureSenkouSpanAUnderB
|
|
//
|
|
)
|
|
//
|
|
;
|
|
|
|
//
|
|
return result;
|
|
}
|
|
};
|
|
|
|
// |