From eaddb8aa7250970e06cf83415c3387ab4abbe19a Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Sun, 30 Mar 2025 02:46:12 +0330 Subject: [PATCH] last ... --- .../x-121.smc.market.cycle.helper.class.mq5 | 329 +++++++++++++++++- ...ss.mq5 => x-121.smc.xind.signal.class.mq5} | 37 +- ....lib.mq5 => x-121.smc.xind.signal.lib.mq5} | 15 +- .../Signals/x-121.smc.xwz.signal.lib.mq5 | 2 +- .../Strategy/x-121.smc.strategy.class.mq5 | 72 ++-- 5 files changed, 375 insertions(+), 80 deletions(-) rename X121SMCEA/Signals/{x-121.smc.xich.signal.class.mq5 => x-121.smc.xind.signal.class.mq5} (96%) rename X121SMCEA/Signals/{x-121.smc.xich.signal.lib.mq5 => x-121.smc.xind.signal.lib.mq5} (91%) diff --git a/X121SMCEA/Classes/x-121.smc.market.cycle.helper.class.mq5 b/X121SMCEA/Classes/x-121.smc.market.cycle.helper.class.mq5 index 649a6747..e52b13be 100644 --- a/X121SMCEA/Classes/x-121.smc.market.cycle.helper.class.mq5 +++ b/X121SMCEA/Classes/x-121.smc.market.cycle.helper.class.mq5 @@ -2661,7 +2661,7 @@ struct X121SMCStrategyConditionParser // // Rejected Boxes ... - bool HasRejectedBocXConditions( + bool HasRejectedBoxConditions( ENUM_X_CYCLES cycle, XSignalBox &box, ENUM_X_DIRECTION &dir, @@ -2952,7 +2952,7 @@ struct X121SMCStrategyConditionParser // // Activated Boxes ... - bool HasActivatedBocXConditions( + bool HasActivatedBoxConditions( ENUM_X_CYCLES cycle, XSignalBox &box, ENUM_X_DIRECTION &dir, @@ -3267,7 +3267,7 @@ struct X121SMCStrategyConditionParser // // Breaked Boxes ... - bool HasBreakedBocXConditions( + bool HasBreakedBoxConditions( ENUM_X_CYCLES cycle, XSignalBox &box, ENUM_X_DIRECTION &dir, @@ -4501,16 +4501,16 @@ struct X121SMCStrategyConditionParser // bool isBullishTKZone = isIchIsBullish && - cBar.low < cXConditions.tenkanSenBuffer[cIndex] && - cBar.low > cXConditions.kijunSenBuffer[cIndex] && + cBar.low < cXConditions.tenkanSenBuffer[cIDX] && + cBar.low > cXConditions.kijunSenBuffer[cIDX] && cBar.low < pBar.low && zBar.open > cBar.low; // bool isBearishTKZone = isIchIsBearish && - cBar.high > cXConditions.tenkanSenBuffer[cIndex] && - cBar.high < cXConditions.kijunSenBuffer[cIndex] && + cBar.high > cXConditions.tenkanSenBuffer[cIDX] && + cBar.high < cXConditions.kijunSenBuffer[cIDX] && cBar.high > pBar.high && zBar.open < cBar.high; @@ -4563,14 +4563,17 @@ struct X121SMCStrategyConditionParser box.period = cBar.period; // - pivot = isBullish - ? cBar.low - (points * 5) - : cBar.high + (points * 5); + double points = GetPoints(box.symbol); // - point = GetEntry( + double pivot = isBullish + ? cBar.low - (points * 5) + : cBar.high + (points * 5); + + // + double point = GetEntry( cBar.symbol, - signalBoxDir // + dir // ); // @@ -4591,12 +4594,306 @@ struct X121SMCStrategyConditionParser { // } + } + + // + // Check All Conditions ... + result = + box.IsValid() && + HasDirection(dir) && + (isBullish || + isBearish); + + // + // Cleanup Resources ... + zBar.Clean(); + cBar.Clean(); + pBar.Clean(); + pPBar.Clean(); + cState.Clean(); + cConditions.Clean(); + cConditions.Clean(); + ZeroMemory(cHelper); + cStateEvents.Clean(); + cXConditions.Clean(); + + // + return result; + } + + // + bool HasXSTRConditions( + ENUM_X_CYCLES cycle, + XBoxZone &box, + ENUM_X_DIRECTION &dir, + X121SMCStrategySignalProviderData &provider, + int barIndex = 0 // + ) + { + // + bool result = false; + + // + box.Clean(); + dir = X_DIRECTION_NONE; + + // + // Fil Selected Data ... + XPOIState cState; + X121Conditions cXConditions; + XPOIStateEvents cStateEvents; + XC121SMCCycleHelper *cHelper; + X121SMCCycleConditions cConditions; + result = provider.SelectCycle( + cycle, + cState, + cStateEvents, + cXConditions, + cHelper, + cConditions // + ); + if (!result) + { + // + cState.Clean(); + ZeroMemory(cHelper); + cConditions.Clean(); + cXConditions.Clean(); + cStateEvents.Clean(); // - Print("Signal ..."); - result = false; - isBearish = false; - isBullish = false; + return result; + } + Parse(cXConditions); + + // + // Normalize Args ... + + // + if (barIndex < 0) + { + barIndex = 0; + } + + // + int idx = -1; + int count = 0; + bool has = false; + + // + int zIDX = barIndex; + int cIDX = zIDX + 1; + int pIDX = cIDX + 1; + int ppIDX = pIDX + 1; + + // + bool isBullish = false; + bool isBearish = false; + + // + XOHCL zBar; + XOHCL cBar; + XOHCL pBar; + XOHCL pPBar; + + // + // Initial Bars ... + result = zBar.Init( + cState.symbol, + cState.period, + barIndex // + ); + result = + result && + zBar.GetPreviousBar(cBar); + result = + result && + cBar.GetPreviousBar(pBar); + result = + result && + pBar.GetPreviousBar(pPBar); + if (!result) + { + // + zBar.Clean(); + cBar.Clean(); + pBar.Clean(); + cState.Clean(); + ZeroMemory(cHelper); + cConditions.Clean(); + cXConditions.Clean(); + + // + return result; + } + + // + // Checking Conditions ... + // + // XDELTA ... + + // + bool isDeltaSwitchedToBullish = + (cXConditions.isDeltaCrossedOverMa && + cXConditions.isDeltaSwitchedToBullish); + bool isDeltaBullish = + (cXConditions.isDeltaOverMa && + cXConditions.isDeltaBullish); + bool isDeltaIsBullish = + isDeltaBullish || + isDeltaSwitchedToBullish; + + // + bool isDeltaSwitchedToBearish = + (cXConditions.isDeltaCrossedUnderMa && + cXConditions.isDeltaSwitchedToBearish); + bool isDeltaBearish = + (cXConditions.isDeltaUnderMa && + cXConditions.isDeltaBearish); + bool isDeltaIsBearish = + isDeltaBearish || + isDeltaSwitchedToBearish; + + // + // XVOLUME ... + + // + bool isVolumeSwitchedToBullish = + (cXConditions.isVolumeSwitchedToBullish && + cXConditions.isBullishVolumeSwitchedToIncreased); + bool isVolumeBullish = + (cXConditions.isBullishVolumeIncreased && + cXConditions.isBullishVolumeMaOverBearishVolumeMa); + bool isVolumeIsBullish = + isVolumeBullish || + isVolumeSwitchedToBullish; + + // + bool isVolumeSwitchedToBearish = + (cXConditions.isVolumeSwitchedToBearish && + cXConditions.isBearishVolumeSwitchedToIncreased); + bool isVolumeBearish = + (cXConditions.isBullishVolumeMaUnderBearishVolumeMa && + cXConditions.isBearishVolumeIncreased); + bool isVolumeIsBearish = + isVolumeBearish || + isVolumeSwitchedToBearish; + + // + // XSTR ... + bool isStrIsBullish = + (cXConditions.isStrBullish || + cXConditions.isStrSwitchedToBullish); + bool isStrIsBearish = + (cXConditions.isStrBearish || + cXConditions.isStrSwitchedToBearish); + + // + // XFastMa ... + + // + bool isFastMaOverStr = + (cXConditions.x3maFastBuffer[cIDX] > cXConditions.strBuffer[cIDX]); + + // + bool isFastMaUnderStr = + (cXConditions.x3maFastBuffer[cIDX] < cXConditions.strBuffer[cIDX]); + + // + bool isFastMaBullishReject = + cBar.low < pBar.low && + cBar.low > cXConditions.strBuffer[cIDX] && + cBar.low < cXConditions.x3maFastBuffer[cIDX] && + cBar.GetDown() > cXConditions.x3maFastBuffer[cIDX]; + + // + bool isFastMaBearishReject = + cBar.high > pBar.high && + cBar.high < cXConditions.strBuffer[cIDX] && + cBar.high > cXConditions.x3maFastBuffer[cIDX] && + cBar.GetUp() < cXConditions.x3maFastBuffer[cIDX]; + + // + // Summarize Conditions ... + + // + isBullish = + // + // false + isStrIsBullish && + isFastMaOverStr && + // isDeltaIsBullish && + // isVolumeIsBullish && + isFastMaBullishReject + // + // + ; + + // + isBearish = + // + // false + isStrIsBearish && + isFastMaUnderStr && + // isDeltaIsBearish && + // isVolumeIsBearish && + isFastMaBearishReject + // + ; + + // + // Filling Requirements ... + result = + isBullish || + isBearish; + if (result) + { + // + dir = + isBullish + ? X_DIRECTION_BULLISH + : X_DIRECTION_BEARISH; + + // + box.dir = dir; + box.from = pPBar.time; + box.to = TimeCurrent(); + box.symbol = cBar.symbol; + box.period = cBar.period; + + // + double points = GetPoints(box.symbol); + + // + double pivot = cXConditions.strBuffer[cIDX]; + // isBullish + // ? cBar.low - (points * 5) + // : cBar.high + (points * 5); + + // + double point = GetEntry( + cBar.symbol, + dir // + ); + + // + box.upper = + isBullish + ? point + : pivot; + + // + box.lower = + isBullish + ? pivot + : point; + + // + bool drawBoxes = true; + if (drawBoxes) + { + // + } } // diff --git a/X121SMCEA/Signals/x-121.smc.xich.signal.class.mq5 b/X121SMCEA/Signals/x-121.smc.xind.signal.class.mq5 similarity index 96% rename from X121SMCEA/Signals/x-121.smc.xich.signal.class.mq5 rename to X121SMCEA/Signals/x-121.smc.xind.signal.class.mq5 index 55ea9973..305b3e0a 100644 --- a/X121SMCEA/Signals/x-121.smc.xich.signal.class.mq5 +++ b/X121SMCEA/Signals/x-121.smc.xind.signal.class.mq5 @@ -24,11 +24,11 @@ #include "../Classes/x-121.smc.market.cycle.helper.class.mq5" #include "../Libraries/x-121.smc.guard.lib.mq5" #include "../Libraries/x-121.smc.lib.mq5" -#include "./x-121.smc.xich.signal.lib.mq5" +#include "./x-121.smc.xind.signal.lib.mq5" // // Definition ... -class XCX121SMCXICHSignalDetector : public XCBase +class XCX121SMCXINDSignalDetector : public XCBase { // public: @@ -36,12 +36,12 @@ class XCX121SMCXICHSignalDetector : public XCBase // Props ... bool useGuards; double rfRewar; - X121SMCStrategyXICHSignalConditions mConditions; - X121SMCStrategyXICHSignalConditions mConditionsCollection[]; + X121SMCStrategyXINDSignalConditions mConditions; + X121SMCStrategyXINDSignalConditions mConditionsCollection[]; // // Constructor(s) ... - XCX121SMCXICHSignalDetector( + XCX121SMCXINDSignalDetector( string _symbol, ENUM_TIMEFRAMES _period // ) @@ -54,7 +54,7 @@ class XCX121SMCXICHSignalDetector : public XCBase // // Deconstructor ... - ~XCX121SMCXICHSignalDetector() + ~XCX121SMCXINDSignalDetector() { DeInit(); } @@ -199,7 +199,7 @@ class XCX121SMCXICHSignalDetector : public XCBase XBoxZone signalBox; bool hasSignalBox = false; ENUM_X_DIRECTION signalBoxDir = X_DIRECTION_NONE; - ENUM_X121SMC_XICH_PROVIDERS signalProvider = X121SMC_XICH_PROVIDER_NONE; + ENUM_X121SMC_XIND_PROVIDERS signalProvider = X121SMC_XIND_PROVIDER_NONE; // // @@ -208,8 +208,8 @@ class XCX121SMCXICHSignalDetector : public XCBase // // Provider XTkKumo ... X121SMCStrategyConditionParser cParser; - hasSignalBox = cParser.HasXICHConditions( - X_CYCLE_ANALYSE, + hasSignalBox = cParser.HasXSTRConditions( + X_CYCLE_DECISION, signalBox, signalBoxDir, provider, @@ -217,7 +217,7 @@ class XCX121SMCXICHSignalDetector : public XCBase ); if (hasSignalBox) { - signalProvider = X121SMC_XICH_PROVIDER_XTKKUMO; + signalProvider = X121SMC_XIND_PROVIDER_XSTR; } // @@ -298,20 +298,17 @@ class XCX121SMCXICHSignalDetector : public XCBase // // Select and Provide SL Based on ... double iAtr = 0; - if (signalProvider == X121SMC_XICH_PROVIDER_XTKKUMO) + if (signalProvider == X121SMC_XIND_PROVIDER_XSTR) { // iAtr = provider.decisionXConditions.atrBuffer[1]; - iAtr *= 0; + iAtr *= 0.5; // // Fix rf Reward ... - rfRewar = 1.5; + rfRewar = 2; } - // - Print("XICH ", ToString(signalBoxDir), " Signal Provided: ", EnumToString(signalProvider)); - // // Select Condition SL ... @@ -411,7 +408,7 @@ class XCX121SMCXICHSignalDetector : public XCBase // Detect Trigger Conditions ... bool DetectSignalTrigger( // - X121SMCStrategyXICHSignalConditions &conditions, + X121SMCStrategyXINDSignalConditions &conditions, // X121SMCStrategySignalProviderData &provider, // @@ -534,7 +531,7 @@ class XCX121SMCXICHSignalDetector : public XCBase // // Set Provider for Common Guards ... - string signalProvider = ToString(X121SMC_XICH_PROVIDER_XTKKUMO); + string signalProvider = ToString(X121SMC_XIND_PROVIDER_XTKKUMO); // int zIndex = 0; @@ -1077,7 +1074,7 @@ class XCX121SMCXICHSignalDetector : public XCBase { // // Copy Original Items ... - X121SMCStrategyXICHSignalConditions tmpItems[]; + X121SMCStrategyXINDSignalConditions tmpItems[]; Copy( mConditionsCollection, tmpItems // @@ -1091,7 +1088,7 @@ class XCX121SMCXICHSignalDetector : public XCBase for (int i = 0; i < count; i++) { // - X121SMCStrategyXICHSignalConditions iItem = tmpItems[i]; + X121SMCStrategyXINDSignalConditions iItem = tmpItems[i]; // bool canRemove = mConditions.dir == iItem.dir && diff --git a/X121SMCEA/Signals/x-121.smc.xich.signal.lib.mq5 b/X121SMCEA/Signals/x-121.smc.xind.signal.lib.mq5 similarity index 91% rename from X121SMCEA/Signals/x-121.smc.xich.signal.lib.mq5 rename to X121SMCEA/Signals/x-121.smc.xind.signal.lib.mq5 index a4e8931a..caf3fd18 100644 --- a/X121SMCEA/Signals/x-121.smc.xich.signal.lib.mq5 +++ b/X121SMCEA/Signals/x-121.smc.xind.signal.lib.mq5 @@ -28,10 +28,11 @@ // // Provided Signals Enumeration ... -enum ENUM_X121SMC_XICH_PROVIDERS +enum ENUM_X121SMC_XIND_PROVIDERS { - X121SMC_XICH_PROVIDER_NONE, - X121SMC_XICH_PROVIDER_XTKKUMO, + X121SMC_XIND_PROVIDER_NONE, + X121SMC_XIND_PROVIDER_XSTR, + X121SMC_XIND_PROVIDER_XTKKUMO, }; // @@ -39,7 +40,7 @@ enum ENUM_X121SMC_XICH_PROVIDERS // // XICH Signal Conditions ... -struct X121SMCStrategyXICHSignalConditions +struct X121SMCStrategyXINDSignalConditions { // // Props ... @@ -70,11 +71,11 @@ struct X121SMCStrategyXICHSignalConditions XBoxZone signalBox; // - ENUM_X121SMC_XICH_PROVIDERS provider; + ENUM_X121SMC_XIND_PROVIDERS provider; // // Constructor ... - X121SMCStrategyXICHSignalConditions() + X121SMCStrategyXINDSignalConditions() { Clean(); } @@ -198,7 +199,7 @@ struct X121SMCStrategyXICHSignalConditions signalBox.Clean(); // - provider = X121SMC_XICH_PROVIDER_NONE; + provider = X121SMC_XIND_PROVIDER_NONE; } // diff --git a/X121SMCEA/Signals/x-121.smc.xwz.signal.lib.mq5 b/X121SMCEA/Signals/x-121.smc.xwz.signal.lib.mq5 index b4e877cc..8be35a67 100644 --- a/X121SMCEA/Signals/x-121.smc.xwz.signal.lib.mq5 +++ b/X121SMCEA/Signals/x-121.smc.xwz.signal.lib.mq5 @@ -2185,7 +2185,7 @@ struct X121SMCStrategyXWZWorkingZone } // - cPraser.Clean(); + cParser.Clean(); // return result; diff --git a/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 b/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 index cdd3d7bb..c6a38137 100644 --- a/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 +++ b/X121SMCEA/Strategy/x-121.smc.strategy.class.mq5 @@ -27,7 +27,7 @@ #include "../Classes/x-121.smc.market.cycle.helper.class.mq5" // -#include "../Signals/x-121.smc.xich.signal.class.mq5" +#include "../Signals/x-121.smc.xind.signal.class.mq5" #include "../Signals/x-121.smc.xwz.signal.class.mq5" // @@ -43,11 +43,11 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // Props ... bool useXWZSignal; - bool useXICHSignal; + bool useXINDSignal; bool useXWZSignalGuard; - bool useXICHSignalGuard; + bool useXINDSignalGuard; XCX121SMCXWZSignalDetector *mXWZSignalDetector; - XCX121SMCXICHSignalDetector *mXICHSignalDetector; + XCX121SMCXINDSignalDetector *mXINDSignalDetector; X121SMCStrategySignalProviderData cycleProvider; // @@ -70,7 +70,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy ); // - mXICHSignalDetector = new XCX121SMCXICHSignalDetector( + mXINDSignalDetector = new XCX121SMCXINDSignalDetector( _symbol, _period // ); @@ -131,7 +131,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // ZeroMemory(mXWZSignalDetector); - ZeroMemory(mXICHSignalDetector); + ZeroMemory(mXINDSignalDetector); // cycleProvider.Destroy(); @@ -214,7 +214,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // bool hasXWZSignal = false; - bool hasXICHSignal = false; + bool hasXINDSignal = false; // X121SMCStrategyXWZSignalConditions mXWZConditions; @@ -229,15 +229,15 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy } // - X121SMCStrategyXICHSignalConditions mXICHConditions; - if (useXICHSignal && !hasSignal) + X121SMCStrategyXINDSignalConditions mXICHConditions; + if (useXINDSignal && !hasSignal) { // - hasXICHSignal = DetectXICHSignal( + hasXINDSignal = DetectXINDSignal( conditions, mXICHConditions // ); - hasSignal = hasXICHSignal; + hasSignal = hasXINDSignal; } // @@ -481,12 +481,12 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // XICH Guard Detection ... - if (useXICHSignal && - useXICHSignalGuard) + if (useXINDSignal && + useXINDSignalGuard) { // X121SMCGuard xichGuards[]; - bool hasGuard = mXICHSignalDetector.DetectGuards( + bool hasGuard = mXINDSignalDetector.DetectGuards( xichGuards, positions, cycleProvider // @@ -730,9 +730,9 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // XICH Signal ... - bool DetectXICHSignal( + bool DetectXINDSignal( X121SMCStrategyConditions &conditions, - X121SMCStrategyXICHSignalConditions &xICHConditions // + X121SMCStrategyXINDSignalConditions &xICHConditions // ) { // @@ -761,35 +761,35 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // Detect Setup Conditions ... - datetime setupTime = mXICHSignalDetector.mConditions.setupTime; - bool isSetuped = mXICHSignalDetector.mConditions.IsSetuped(); - ENUM_X_DIRECTION setupDir = mXICHSignalDetector.mConditions.dir; + datetime setupTime = mXINDSignalDetector.mConditions.setupTime; + bool isSetuped = mXINDSignalDetector.mConditions.IsSetuped(); + ENUM_X_DIRECTION setupDir = mXINDSignalDetector.mConditions.dir; if (!isSetuped) { // // Detect Signal Setup ... - isSetuped = mXICHSignalDetector.DetectSignalSetup( + isSetuped = mXINDSignalDetector.DetectSignalSetup( cycleProvider // ); // - setupDir = mXICHSignalDetector.mConditions.dir; - setupTime = mXICHSignalDetector.mConditions.setupTime; + setupDir = mXINDSignalDetector.mConditions.dir; + setupTime = mXINDSignalDetector.mConditions.setupTime; // if (isSetuped) { // - int items = mXICHSignalDetector + int items = mXINDSignalDetector .AddConditionsIfNotExists(); // - mXICHSignalDetector.mConditions.Clean(); + mXINDSignalDetector.mConditions.Clean(); } } // - int conditionsCount = ArraySize(mXICHSignalDetector.mConditionsCollection); + int conditionsCount = ArraySize(mXINDSignalDetector.mConditionsCollection); result = IsValidSize(conditionsCount); if (!result) { @@ -799,12 +799,12 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // Looking For Conditions ... int selectedIndex = 0; - X121SMCStrategyXICHSignalConditions mTmpConditions[]; + X121SMCStrategyXINDSignalConditions mTmpConditions[]; Copy( - mXICHSignalDetector.mConditionsCollection, + mXINDSignalDetector.mConditionsCollection, mTmpConditions // ); - X121SMCStrategyXICHSignalConditions mConditions; + X121SMCStrategyXINDSignalConditions mConditions; for (int i = 0; i < conditionsCount; i++) { // @@ -815,7 +815,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy { // // Detect Signal Trigger ... - canTrigger = mXICHSignalDetector + canTrigger = mXINDSignalDetector .DetectSignalTrigger( mTmpConditions[i], cycleProvider // @@ -831,7 +831,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy { // ArrayRemove( - mXICHSignalDetector.mConditionsCollection, + mXINDSignalDetector.mConditionsCollection, i, 1 // ); @@ -864,7 +864,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // Remove Selected Index from Main Collection ... ArrayRemove( - mXICHSignalDetector.mConditionsCollection, + mXINDSignalDetector.mConditionsCollection, selectedIndex, 1 // ); @@ -921,8 +921,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy useXWZSignalGuard = false; // - useXICHSignal = true; - useXICHSignalGuard = false; + useXINDSignal = true; + useXINDSignalGuard = false; // string symbol = GetSymbol(); @@ -1034,7 +1034,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy x121Inputs.xpvInputs.showVales = showAll || true; x121Inputs.xpvInputs.showSupports = showAll || false; x121Inputs.xpvInputs.showResistances = showAll || false; - x121Inputs.xpvInputs.showGoldenZones = showAll || false; + x121Inputs.xpvInputs.showGoldenZones = showAll || true; // // XHK ... @@ -1090,8 +1090,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy // // XICH ... - x121Inputs.xichInputs.showTenkanSen = showAll || true; - x121Inputs.xichInputs.showKijunSen = showAll || true; + x121Inputs.xichInputs.showTenkanSen = showAll || false; + x121Inputs.xichInputs.showKijunSen = showAll || false; x121Inputs.xichInputs.showChikouSpan = showAll || false; x121Inputs.xichInputs.showSenkouSpanA = showAll || false; x121Inputs.xichInputs.showSenkouSpanB = showAll || false;