Files
MQL5Data/Parsers/x-saherelm.xch.parser.mq5
T

917 lines
85 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.xch.strategy.mq5"
//
// #include "./Alpari/x-saherelm.xch.alpari.parser.mq5"
// #include "./Ingot/x-saherelm.xch.ingot.parser.mq5"
// #include "./Errante/x-saherelm.xch.errante.parser.mq5"
#include "./AMarkets/x-saherelm.xch.amarkets.parser.mq5"
// #include "./IFCMarkets/x-saherelm.xch.ifcmarkets.parser.mq5"
// #include "./OtetMarkets/x-saherelm.xch.otetmarkets.parser.mq5"
//
// Conditions Parser ...
struct XCHStartegyConditionsParser
{
//
string _version;
//
// Parsers ...
//
XSCAccount _account;
XMarketParser _marketParser;
//
// XCHStartegyIngotConditionsParser _ingotParser;
// XCHStartegyAlpariConditionsParser _alpariParser;
// XCHStartegyErranteConditionsParser _erranteParser;
XCHStartegyAMarketsConditionsParser _amarketsParser;
// XCHStartegyIFCMarketsConditionsParser _ifcmarketsParser;
// XCHStartegyOtetMarketsConditionsParser _otetmarketsParser;
//
string GenerateSignalConditions(
XSignal &signal,
XCHStrategyConditions &conditions //
)
{
//
// Calculate Score ...
double bullishScore = 0;
double bearishScore = 0;
conditions.GenerateScore(
bullishScore,
bearishScore //
);
//
// Generate Signal Parser Structured Conditions ...
string result =
"(" +
"\n" +
"// Symbol: " + signal.symbol + "\n" +
"// ---------------" + "\n" +
"// Scores:" + "\n" +
"// ---------------" + "\n" +
"// Bullish: " + ToString(bullishScore) + "\n" +
"// Bearish: " + ToString(bearishScore) + "\n" +
"// ---------------" + "\n" +
"// Time: " + ToString(TimeCurrent()) + "\n" +
"// ---------------" + "\n" +
"//" + "\n" +
"// XPV ..." + "\n" +
"//" + "\n" +
//
// True(s) ...
(conditions.pvConditions.isNewPeak ? "conditions.pvConditions.isNewPeak &&" + "\n" : "") +
(conditions.pvConditions.isNewPeakOverLast ? "conditions.pvConditions.isNewPeakOverLast &&" + "\n" : "") +
(conditions.pvConditions.isNewPeakUnderLast ? "conditions.pvConditions.isNewPeakUnderLast &&" + "\n" : "") +
(conditions.pvConditions.isNewVale ? "conditions.pvConditions.isNewVale &&" + "\n" : "") +
(conditions.pvConditions.isNewValeOverLast ? "conditions.pvConditions.isNewValeOverLast &&" + "\n" : "") +
(conditions.pvConditions.isNewValeUnderLast ? "conditions.pvConditions.isNewValeUnderLast &&" + "\n" : "") +
(conditions.pvConditions.isFiboIncreased ? "conditions.pvConditions.isFiboIncreased &&" + "\n" : "") +
(conditions.pvConditions.isFiboDecreased ? "conditions.pvConditions.isFiboDecreased &&" + "\n" : "") +
(conditions.pvConditions.isFiboSectionChanged ? "conditions.pvConditions.isFiboSectionChanged &&" + "\n" : "") +
(conditions.pvConditions.isCloseOverFib1 ? "conditions.pvConditions.isCloseOverFib1 &&" + "\n" : "") +
(conditions.pvConditions.isCloseOverFib2 ? "conditions.pvConditions.isCloseOverFib2 &&" + "\n" : "") +
(conditions.pvConditions.isCloseOverFib3 ? "conditions.pvConditions.isCloseOverFib3 &&" + "\n" : "") +
(conditions.pvConditions.isCloseOverFib4 ? "conditions.pvConditions.isCloseOverFib4 &&" + "\n" : "") +
(conditions.pvConditions.isCloseOverFib5 ? "conditions.pvConditions.isCloseOverFib5 &&" + "\n" : "") +
(conditions.pvConditions.isCloseUnderFib1 ? "conditions.pvConditions.isCloseUnderFib1 &&" + "\n" : "") +
(conditions.pvConditions.isCloseUnderFib2 ? "conditions.pvConditions.isCloseUnderFib2 &&" + "\n" : "") +
(conditions.pvConditions.isCloseUnderFib3 ? "conditions.pvConditions.isCloseUnderFib3 &&" + "\n" : "") +
(conditions.pvConditions.isCloseUnderFib4 ? "conditions.pvConditions.isCloseUnderFib4 &&" + "\n" : "") +
(conditions.pvConditions.isCloseUnderFib5 ? "conditions.pvConditions.isCloseUnderFib5 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedOverFib1 ? "conditions.pvConditions.isCloseCrossedOverFib1 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedOverFib2 ? "conditions.pvConditions.isCloseCrossedOverFib2 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedOverFib3 ? "conditions.pvConditions.isCloseCrossedOverFib3 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedOverFib4 ? "conditions.pvConditions.isCloseCrossedOverFib4 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedOverFib5 ? "conditions.pvConditions.isCloseCrossedOverFib5 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedUnderFib1 ? "conditions.pvConditions.isCloseCrossedUnderFib1 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedUnderFib2 ? "conditions.pvConditions.isCloseCrossedUnderFib2 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedUnderFib3 ? "conditions.pvConditions.isCloseCrossedUnderFib3 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedUnderFib4 ? "conditions.pvConditions.isCloseCrossedUnderFib4 &&" + "\n" : "") +
(conditions.pvConditions.isCloseCrossedUnderFib5 ? "conditions.pvConditions.isCloseCrossedUnderFib5 &&" + "\n" : "") +
(conditions.pvConditions.isSCBullish ? "conditions.pvConditions.isSCBullish &&" + "\n" : "") +
(conditions.pvConditions.isSCHHBullish ? "conditions.pvConditions.isSCHHBullish &&" + "\n" : "") +
(conditions.pvConditions.isSCLLBullish ? "conditions.pvConditions.isSCLLBullish &&" + "\n" : "") +
(conditions.pvConditions.isSCSwitchedToBullish ? "conditions.pvConditions.isSCSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isSCHHSwitchedToBullish ? "conditions.pvConditions.isSCHHSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isSCLLSwitchedToBullish ? "conditions.pvConditions.isSCLLSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isSCBearish ? "conditions.pvConditions.isSCBearish &&" + "\n" : "") +
(conditions.pvConditions.isSCHHBearish ? "conditions.pvConditions.isSCHHBearish &&" + "\n" : "") +
(conditions.pvConditions.isSCLLBearish ? "conditions.pvConditions.isSCLLBearish &&" + "\n" : "") +
(conditions.pvConditions.isSCSwitchedToBearish ? "conditions.pvConditions.isSCSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isSCHHSwitchedToBearish ? "conditions.pvConditions.isSCHHSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isSCLLSwitchedToBeraish ? "conditions.pvConditions.isSCLLSwitchedToBeraish &&" + "\n" : "") +
(conditions.pvConditions.isMCBullish ? "conditions.pvConditions.isMCBullish &&" + "\n" : "") +
(conditions.pvConditions.isMCHHBullish ? "conditions.pvConditions.isMCHHBullish &&" + "\n" : "") +
(conditions.pvConditions.isMCLLBullish ? "conditions.pvConditions.isMCLLBullish &&" + "\n" : "") +
(conditions.pvConditions.isMCSwitchedToBullish ? "conditions.pvConditions.isMCSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isMCHHSwitchedToBullish ? "conditions.pvConditions.isMCHHSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isMCLLSwitchedToBullish ? "conditions.pvConditions.isMCLLSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isMCBearish ? "conditions.pvConditions.isMCBearish &&" + "\n" : "") +
(conditions.pvConditions.isMCHHBearish ? "conditions.pvConditions.isMCHHBearish &&" + "\n" : "") +
(conditions.pvConditions.isMCLLBearish ? "conditions.pvConditions.isMCLLBearish &&" + "\n" : "") +
(conditions.pvConditions.isMCSwitchedToBearish ? "conditions.pvConditions.isMCSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isMCHHSwitchedToBearish ? "conditions.pvConditions.isMCHHSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isMCLLSwitchedToBeraish ? "conditions.pvConditions.isMCLLSwitchedToBeraish &&" + "\n" : "") +
(conditions.pvConditions.isLCBullish ? "conditions.pvConditions.isLCBullish &&" + "\n" : "") +
(conditions.pvConditions.isLCHHBullish ? "conditions.pvConditions.isLCHHBullish &&" + "\n" : "") +
(conditions.pvConditions.isLCLLBullish ? "conditions.pvConditions.isLCLLBullish &&" + "\n" : "") +
(conditions.pvConditions.isLCSwitchedToBullish ? "conditions.pvConditions.isLCSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isLCHHSwitchedToBullish ? "conditions.pvConditions.isLCHHSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isLCLLSwitchedToBullish ? "conditions.pvConditions.isLCLLSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isLCBearish ? "conditions.pvConditions.isLCBearish &&" + "\n" : "") +
(conditions.pvConditions.isLCHHBearish ? "conditions.pvConditions.isLCHHBearish &&" + "\n" : "") +
(conditions.pvConditions.isLCLLBearish ? "conditions.pvConditions.isLCLLBearish &&" + "\n" : "") +
(conditions.pvConditions.isLCSwitchedToBearish ? "conditions.pvConditions.isLCSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isLCHHSwitchedToBearish ? "conditions.pvConditions.isLCHHSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isLCLLSwitchedToBeraish ? "conditions.pvConditions.isLCLLSwitchedToBeraish &&" + "\n" : "") +
(conditions.pvConditions.isHCBullish ? "conditions.pvConditions.isHCBullish &&" + "\n" : "") +
(conditions.pvConditions.isHCHHBullish ? "conditions.pvConditions.isHCHHBullish &&" + "\n" : "") +
(conditions.pvConditions.isHCLLBullish ? "conditions.pvConditions.isHCLLBullish &&" + "\n" : "") +
(conditions.pvConditions.isHCSwitchedToBullish ? "conditions.pvConditions.isHCSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isHCHHSwitchedToBullish ? "conditions.pvConditions.isHCHHSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isHCLLSwitchedToBullish ? "conditions.pvConditions.isHCLLSwitchedToBullish &&" + "\n" : "") +
(conditions.pvConditions.isHCBearish ? "conditions.pvConditions.isHCBearish &&" + "\n" : "") +
(conditions.pvConditions.isHCHHBearish ? "conditions.pvConditions.isHCHHBearish &&" + "\n" : "") +
(conditions.pvConditions.isHCLLBearish ? "conditions.pvConditions.isHCLLBearish &&" + "\n" : "") +
(conditions.pvConditions.isHCSwitchedToBearish ? "conditions.pvConditions.isHCSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isHCHHSwitchedToBearish ? "conditions.pvConditions.isHCHHSwitchedToBearish &&" + "\n" : "") +
(conditions.pvConditions.isHCLLSwitchedToBeraish ? "conditions.pvConditions.isHCLLSwitchedToBeraish &&" + "\n" : "") +
// "//" + "\n" +
// //
// // False(s) ...
// (!conditions.pvConditions.isNewPeak ? "!conditions.pvConditions.isNewPeak &&" + "\n" : "") +
// (!conditions.pvConditions.isNewPeakOverLast ? "!conditions.pvConditions.isNewPeakOverLast &&" + "\n" : "") +
// (!conditions.pvConditions.isNewPeakUnderLast ? "!conditions.pvConditions.isNewPeakUnderLast &&" + "\n" : "") +
// (!conditions.pvConditions.isNewVale ? "!conditions.pvConditions.isNewVale &&" + "\n" : "") +
// (!conditions.pvConditions.isNewValeOverLast ? "!conditions.pvConditions.isNewValeOverLast &&" + "\n" : "") +
// (!conditions.pvConditions.isNewValeUnderLast ? "!conditions.pvConditions.isNewValeUnderLast &&" + "\n" : "") +
// (!conditions.pvConditions.isFiboIncreased ? "!conditions.pvConditions.isFiboIncreased &&" + "\n" : "") +
// (!conditions.pvConditions.isFiboDecreased ? "!conditions.pvConditions.isFiboDecreased &&" + "\n" : "") +
// (!conditions.pvConditions.isFiboSectionChanged ? "!conditions.pvConditions.isFiboSectionChanged &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseOverFib1 ? "!conditions.pvConditions.isCloseOverFib1 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseOverFib2 ? "!conditions.pvConditions.isCloseOverFib2 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseOverFib3 ? "!conditions.pvConditions.isCloseOverFib3 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseOverFib4 ? "!conditions.pvConditions.isCloseOverFib4 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseOverFib5 ? "!conditions.pvConditions.isCloseOverFib5 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseUnderFib1 ? "!conditions.pvConditions.isCloseUnderFib1 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseUnderFib2 ? "!conditions.pvConditions.isCloseUnderFib2 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseUnderFib3 ? "!conditions.pvConditions.isCloseUnderFib3 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseUnderFib4 ? "!conditions.pvConditions.isCloseUnderFib4 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseUnderFib5 ? "!conditions.pvConditions.isCloseUnderFib5 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedOverFib1 ? "!conditions.pvConditions.isCloseCrossedOverFib1 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedOverFib2 ? "!conditions.pvConditions.isCloseCrossedOverFib2 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedOverFib3 ? "!conditions.pvConditions.isCloseCrossedOverFib3 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedOverFib4 ? "!conditions.pvConditions.isCloseCrossedOverFib4 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedOverFib5 ? "!conditions.pvConditions.isCloseCrossedOverFib5 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedUnderFib1 ? "!conditions.pvConditions.isCloseCrossedUnderFib1 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedUnderFib2 ? "!conditions.pvConditions.isCloseCrossedUnderFib2 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedUnderFib3 ? "!conditions.pvConditions.isCloseCrossedUnderFib3 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedUnderFib4 ? "!conditions.pvConditions.isCloseCrossedUnderFib4 &&" + "\n" : "") +
// (!conditions.pvConditions.isCloseCrossedUnderFib5 ? "!conditions.pvConditions.isCloseCrossedUnderFib5 &&" + "\n" : "") +
// (!conditions.pvConditions.isSCBullish ? "!conditions.pvConditions.isSCBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCHHBullish ? "!conditions.pvConditions.isSCHHBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCLLBullish ? "!conditions.pvConditions.isSCLLBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCSwitchedToBullish ? "!conditions.pvConditions.isSCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCHHSwitchedToBullish ? "!conditions.pvConditions.isSCHHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCLLSwitchedToBullish ? "!conditions.pvConditions.isSCLLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCBearish ? "!conditions.pvConditions.isSCBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCHHBearish ? "!conditions.pvConditions.isSCHHBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCLLBearish ? "!conditions.pvConditions.isSCLLBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCSwitchedToBearish ? "!conditions.pvConditions.isSCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCHHSwitchedToBearish ? "!conditions.pvConditions.isSCHHSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isSCLLSwitchedToBeraish ? "!conditions.pvConditions.isSCLLSwitchedToBeraish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCBullish ? "!conditions.pvConditions.isMCBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCHHBullish ? "!conditions.pvConditions.isMCHHBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCLLBullish ? "!conditions.pvConditions.isMCLLBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCSwitchedToBullish ? "!conditions.pvConditions.isMCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCHHSwitchedToBullish ? "!conditions.pvConditions.isMCHHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCLLSwitchedToBullish ? "!conditions.pvConditions.isMCLLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCBearish ? "!conditions.pvConditions.isMCBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCHHBearish ? "!conditions.pvConditions.isMCHHBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCLLBearish ? "!conditions.pvConditions.isMCLLBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCSwitchedToBearish ? "!conditions.pvConditions.isMCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCHHSwitchedToBearish ? "!conditions.pvConditions.isMCHHSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isMCLLSwitchedToBeraish ? "!conditions.pvConditions.isMCLLSwitchedToBeraish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCBullish ? "!conditions.pvConditions.isLCBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCHHBullish ? "!conditions.pvConditions.isLCHHBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCLLBullish ? "!conditions.pvConditions.isLCLLBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCSwitchedToBullish ? "!conditions.pvConditions.isLCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCHHSwitchedToBullish ? "!conditions.pvConditions.isLCHHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCLLSwitchedToBullish ? "!conditions.pvConditions.isLCLLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCBearish ? "!conditions.pvConditions.isLCBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCHHBearish ? "!conditions.pvConditions.isLCHHBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCLLBearish ? "!conditions.pvConditions.isLCLLBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCSwitchedToBearish ? "!conditions.pvConditions.isLCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCHHSwitchedToBearish ? "!conditions.pvConditions.isLCHHSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isLCLLSwitchedToBeraish ? "!conditions.pvConditions.isLCLLSwitchedToBeraish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCBullish ? "!conditions.pvConditions.isHCBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCHHBullish ? "!conditions.pvConditions.isHCHHBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCLLBullish ? "!conditions.pvConditions.isHCLLBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCSwitchedToBullish ? "!conditions.pvConditions.isHCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCHHSwitchedToBullish ? "!conditions.pvConditions.isHCHHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCLLSwitchedToBullish ? "!conditions.pvConditions.isHCLLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCBearish ? "!conditions.pvConditions.isHCBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCHHBearish ? "!conditions.pvConditions.isHCHHBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCLLBearish ? "!conditions.pvConditions.isHCLLBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCSwitchedToBearish ? "!conditions.pvConditions.isHCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCHHSwitchedToBearish ? "!conditions.pvConditions.isHCHHSwitchedToBearish &&" + "\n" : "") +
// (!conditions.pvConditions.isHCLLSwitchedToBeraish ? "!conditions.pvConditions.isHCLLSwitchedToBeraish &&" + "\n" : "") +
"//" + "\n" +
"// XCHM ..." + "\n" +
"//" + "\n" +
(conditions.chmConditions.hasBullishPower ? "conditions.chmConditions.hasBullishPower &&" + "\n" : "") +
(conditions.chmConditions.hasBearishPower ? "conditions.chmConditions.hasBearishPower &&" + "\n" : "") +
(conditions.chmConditions.isBullishPowerUp ? "conditions.chmConditions.isBullishPowerUp &&" + "\n" : "") +
(conditions.chmConditions.isBearishPowerUp ? "conditions.chmConditions.isBearishPowerUp &&" + "\n" : "") +
(conditions.chmConditions.isBullishPowerIncreasing ? "conditions.chmConditions.isBullishPowerIncreasing &&" + "\n" : "") +
(conditions.chmConditions.isBullishPowerDecreasing ? "conditions.chmConditions.isBullishPowerDecreasing &&" + "\n" : "") +
(conditions.chmConditions.isBearishPowerIncreasing ? "conditions.chmConditions.isBearishPowerIncreasing &&" + "\n" : "") +
(conditions.chmConditions.isBearishPowerDecreasing ? "conditions.chmConditions.isBearishPowerDecreasing &&" + "\n" : "") +
(conditions.chmConditions.isFastOverSlow ? "conditions.chmConditions.isFastOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isFastUnderSlow ? "conditions.chmConditions.isFastUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isFastCrossedOverSlow ? "conditions.chmConditions.isFastCrossedOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isFastCrossedUnderSlow ? "conditions.chmConditions.isFastCrossedUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isClosedOverFast ? "conditions.chmConditions.isClosedOverFast &&" + "\n" : "") +
(conditions.chmConditions.isClosedUnderFast ? "conditions.chmConditions.isClosedUnderFast &&" + "\n" : "") +
(conditions.chmConditions.isCFastOverSlow ? "conditions.chmConditions.isCFastOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isCFastUnderSlow ? "conditions.chmConditions.isCFastUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isCFastCrossedOverSlow ? "conditions.chmConditions.isCFastCrossedOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isCFastCrossedUnderSlow ? "conditions.chmConditions.isCFastCrossedUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isClosedOverCFast ? "conditions.chmConditions.isClosedOverCFast &&" + "\n" : "") +
(conditions.chmConditions.isClosedUnderCFast ? "conditions.chmConditions.isClosedUnderCFast &&" + "\n" : "") +
(conditions.chmConditions.isSFastOverSlow ? "conditions.chmConditions.isSFastOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isSFastUnderSlow ? "conditions.chmConditions.isSFastUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isSFastCrossedOverSlow ? "conditions.chmConditions.isSFastCrossedOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isSFastCrossedUnderSlow ? "conditions.chmConditions.isSFastCrossedUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isClosedOverSFast ? "conditions.chmConditions.isClosedOverSFast &&" + "\n" : "") +
(conditions.chmConditions.isClosedUnderSFast ? "conditions.chmConditions.isClosedUnderSFast &&" + "\n" : "") +
(conditions.chmConditions.isMFastOverSlow ? "conditions.chmConditions.isMFastOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isMFastUnderSlow ? "conditions.chmConditions.isMFastUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isMFastCrossedOverSlow ? "conditions.chmConditions.isMFastCrossedOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isMFastCrossedUnderSlow ? "conditions.chmConditions.isMFastCrossedUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isClosedOverMFast ? "conditions.chmConditions.isClosedOverMFast &&" + "\n" : "") +
(conditions.chmConditions.isClosedUnderMFast ? "conditions.chmConditions.isClosedUnderMFast &&" + "\n" : "") +
(conditions.chmConditions.isLFastOverSlow ? "conditions.chmConditions.isLFastOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isLFastUnderSlow ? "conditions.chmConditions.isLFastUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isLFastCrossedOverSlow ? "conditions.chmConditions.isLFastCrossedOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isLFastCrossedUnderSlow ? "conditions.chmConditions.isLFastCrossedUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isClosedOverLFast ? "conditions.chmConditions.isClosedOverLFast &&" + "\n" : "") +
(conditions.chmConditions.isClosedUnderLFast ? "conditions.chmConditions.isClosedUnderLFast &&" + "\n" : "") +
(conditions.chmConditions.isHFastOverSlow ? "conditions.chmConditions.isHFastOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isHFastUnderSlow ? "conditions.chmConditions.isHFastUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isHFastCrossedOverSlow ? "conditions.chmConditions.isHFastCrossedOverSlow &&" + "\n" : "") +
(conditions.chmConditions.isHFastCrossedUnderSlow ? "conditions.chmConditions.isHFastCrossedUnderSlow &&" + "\n" : "") +
(conditions.chmConditions.isClosedOverHFast ? "conditions.chmConditions.isClosedOverHFast &&" + "\n" : "") +
(conditions.chmConditions.isClosedUnderHFast ? "conditions.chmConditions.isClosedUnderHFast &&" + "\n" : "") +
// "//" + "\n" +
// (!conditions.chmConditions.hasBullishPower ? "!conditions.chmConditions.hasBullishPower &&" + "\n" : "") +
// (!conditions.chmConditions.hasBearishPower ? "!conditions.chmConditions.hasBearishPower &&" + "\n" : "") +
// (!conditions.chmConditions.isBullishPowerUp ? "!conditions.chmConditions.isBullishPowerUp &&" + "\n" : "") +
// (!conditions.chmConditions.isBearishPowerUp ? "!conditions.chmConditions.isBearishPowerUp &&" + "\n" : "") +
// (!conditions.chmConditions.isBullishPowerIncreasing ? "!conditions.chmConditions.isBullishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chmConditions.isBullishPowerDecreasing ? "!conditions.chmConditions.isBullishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chmConditions.isBearishPowerIncreasing ? "!conditions.chmConditions.isBearishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chmConditions.isBearishPowerDecreasing ? "!conditions.chmConditions.isBearishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chmConditions.isFastOverSlow ? "!conditions.chmConditions.isFastOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isFastUnderSlow ? "!conditions.chmConditions.isFastUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isFastCrossedOverSlow ? "!conditions.chmConditions.isFastCrossedOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isFastCrossedUnderSlow ? "!conditions.chmConditions.isFastCrossedUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedOverFast ? "!conditions.chmConditions.isClosedOverFast &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedUnderFast ? "!conditions.chmConditions.isClosedUnderFast &&" + "\n" : "") +
// (!conditions.chmConditions.isCFastOverSlow ? "!conditions.chmConditions.isCFastOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isCFastUnderSlow ? "!conditions.chmConditions.isCFastUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isCFastCrossedOverSlow ? "!conditions.chmConditions.isCFastCrossedOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isCFastCrossedUnderSlow ? "!conditions.chmConditions.isCFastCrossedUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedOverCFast ? "!conditions.chmConditions.isClosedOverCFast &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedUnderCFast ? "!conditions.chmConditions.isClosedUnderCFast &&" + "\n" : "") +
// (!conditions.chmConditions.isSFastOverSlow ? "!conditions.chmConditions.isSFastOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isSFastUnderSlow ? "!conditions.chmConditions.isSFastUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isSFastCrossedOverSlow ? "!conditions.chmConditions.isSFastCrossedOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isSFastCrossedUnderSlow ? "!conditions.chmConditions.isSFastCrossedUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedOverSFast ? "!conditions.chmConditions.isClosedOverSFast &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedUnderSFast ? "!conditions.chmConditions.isClosedUnderSFast &&" + "\n" : "") +
// (!conditions.chmConditions.isMFastOverSlow ? "!conditions.chmConditions.isMFastOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isMFastUnderSlow ? "!conditions.chmConditions.isMFastUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isMFastCrossedOverSlow ? "!conditions.chmConditions.isMFastCrossedOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isMFastCrossedUnderSlow ? "!conditions.chmConditions.isMFastCrossedUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedOverMFast ? "!conditions.chmConditions.isClosedOverMFast &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedUnderMFast ? "!conditions.chmConditions.isClosedUnderMFast &&" + "\n" : "") +
// (!conditions.chmConditions.isLFastOverSlow ? "!conditions.chmConditions.isLFastOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isLFastUnderSlow ? "!conditions.chmConditions.isLFastUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isLFastCrossedOverSlow ? "!conditions.chmConditions.isLFastCrossedOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isLFastCrossedUnderSlow ? "!conditions.chmConditions.isLFastCrossedUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedOverLFast ? "!conditions.chmConditions.isClosedOverLFast &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedUnderLFast ? "!conditions.chmConditions.isClosedUnderLFast &&" + "\n" : "") +
// (!conditions.chmConditions.isHFastOverSlow ? "!conditions.chmConditions.isHFastOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isHFastUnderSlow ? "!conditions.chmConditions.isHFastUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isHFastCrossedOverSlow ? "!conditions.chmConditions.isHFastCrossedOverSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isHFastCrossedUnderSlow ? "!conditions.chmConditions.isHFastCrossedUnderSlow &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedOverHFast ? "!conditions.chmConditions.isClosedOverHFast &&" + "\n" : "") +
// (!conditions.chmConditions.isClosedUnderHFast ? "!conditions.chmConditions.isClosedUnderHFast &&" + "\n" : "") +
"//" + "\n" +
"// XCHHK ..." + "\n" +
"//" + "\n" +
(conditions.chhkConditions.hasBullishPower ? "conditions.chhkConditions.hasBullishPower &&" + "\n" : "") +
(conditions.chhkConditions.hasBearishPower ? "conditions.chhkConditions.hasBearishPower &&" + "\n" : "") +
(conditions.chhkConditions.isBullishPowerUp ? "conditions.chhkConditions.isBullishPowerUp &&" + "\n" : "") +
(conditions.chhkConditions.isBearishPowerUp ? "conditions.chhkConditions.isBearishPowerUp &&" + "\n" : "") +
(conditions.chhkConditions.isBullishPowerIncreasing ? "conditions.chhkConditions.isBullishPowerIncreasing &&" + "\n" : "") +
(conditions.chhkConditions.isBullishPowerDecreasing ? "conditions.chhkConditions.isBullishPowerDecreasing &&" + "\n" : "") +
(conditions.chhkConditions.isBearishPowerIncreasing ? "conditions.chhkConditions.isBearishPowerIncreasing &&" + "\n" : "") +
(conditions.chhkConditions.isBearishPowerDecreasing ? "conditions.chhkConditions.isBearishPowerDecreasing &&" + "\n" : "") +
(conditions.chhkConditions.isCBullish ? "conditions.chhkConditions.isCBullish &&" + "\n" : "") +
(conditions.chhkConditions.isCSwitchedToBullish ? "conditions.chhkConditions.isCSwitchedToBullish &&" + "\n" : "") +
(conditions.chhkConditions.isCBearish ? "conditions.chhkConditions.isCBearish &&" + "\n" : "") +
(conditions.chhkConditions.isCSwitchedToBearish ? "conditions.chhkConditions.isCSwitchedToBearish &&" + "\n" : "") +
(conditions.chhkConditions.isCloseOverCHigh ? "conditions.chhkConditions.isCloseOverCHigh &&" + "\n" : "") +
(conditions.chhkConditions.isCloseUnderCLow ? "conditions.chhkConditions.isCloseUnderCLow &&" + "\n" : "") +
(conditions.chhkConditions.isSBullish ? "conditions.chhkConditions.isSBullish &&" + "\n" : "") +
(conditions.chhkConditions.isSSwitchedToBullish ? "conditions.chhkConditions.isSSwitchedToBullish &&" + "\n" : "") +
(conditions.chhkConditions.isSBearish ? "conditions.chhkConditions.isSBearish &&" + "\n" : "") +
(conditions.chhkConditions.isSSwitchedToBearish ? "conditions.chhkConditions.isSSwitchedToBearish &&" + "\n" : "") +
(conditions.chhkConditions.isCloseOverSHigh ? "conditions.chhkConditions.isCloseOverSHigh &&" + "\n" : "") +
(conditions.chhkConditions.isCloseUnderSLow ? "conditions.chhkConditions.isCloseUnderSLow &&" + "\n" : "") +
(conditions.chhkConditions.isMBullish ? "conditions.chhkConditions.isMBullish &&" + "\n" : "") +
(conditions.chhkConditions.isMSwitchedToBullish ? "conditions.chhkConditions.isMSwitchedToBullish &&" + "\n" : "") +
(conditions.chhkConditions.isMBearish ? "conditions.chhkConditions.isMBearish &&" + "\n" : "") +
(conditions.chhkConditions.isMSwitchedToBearish ? "conditions.chhkConditions.isMSwitchedToBearish &&" + "\n" : "") +
(conditions.chhkConditions.isCloseOverMHigh ? "conditions.chhkConditions.isCloseOverMHigh &&" + "\n" : "") +
(conditions.chhkConditions.isCloseUnderMLow ? "conditions.chhkConditions.isCloseUnderMLow &&" + "\n" : "") +
(conditions.chhkConditions.isLBullish ? "conditions.chhkConditions.isLBullish &&" + "\n" : "") +
(conditions.chhkConditions.isLSwitchedToBullish ? "conditions.chhkConditions.isLSwitchedToBullish &&" + "\n" : "") +
(conditions.chhkConditions.isLBearish ? "conditions.chhkConditions.isLBearish &&" + "\n" : "") +
(conditions.chhkConditions.isLSwitchedToBearish ? "conditions.chhkConditions.isLSwitchedToBearish &&" + "\n" : "") +
(conditions.chhkConditions.isCloseOverLHigh ? "conditions.chhkConditions.isCloseOverLHigh &&" + "\n" : "") +
(conditions.chhkConditions.isCloseUnderLLow ? "conditions.chhkConditions.isCloseUnderLLow &&" + "\n" : "") +
(conditions.chhkConditions.isHBullish ? "conditions.chhkConditions.isHBullish &&" + "\n" : "") +
(conditions.chhkConditions.isHSwitchedToBullish ? "conditions.chhkConditions.isHSwitchedToBullish &&" + "\n" : "") +
(conditions.chhkConditions.isHBearish ? "conditions.chhkConditions.isHBearish &&" + "\n" : "") +
(conditions.chhkConditions.isHSwitchedToBearish ? "conditions.chhkConditions.isHSwitchedToBearish &&" + "\n" : "") +
(conditions.chhkConditions.isCloseOverHHigh ? "conditions.chhkConditions.isCloseOverHHigh &&" + "\n" : "") +
(conditions.chhkConditions.isCloseUnderHLow ? "conditions.chhkConditions.isCloseUnderHLow &&" + "\n" : "") +
// "//" + "\n" +
// (!conditions.chhkConditions.hasBullishPower ? "!conditions.chhkConditions.hasBullishPower && " + "\n" : "") +
// (!conditions.chhkConditions.hasBearishPower ? "!conditions.chhkConditions.hasBearishPower && " + "\n" : "") +
// (!conditions.chhkConditions.isBullishPowerUp ? "!conditions.chhkConditions.isBullishPowerUp && " + "\n" : "") +
// (!conditions.chhkConditions.isBearishPowerUp ? "!conditions.chhkConditions.isBearishPowerUp && " + "\n" : "") +
// (!conditions.chhkConditions.isBullishPowerIncreasing ? "!conditions.chhkConditions.isBullishPowerIncreasing && " + "\n" : "") +
// (!conditions.chhkConditions.isBullishPowerDecreasing ? "!conditions.chhkConditions.isBullishPowerDecreasing && " + "\n" : "") +
// (!conditions.chhkConditions.isBearishPowerIncreasing ? "!conditions.chhkConditions.isBearishPowerIncreasing && " + "\n" : "") +
// (!conditions.chhkConditions.isBearishPowerDecreasing ? "!conditions.chhkConditions.isBearishPowerDecreasing && " + "\n" : "") +
// (!conditions.chhkConditions.isCBullish ? "!conditions.chhkConditions.isCBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isCSwitchedToBullish ? "!conditions.chhkConditions.isCSwitchedToBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isCBearish ? "!conditions.chhkConditions.isCBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isCSwitchedToBearish ? "!conditions.chhkConditions.isCSwitchedToBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseOverCHigh ? "!conditions.chhkConditions.isCloseOverCHigh && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseUnderCLow ? "!conditions.chhkConditions.isCloseUnderCLow && " + "\n" : "") +
// (!conditions.chhkConditions.isSBullish ? "!conditions.chhkConditions.isSBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isSSwitchedToBullish ? "!conditions.chhkConditions.isSSwitchedToBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isSBearish ? "!conditions.chhkConditions.isSBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isSSwitchedToBearish ? "!conditions.chhkConditions.isSSwitchedToBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseOverSHigh ? "!conditions.chhkConditions.isCloseOverSHigh && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseUnderSLow ? "!conditions.chhkConditions.isCloseUnderSLow && " + "\n" : "") +
// (!conditions.chhkConditions.isMBullish ? "!conditions.chhkConditions.isMBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isMSwitchedToBullish ? "!conditions.chhkConditions.isMSwitchedToBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isMBearish ? "!conditions.chhkConditions.isMBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isMSwitchedToBearish ? "!conditions.chhkConditions.isMSwitchedToBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseOverMHigh ? "!conditions.chhkConditions.isCloseOverMHigh && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseUnderMLow ? "!conditions.chhkConditions.isCloseUnderMLow && " + "\n" : "") +
// (!conditions.chhkConditions.isLBullish ? "!conditions.chhkConditions.isLBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isLSwitchedToBullish ? "!conditions.chhkConditions.isLSwitchedToBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isLBearish ? "!conditions.chhkConditions.isLBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isLSwitchedToBearish ? "!conditions.chhkConditions.isLSwitchedToBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseOverLHigh ? "!conditions.chhkConditions.isCloseOverLHigh && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseUnderLLow ? "!conditions.chhkConditions.isCloseUnderLLow && " + "\n" : "") +
// (!conditions.chhkConditions.isHBullish ? "!conditions.chhkConditions.isHBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isHSwitchedToBullish ? "!conditions.chhkConditions.isHSwitchedToBullish && " + "\n" : "") +
// (!conditions.chhkConditions.isHBearish ? "!conditions.chhkConditions.isHBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isHSwitchedToBearish ? "!conditions.chhkConditions.isHSwitchedToBearish && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseOverHHigh ? "!conditions.chhkConditions.isCloseOverHHigh && " + "\n" : "") +
// (!conditions.chhkConditions.isCloseUnderHLow ? "!conditions.chhkConditions.isCloseUnderHLow && " + "\n" : "") +
"//" + "\n" +
"// XCHTD ..." + "\n" +
"//" + "\n" +
(conditions.chtdConditions.hasBullishPower ? "conditions.chtdConditions.hasBullishPower &&" + "\n" : "") +
(conditions.chtdConditions.hasBearishPower ? "conditions.chtdConditions.hasBearishPower &&" + "\n" : "") +
(conditions.chtdConditions.isBullishPowerUp ? "conditions.chtdConditions.isBullishPowerUp &&" + "\n" : "") +
(conditions.chtdConditions.isBearishPowerUp ? "conditions.chtdConditions.isBearishPowerUp &&" + "\n" : "") +
(conditions.chtdConditions.isBullishPowerIncreasing ? "conditions.chtdConditions.isBullishPowerIncreasing &&" + "\n" : "") +
(conditions.chtdConditions.isBullishPowerDecreasing ? "conditions.chtdConditions.isBullishPowerDecreasing &&" + "\n" : "") +
(conditions.chtdConditions.isBearishPowerIncreasing ? "conditions.chtdConditions.isBearishPowerIncreasing &&" + "\n" : "") +
(conditions.chtdConditions.isBearishPowerDecreasing ? "conditions.chtdConditions.isBearishPowerDecreasing &&" + "\n" : "") +
(conditions.chtdConditions.isCBullish ? "conditions.chtdConditions.isCBullish &&" + "\n" : "") +
(conditions.chtdConditions.isCBearish ? "conditions.chtdConditions.isCBearish &&" + "\n" : "") +
(conditions.chtdConditions.isCSwitchedToBullish ? "conditions.chtdConditions.isCSwitchedToBullish &&" + "\n" : "") +
(conditions.chtdConditions.isCSwitchedToBearish ? "conditions.chtdConditions.isCSwitchedToBearish &&" + "\n" : "") +
(conditions.chtdConditions.isSBullish ? "conditions.chtdConditions.isSBullish &&" + "\n" : "") +
(conditions.chtdConditions.isSBearish ? "conditions.chtdConditions.isSBearish &&" + "\n" : "") +
(conditions.chtdConditions.isSSwitchedToBullish ? "conditions.chtdConditions.isSSwitchedToBullish &&" + "\n" : "") +
(conditions.chtdConditions.isSSwitchedToBearish ? "conditions.chtdConditions.isSSwitchedToBearish &&" + "\n" : "") +
(conditions.chtdConditions.isMBullish ? "conditions.chtdConditions.isMBullish &&" + "\n" : "") +
(conditions.chtdConditions.isMBearish ? "conditions.chtdConditions.isMBearish &&" + "\n" : "") +
(conditions.chtdConditions.isMSwitchedToBullish ? "conditions.chtdConditions.isMSwitchedToBullish &&" + "\n" : "") +
(conditions.chtdConditions.isMSwitchedToBearish ? "conditions.chtdConditions.isMSwitchedToBearish &&" + "\n" : "") +
(conditions.chtdConditions.isLBullish ? "conditions.chtdConditions.isLBullish &&" + "\n" : "") +
(conditions.chtdConditions.isLBearish ? "conditions.chtdConditions.isLBearish &&" + "\n" : "") +
(conditions.chtdConditions.isLSwitchedToBullish ? "conditions.chtdConditions.isLSwitchedToBullish &&" + "\n" : "") +
(conditions.chtdConditions.isLSwitchedToBearish ? "conditions.chtdConditions.isLSwitchedToBearish &&" + "\n" : "") +
(conditions.chtdConditions.isHBullish ? "conditions.chtdConditions.isHBullish &&" + "\n" : "") +
(conditions.chtdConditions.isHBearish ? "conditions.chtdConditions.isHBearish &&" + "\n" : "") +
(conditions.chtdConditions.isHSwitchedToBullish ? "conditions.chtdConditions.isHSwitchedToBullish &&" + "\n" : "") +
(conditions.chtdConditions.isHSwitchedToBearish ? "conditions.chtdConditions.isHSwitchedToBearish &&" + "\n" : "") +
// "//" + "\n" +
// (!conditions.chtdConditions.hasBullishPower ? "!conditions.chtdConditions.hasBullishPower &&" + "\n" : "") +
// (!conditions.chtdConditions.hasBearishPower ? "!conditions.chtdConditions.hasBearishPower &&" + "\n" : "") +
// (!conditions.chtdConditions.isBullishPowerUp ? "!conditions.chtdConditions.isBullishPowerUp &&" + "\n" : "") +
// (!conditions.chtdConditions.isBearishPowerUp ? "!conditions.chtdConditions.isBearishPowerUp &&" + "\n" : "") +
// (!conditions.chtdConditions.isBullishPowerIncreasing ? "!conditions.chtdConditions.isBullishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chtdConditions.isBullishPowerDecreasing ? "!conditions.chtdConditions.isBullishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chtdConditions.isBearishPowerIncreasing ? "!conditions.chtdConditions.isBearishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chtdConditions.isBearishPowerDecreasing ? "!conditions.chtdConditions.isBearishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chtdConditions.isCBullish ? "!conditions.chtdConditions.isCBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isCBearish ? "!conditions.chtdConditions.isCBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isCSwitchedToBullish ? "!conditions.chtdConditions.isCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isCSwitchedToBearish ? "!conditions.chtdConditions.isCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isSBullish ? "!conditions.chtdConditions.isSBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isSBearish ? "!conditions.chtdConditions.isSBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isSSwitchedToBullish ? "!conditions.chtdConditions.isSSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isSSwitchedToBearish ? "!conditions.chtdConditions.isSSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isMBullish ? "!conditions.chtdConditions.isMBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isMBearish ? "!conditions.chtdConditions.isMBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isMSwitchedToBullish ? "!conditions.chtdConditions.isMSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isMSwitchedToBearish ? "!conditions.chtdConditions.isMSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isLBullish ? "!conditions.chtdConditions.isLBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isLBearish ? "!conditions.chtdConditions.isLBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isLSwitchedToBullish ? "!conditions.chtdConditions.isLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isLSwitchedToBearish ? "!conditions.chtdConditions.isLSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isHBullish ? "!conditions.chtdConditions.isHBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isHBearish ? "!conditions.chtdConditions.isHBearish &&" + "\n" : "") +
// (!conditions.chtdConditions.isHSwitchedToBullish ? "!conditions.chtdConditions.isHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chtdConditions.isHSwitchedToBearish ? "!conditions.chtdConditions.isHSwitchedToBearish &&" + "\n" : "") +
"//" + "\n" +
"// XCHCHE ..." + "\n" +
"//" + "\n" +
(conditions.chcheConditions.hasBullishPower ? "conditions.chcheConditions.hasBullishPower &&" + "\n" : "") +
(conditions.chcheConditions.hasBearishPower ? "conditions.chcheConditions.hasBearishPower &&" + "\n" : "") +
(conditions.chcheConditions.isBullishPowerUp ? "conditions.chcheConditions.isBullishPowerUp &&" + "\n" : "") +
(conditions.chcheConditions.isBearishPowerUp ? "conditions.chcheConditions.isBearishPowerUp &&" + "\n" : "") +
(conditions.chcheConditions.isBullishPowerIncreasing ? "conditions.chcheConditions.isBullishPowerIncreasing &&" + "\n" : "") +
(conditions.chcheConditions.isBullishPowerDecreasing ? "conditions.chcheConditions.isBullishPowerDecreasing &&" + "\n" : "") +
(conditions.chcheConditions.isBearishPowerIncreasing ? "conditions.chcheConditions.isBearishPowerIncreasing &&" + "\n" : "") +
(conditions.chcheConditions.isBearishPowerDecreasing ? "conditions.chcheConditions.isBearishPowerDecreasing &&" + "\n" : "") +
(conditions.chcheConditions.isCBullish ? "conditions.chcheConditions.isCBullish &&" + "\n" : "") +
(conditions.chcheConditions.isCBearish ? "conditions.chcheConditions.isCBearish &&" + "\n" : "") +
(conditions.chcheConditions.isCStrongBullish ? "conditions.chcheConditions.isCStrongBullish &&" + "\n" : "") +
(conditions.chcheConditions.isCStrongBearish ? "conditions.chcheConditions.isCStrongBearish &&" + "\n" : "") +
(conditions.chcheConditions.isCSwitchedToBullish ? "conditions.chcheConditions.isCSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isCSwitchedToBearish ? "conditions.chcheConditions.isCSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isCStrongSwitchedToBullish ? "conditions.chcheConditions.isCStrongSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isCStrongSwitchedToBearish ? "conditions.chcheConditions.isCStrongSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isSBullish ? "conditions.chcheConditions.isSBullish &&" + "\n" : "") +
(conditions.chcheConditions.isSBearish ? "conditions.chcheConditions.isSBearish &&" + "\n" : "") +
(conditions.chcheConditions.isSStrongBullish ? "conditions.chcheConditions.isSStrongBullish &&" + "\n" : "") +
(conditions.chcheConditions.isSStrongBearish ? "conditions.chcheConditions.isSStrongBearish &&" + "\n" : "") +
(conditions.chcheConditions.isSSwitchedToBullish ? "conditions.chcheConditions.isSSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isSSwitchedToBearish ? "conditions.chcheConditions.isSSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isSStrongSwitchedToBullish ? "conditions.chcheConditions.isSStrongSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isSStrongSwitchedToBearish ? "conditions.chcheConditions.isSStrongSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isMBullish ? "conditions.chcheConditions.isMBullish &&" + "\n" : "") +
(conditions.chcheConditions.isMBearish ? "conditions.chcheConditions.isMBearish &&" + "\n" : "") +
(conditions.chcheConditions.isMStrongBullish ? "conditions.chcheConditions.isMStrongBullish &&" + "\n" : "") +
(conditions.chcheConditions.isMStrongBearish ? "conditions.chcheConditions.isMStrongBearish &&" + "\n" : "") +
(conditions.chcheConditions.isMSwitchedToBullish ? "conditions.chcheConditions.isMSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isMSwitchedToBearish ? "conditions.chcheConditions.isMSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isMStrongSwitchedToBullish ? "conditions.chcheConditions.isMStrongSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isMStrongSwitchedToBearish ? "conditions.chcheConditions.isMStrongSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isLBullish ? "conditions.chcheConditions.isLBullish &&" + "\n" : "") +
(conditions.chcheConditions.isLBearish ? "conditions.chcheConditions.isLBearish &&" + "\n" : "") +
(conditions.chcheConditions.isLStrongBullish ? "conditions.chcheConditions.isLStrongBullish &&" + "\n" : "") +
(conditions.chcheConditions.isLStrongBearish ? "conditions.chcheConditions.isLStrongBearish &&" + "\n" : "") +
(conditions.chcheConditions.isLSwitchedToBullish ? "conditions.chcheConditions.isLSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isLSwitchedToBearish ? "conditions.chcheConditions.isLSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isLStrongSwitchedToBullish ? "conditions.chcheConditions.isLStrongSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isLStrongSwitchedToBearish ? "conditions.chcheConditions.isLStrongSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isHBullish ? "conditions.chcheConditions.isHBullish &&" + "\n" : "") +
(conditions.chcheConditions.isHBearish ? "conditions.chcheConditions.isHBearish &&" + "\n" : "") +
(conditions.chcheConditions.isHStrongBullish ? "conditions.chcheConditions.isHStrongBullish &&" + "\n" : "") +
(conditions.chcheConditions.isHStrongBearish ? "conditions.chcheConditions.isHStrongBearish &&" + "\n" : "") +
(conditions.chcheConditions.isHSwitchedToBullish ? "conditions.chcheConditions.isHSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isHSwitchedToBearish ? "conditions.chcheConditions.isHSwitchedToBearish &&" + "\n" : "") +
(conditions.chcheConditions.isHStrongSwitchedToBullish ? "conditions.chcheConditions.isHStrongSwitchedToBullish &&" + "\n" : "") +
(conditions.chcheConditions.isHStrongSwitchedToBearish ? "conditions.chcheConditions.isHStrongSwitchedToBearish &&" + "\n" : "") +
// "//" + "\n" +
// (!conditions.chcheConditions.hasBullishPower ? "!conditions.chcheConditions.hasBullishPower &&" + "\n" : "") +
// (!conditions.chcheConditions.hasBearishPower ? "!conditions.chcheConditions.hasBearishPower &&" + "\n" : "") +
// (!conditions.chcheConditions.isBullishPowerUp ? "!conditions.chcheConditions.isBullishPowerUp &&" + "\n" : "") +
// (!conditions.chcheConditions.isBearishPowerUp ? "!conditions.chcheConditions.isBearishPowerUp &&" + "\n" : "") +
// (!conditions.chcheConditions.isBullishPowerIncreasing ? "!conditions.chcheConditions.isBullishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chcheConditions.isBullishPowerDecreasing ? "!conditions.chcheConditions.isBullishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chcheConditions.isBearishPowerIncreasing ? "!conditions.chcheConditions.isBearishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chcheConditions.isBearishPowerDecreasing ? "!conditions.chcheConditions.isBearishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chcheConditions.isCBullish ? "!conditions.chcheConditions.isCBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isCBearish ? "!conditions.chcheConditions.isCBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isCStrongBullish ? "!conditions.chcheConditions.isCStrongBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isCStrongBearish ? "!conditions.chcheConditions.isCStrongBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isCSwitchedToBullish ? "!conditions.chcheConditions.isCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isCSwitchedToBearish ? "!conditions.chcheConditions.isCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isCStrongSwitchedToBullish ? "!conditions.chcheConditions.isCStrongSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isCStrongSwitchedToBearish ? "!conditions.chcheConditions.isCStrongSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSBullish ? "!conditions.chcheConditions.isSBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSBearish ? "!conditions.chcheConditions.isSBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSStrongBullish ? "!conditions.chcheConditions.isSStrongBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSStrongBearish ? "!conditions.chcheConditions.isSStrongBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSSwitchedToBullish ? "!conditions.chcheConditions.isSSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSSwitchedToBearish ? "!conditions.chcheConditions.isSSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSStrongSwitchedToBullish ? "!conditions.chcheConditions.isSStrongSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isSStrongSwitchedToBearish ? "!conditions.chcheConditions.isSStrongSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMBullish ? "!conditions.chcheConditions.isMBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMBearish ? "!conditions.chcheConditions.isMBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMStrongBullish ? "!conditions.chcheConditions.isMStrongBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMStrongBearish ? "!conditions.chcheConditions.isMStrongBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMSwitchedToBullish ? "!conditions.chcheConditions.isMSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMSwitchedToBearish ? "!conditions.chcheConditions.isMSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMStrongSwitchedToBullish ? "!conditions.chcheConditions.isMStrongSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isMStrongSwitchedToBearish ? "!conditions.chcheConditions.isMStrongSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLBullish ? "!conditions.chcheConditions.isLBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLBearish ? "!conditions.chcheConditions.isLBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLStrongBullish ? "!conditions.chcheConditions.isLStrongBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLStrongBearish ? "!conditions.chcheConditions.isLStrongBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLSwitchedToBullish ? "!conditions.chcheConditions.isLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLSwitchedToBearish ? "!conditions.chcheConditions.isLSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLStrongSwitchedToBullish ? "!conditions.chcheConditions.isLStrongSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isLStrongSwitchedToBearish ? "!conditions.chcheConditions.isLStrongSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHBullish ? "!conditions.chcheConditions.isHBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHBearish ? "!conditions.chcheConditions.isHBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHStrongBullish ? "!conditions.chcheConditions.isHStrongBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHStrongBearish ? "!conditions.chcheConditions.isHStrongBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHSwitchedToBullish ? "!conditions.chcheConditions.isHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHSwitchedToBearish ? "!conditions.chcheConditions.isHSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHStrongSwitchedToBullish ? "!conditions.chcheConditions.isHStrongSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chcheConditions.isHStrongSwitchedToBearish ? "!conditions.chcheConditions.isHStrongSwitchedToBearish &&" + "\n" : "") +
"//" + "\n" +
"// XCHSTR ..." + "\n" +
"//" + "\n" +
(conditions.chstrConditions.hasBullishPower ? "conditions.chstrConditions.hasBullishPower &&" + "\n" : "") +
(conditions.chstrConditions.hasBearishPower ? "conditions.chstrConditions.hasBearishPower &&" + "\n" : "") +
(conditions.chstrConditions.isBullishPowerUp ? "conditions.chstrConditions.isBullishPowerUp &&" + "\n" : "") +
(conditions.chstrConditions.isBearishPowerUp ? "conditions.chstrConditions.isBearishPowerUp &&" + "\n" : "") +
(conditions.chstrConditions.isBullishPowerIncreasing ? "conditions.chstrConditions.isBullishPowerIncreasing &&" + "\n" : "") +
(conditions.chstrConditions.isBullishPowerDecreasing ? "conditions.chstrConditions.isBullishPowerDecreasing &&" + "\n" : "") +
(conditions.chstrConditions.isBearishPowerIncreasing ? "conditions.chstrConditions.isBearishPowerIncreasing &&" + "\n" : "") +
(conditions.chstrConditions.isBearishPowerDecreasing ? "conditions.chstrConditions.isBearishPowerDecreasing &&" + "\n" : "") +
(conditions.chstrConditions.isCBullish ? "conditions.chstrConditions.isCBullish &&" + "\n" : "") +
(conditions.chstrConditions.isCBearish ? "conditions.chstrConditions.isCBearish &&" + "\n" : "") +
(conditions.chstrConditions.isCSwitchedToBullish ? "conditions.chstrConditions.isCSwitchedToBullish &&" + "\n" : "") +
(conditions.chstrConditions.isCSwitchedToBearish ? "conditions.chstrConditions.isCSwitchedToBearish &&" + "\n" : "") +
(conditions.chstrConditions.isSBullish ? "conditions.chstrConditions.isSBullish &&" + "\n" : "") +
(conditions.chstrConditions.isSBearish ? "conditions.chstrConditions.isSBearish &&" + "\n" : "") +
(conditions.chstrConditions.isSSwitchedToBullish ? "conditions.chstrConditions.isSSwitchedToBullish &&" + "\n" : "") +
(conditions.chstrConditions.isSSwitchedToBearish ? "conditions.chstrConditions.isSSwitchedToBearish &&" + "\n" : "") +
(conditions.chstrConditions.isMBullish ? "conditions.chstrConditions.isMBullish &&" + "\n" : "") +
(conditions.chstrConditions.isMBearish ? "conditions.chstrConditions.isMBearish &&" + "\n" : "") +
(conditions.chstrConditions.isMSwitchedToBullish ? "conditions.chstrConditions.isMSwitchedToBullish &&" + "\n" : "") +
(conditions.chstrConditions.isMSwitchedToBearish ? "conditions.chstrConditions.isMSwitchedToBearish &&" + "\n" : "") +
(conditions.chstrConditions.isLBullish ? "conditions.chstrConditions.isLBullish &&" + "\n" : "") +
(conditions.chstrConditions.isLBearish ? "conditions.chstrConditions.isLBearish &&" + "\n" : "") +
(conditions.chstrConditions.isLSwitchedToBullish ? "conditions.chstrConditions.isLSwitchedToBullish &&" + "\n" : "") +
(conditions.chstrConditions.isLSwitchedToBearish ? "conditions.chstrConditions.isLSwitchedToBearish &&" + "\n" : "") +
(conditions.chstrConditions.isHBullish ? "conditions.chstrConditions.isHBullish &&" + "\n" : "") +
(conditions.chstrConditions.isHBearish ? "conditions.chstrConditions.isHBearish &&" + "\n" : "") +
(conditions.chstrConditions.isHSwitchedToBullish ? "conditions.chstrConditions.isHSwitchedToBullish &&" + "\n" : "") +
(conditions.chstrConditions.isHSwitchedToBearish ? "conditions.chstrConditions.isHSwitchedToBearish &&" + "\n" : "") +
// "//" + "\n" +
// (!conditions.chstrConditions.hasBullishPower ? "!conditions.chstrConditions.hasBullishPower &&" + "\n" : "") +
// (!conditions.chstrConditions.hasBearishPower ? "!conditions.chstrConditions.hasBearishPower &&" + "\n" : "") +
// (!conditions.chstrConditions.isBullishPowerUp ? "!conditions.chstrConditions.isBullishPowerUp &&" + "\n" : "") +
// (!conditions.chstrConditions.isBearishPowerUp ? "!conditions.chstrConditions.isBearishPowerUp &&" + "\n" : "") +
// (!conditions.chstrConditions.isBullishPowerIncreasing ? "!conditions.chstrConditions.isBullishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chstrConditions.isBullishPowerDecreasing ? "!conditions.chstrConditions.isBullishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chstrConditions.isBearishPowerIncreasing ? "!conditions.chstrConditions.isBearishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chstrConditions.isBearishPowerDecreasing ? "!conditions.chstrConditions.isBearishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chstrConditions.isCBullish ? "!conditions.chstrConditions.isCBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isCBearish ? "!conditions.chstrConditions.isCBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isCSwitchedToBullish ? "!conditions.chstrConditions.isCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isCSwitchedToBearish ? "!conditions.chstrConditions.isCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isSBullish ? "!conditions.chstrConditions.isSBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isSBearish ? "!conditions.chstrConditions.isSBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isSSwitchedToBullish ? "!conditions.chstrConditions.isSSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isSSwitchedToBearish ? "!conditions.chstrConditions.isSSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isMBullish ? "!conditions.chstrConditions.isMBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isMBearish ? "!conditions.chstrConditions.isMBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isMSwitchedToBullish ? "!conditions.chstrConditions.isMSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isMSwitchedToBearish ? "!conditions.chstrConditions.isMSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isLBullish ? "!conditions.chstrConditions.isLBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isLBearish ? "!conditions.chstrConditions.isLBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isLSwitchedToBullish ? "!conditions.chstrConditions.isLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isLSwitchedToBearish ? "!conditions.chstrConditions.isLSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isHBullish ? "!conditions.chstrConditions.isHBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isHBearish ? "!conditions.chstrConditions.isHBearish &&" + "\n" : "") +
// (!conditions.chstrConditions.isHSwitchedToBullish ? "!conditions.chstrConditions.isHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chstrConditions.isHSwitchedToBearish ? "!conditions.chstrConditions.isHSwitchedToBearish &&" + "\n" : "") +
"//" + "\n" +
"// XCHVLM ..." + "\n" +
"//" + "\n" +
(conditions.chvlmConditions.hasBullishPower ? "conditions.chvlmConditions.hasBullishPower &&" + "\n" : "") +
(conditions.chvlmConditions.hasBearishPower ? "conditions.chvlmConditions.hasBearishPower &&" + "\n" : "") +
(conditions.chvlmConditions.isBullishPowerUp ? "conditions.chvlmConditions.isBullishPowerUp &&" + "\n" : "") +
(conditions.chvlmConditions.isBearishPowerUp ? "conditions.chvlmConditions.isBearishPowerUp &&" + "\n" : "") +
(conditions.chvlmConditions.isBullishPowerIncreasing ? "conditions.chvlmConditions.isBullishPowerIncreasing &&" + "\n" : "") +
(conditions.chvlmConditions.isBullishPowerDecreasing ? "conditions.chvlmConditions.isBullishPowerDecreasing &&" + "\n" : "") +
(conditions.chvlmConditions.isBearishPowerIncreasing ? "conditions.chvlmConditions.isBearishPowerIncreasing &&" + "\n" : "") +
(conditions.chvlmConditions.isBearishPowerDecreasing ? "conditions.chvlmConditions.isBearishPowerDecreasing &&" + "\n" : "") +
(conditions.chvlmConditions.isCBullish ? "conditions.chvlmConditions.isCBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isCBearish ? "conditions.chvlmConditions.isCBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isCSwitchedToBullish ? "conditions.chvlmConditions.isCSwitchedToBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isCSwitchedToBearish ? "conditions.chvlmConditions.isCSwitchedToBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isSBullish ? "conditions.chvlmConditions.isSBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isSBearish ? "conditions.chvlmConditions.isSBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isSSwitchedToBullish ? "conditions.chvlmConditions.isSSwitchedToBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isSSwitchedToBearish ? "conditions.chvlmConditions.isSSwitchedToBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isMBullish ? "conditions.chvlmConditions.isMBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isMBearish ? "conditions.chvlmConditions.isMBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isMSwitchedToBullish ? "conditions.chvlmConditions.isMSwitchedToBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isMSwitchedToBearish ? "conditions.chvlmConditions.isMSwitchedToBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isLBullish ? "conditions.chvlmConditions.isLBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isLBearish ? "conditions.chvlmConditions.isLBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isLSwitchedToBullish ? "conditions.chvlmConditions.isLSwitchedToBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isLSwitchedToBearish ? "conditions.chvlmConditions.isLSwitchedToBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isHBullish ? "conditions.chvlmConditions.isHBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isHBearish ? "conditions.chvlmConditions.isHBearish &&" + "\n" : "") +
(conditions.chvlmConditions.isHSwitchedToBullish ? "conditions.chvlmConditions.isHSwitchedToBullish &&" + "\n" : "") +
(conditions.chvlmConditions.isHSwitchedToBearish ? "conditions.chvlmConditions.isHSwitchedToBearish &&" + "\n" : "") +
// "//" + "\n" +
// (!conditions.chvlmConditions.hasBullishPower ? "!conditions.chvlmConditions.hasBullishPower &&" + "\n" : "") +
// (!conditions.chvlmConditions.hasBearishPower ? "!conditions.chvlmConditions.hasBearishPower &&" + "\n" : "") +
// (!conditions.chvlmConditions.isBullishPowerUp ? "!conditions.chvlmConditions.isBullishPowerUp &&" + "\n" : "") +
// (!conditions.chvlmConditions.isBearishPowerUp ? "!conditions.chvlmConditions.isBearishPowerUp &&" + "\n" : "") +
// (!conditions.chvlmConditions.isBullishPowerIncreasing ? "!conditions.chvlmConditions.isBullishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chvlmConditions.isBullishPowerDecreasing ? "!conditions.chvlmConditions.isBullishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chvlmConditions.isBearishPowerIncreasing ? "!conditions.chvlmConditions.isBearishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chvlmConditions.isBearishPowerDecreasing ? "!conditions.chvlmConditions.isBearishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chvlmConditions.isCBullish ? "!conditions.chvlmConditions.isCBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isCBearish ? "!conditions.chvlmConditions.isCBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isCSwitchedToBullish ? "!conditions.chvlmConditions.isCSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isCSwitchedToBearish ? "!conditions.chvlmConditions.isCSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isSBullish ? "!conditions.chvlmConditions.isSBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isSBearish ? "!conditions.chvlmConditions.isSBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isSSwitchedToBullish ? "!conditions.chvlmConditions.isSSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isSSwitchedToBearish ? "!conditions.chvlmConditions.isSSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isMBullish ? "!conditions.chvlmConditions.isMBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isMBearish ? "!conditions.chvlmConditions.isMBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isMSwitchedToBullish ? "!conditions.chvlmConditions.isMSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isMSwitchedToBearish ? "!conditions.chvlmConditions.isMSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isLBullish ? "!conditions.chvlmConditions.isLBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isLBearish ? "!conditions.chvlmConditions.isLBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isLSwitchedToBullish ? "!conditions.chvlmConditions.isLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isLSwitchedToBearish ? "!conditions.chvlmConditions.isLSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isHBullish ? "!conditions.chvlmConditions.isHBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isHBearish ? "!conditions.chvlmConditions.isHBearish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isHSwitchedToBullish ? "!conditions.chvlmConditions.isHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvlmConditions.isHSwitchedToBearish ? "!conditions.chvlmConditions.isHSwitchedToBearish &&" + "\n" : "") +
"//" + "\n" +
"// XCHVWAP ..." + "\n" +
"//" + "\n" +
(conditions.chvwapConditions.hasBullishPower ? "conditions.chvwapConditions.hasBullishPower &&" + "\n" : "") +
(conditions.chvwapConditions.hasBearishPower ? "conditions.chvwapConditions.hasBearishPower &&" + "\n" : "") +
(conditions.chvwapConditions.isBullishPowerUp ? "conditions.chvwapConditions.isBullishPowerUp &&" + "\n" : "") +
(conditions.chvwapConditions.isBearishPowerUp ? "conditions.chvwapConditions.isBearishPowerUp &&" + "\n" : "") +
(conditions.chvwapConditions.isBullishPowerIncreasing ? "conditions.chvwapConditions.isBullishPowerIncreasing &&" + "\n" : "") +
(conditions.chvwapConditions.isBullishPowerDecreasing ? "conditions.chvwapConditions.isBullishPowerDecreasing &&" + "\n" : "") +
(conditions.chvwapConditions.isBearishPowerIncreasing ? "conditions.chvwapConditions.isBearishPowerIncreasing &&" + "\n" : "") +
(conditions.chvwapConditions.isBearishPowerDecreasing ? "conditions.chvwapConditions.isBearishPowerDecreasing &&" + "\n" : "") +
(conditions.chvwapConditions.isSBullish ? "conditions.chvwapConditions.isSBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isSBearish ? "conditions.chvwapConditions.isSBearish &&" + "\n" : "") +
(conditions.chvwapConditions.isSSwitchedToBullish ? "conditions.chvwapConditions.isSSwitchedToBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isSSwitchedToBearish ? "conditions.chvwapConditions.isSSwitchedToBearish &&" + "\n" : "") +
(conditions.chvwapConditions.isMBullish ? "conditions.chvwapConditions.isMBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isMBearish ? "conditions.chvwapConditions.isMBearish &&" + "\n" : "") +
(conditions.chvwapConditions.isMSwitchedToBullish ? "conditions.chvwapConditions.isMSwitchedToBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isMSwitchedToBearish ? "conditions.chvwapConditions.isMSwitchedToBearish &&" + "\n" : "") +
(conditions.chvwapConditions.isLBullish ? "conditions.chvwapConditions.isLBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isLBearish ? "conditions.chvwapConditions.isLBearish &&" + "\n" : "") +
(conditions.chvwapConditions.isLSwitchedToBullish ? "conditions.chvwapConditions.isLSwitchedToBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isLSwitchedToBearish ? "conditions.chvwapConditions.isLSwitchedToBearish &&" + "\n" : "") +
(conditions.chvwapConditions.isHBullish ? "conditions.chvwapConditions.isHBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isHBearish ? "conditions.chvwapConditions.isHBearish &&" + "\n" : "") +
(conditions.chvwapConditions.isHSwitchedToBullish ? "conditions.chvwapConditions.isHSwitchedToBullish &&" + "\n" : "") +
(conditions.chvwapConditions.isHSwitchedToBearish ? "conditions.chvwapConditions.isHSwitchedToBearish &&" + "\n" : "") +
// "//" + "\n" +
// (!conditions.chvwapConditions.hasBullishPower ? "!conditions.chvwapConditions.hasBullishPower &&" + "\n" : "") +
// (!conditions.chvwapConditions.hasBearishPower ? "!conditions.chvwapConditions.hasBearishPower &&" + "\n" : "") +
// (!conditions.chvwapConditions.isBullishPowerUp ? "!conditions.chvwapConditions.isBullishPowerUp &&" + "\n" : "") +
// (!conditions.chvwapConditions.isBearishPowerUp ? "!conditions.chvwapConditions.isBearishPowerUp &&" + "\n" : "") +
// (!conditions.chvwapConditions.isBullishPowerIncreasing ? "!conditions.chvwapConditions.isBullishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chvwapConditions.isBullishPowerDecreasing ? "!conditions.chvwapConditions.isBullishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chvwapConditions.isBearishPowerIncreasing ? "!conditions.chvwapConditions.isBearishPowerIncreasing &&" + "\n" : "") +
// (!conditions.chvwapConditions.isBearishPowerDecreasing ? "!conditions.chvwapConditions.isBearishPowerDecreasing &&" + "\n" : "") +
// (!conditions.chvwapConditions.isSBullish ? "!conditions.chvwapConditions.isSBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isSBearish ? "!conditions.chvwapConditions.isSBearish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isSSwitchedToBullish ? "!conditions.chvwapConditions.isSSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isSSwitchedToBearish ? "!conditions.chvwapConditions.isSSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isMBullish ? "!conditions.chvwapConditions.isMBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isMBearish ? "!conditions.chvwapConditions.isMBearish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isMSwitchedToBullish ? "!conditions.chvwapConditions.isMSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isMSwitchedToBearish ? "!conditions.chvwapConditions.isMSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isLBullish ? "!conditions.chvwapConditions.isLBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isLBearish ? "!conditions.chvwapConditions.isLBearish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isLSwitchedToBullish ? "!conditions.chvwapConditions.isLSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isLSwitchedToBearish ? "!conditions.chvwapConditions.isLSwitchedToBearish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isHBullish ? "!conditions.chvwapConditions.isHBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isHBearish ? "!conditions.chvwapConditions.isHBearish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isHSwitchedToBullish ? "!conditions.chvwapConditions.isHSwitchedToBullish &&" + "\n" : "") +
// (!conditions.chvwapConditions.isHSwitchedToBearish ? "!conditions.chvwapConditions.isHSwitchedToBearish &&" + "\n" : "") +
"//" + "\n" +
")" + "\n"
"//" +
"\n" +
"||" + "\n" +
"//";
//
string query = "&&";
int andIndexes[];
int andIndexesCount = FindIndexes(
query,
result,
andIndexes //
);
if (IsValidSize(andIndexesCount)) {
//
int lastAndIndex = andIndexes[ArraySize(andIndexes) - 1];
//
string beforeStr = StringSubstr(
result,
0,
lastAndIndex //
);
string afterStr = StringSubstr(
result,
lastAndIndex + StringLen(query)
);
//
result = beforeStr + afterStr;
}
//
return result;
}
//
bool IsFiltered(
XSignal &signal, // Provided Signal
XCHStrategyConditions &conditions, // Market Conditions
bool force = false //
)
{
//
bool result = false;
//
// Validate Args ...
if (!signal.IsValid() || !conditions.IsValid())
{
//
result = true;
return result;
}
//
string market = _account.GetCompany();
bool isIngot = _marketParser.IsIngot(market);
bool isErrante = _marketParser.IsErrante(market);
bool isAMarkets = _marketParser.IsAMarkets(market);
bool isIFCMarkets = _marketParser.IsIFCMarkets(market);
bool isOtetMarkets = _marketParser.IsOtetMarkets(market);
//
// Ingot ...
bool isIngotFiltered = false;
// _ingotParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
// Errante ...
bool isErranteFiltered = false;
// _erranteParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
// AMarkets ...
bool isAMarketsFiltered = _amarketsParser.IsFiltered(
signal,
conditions,
force //
);
//
// IFCMarkets ...
bool isIFCMarketsFiltered = false;
// _ifcmarketsParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
// OtetMarkets ...
bool isOtetMarketsFiltered = false;
// _otetmarketsParser.IsFiltered(
// signal,
// conditions,
// force //
// );
//
if (!force)
{
//
if (isIngot)
{
result = isIngotFiltered;
}
else if (isErrante)
{
result = isErranteFiltered;
}
else if (isAMarkets)
{
result = isAMarketsFiltered;
}
else if (isIFCMarkets)
{
result = isIFCMarketsFiltered;
}
else if (isOtetMarkets)
{
result = isOtetMarketsFiltered;
}
}
else
{
//
result =
//
isIngotFiltered
//
||
//
isErranteFiltered
//
||
//
isAMarketsFiltered
//
||
//
isIFCMarketsFiltered
//
||
//
isOtetMarketsFiltered
//
;
}
//
return result;
}
};
//