This commit is contained in:
2025-03-30 02:46:12 +03:30
parent ac95a26e24
commit eaddb8aa72
5 changed files with 375 additions and 80 deletions
@@ -2661,7 +2661,7 @@ struct X121SMCStrategyConditionParser
// //
// Rejected Boxes ... // Rejected Boxes ...
bool HasRejectedBocXConditions( bool HasRejectedBoxConditions(
ENUM_X_CYCLES cycle, ENUM_X_CYCLES cycle,
XSignalBox &box, XSignalBox &box,
ENUM_X_DIRECTION &dir, ENUM_X_DIRECTION &dir,
@@ -2952,7 +2952,7 @@ struct X121SMCStrategyConditionParser
// //
// Activated Boxes ... // Activated Boxes ...
bool HasActivatedBocXConditions( bool HasActivatedBoxConditions(
ENUM_X_CYCLES cycle, ENUM_X_CYCLES cycle,
XSignalBox &box, XSignalBox &box,
ENUM_X_DIRECTION &dir, ENUM_X_DIRECTION &dir,
@@ -3267,7 +3267,7 @@ struct X121SMCStrategyConditionParser
// //
// Breaked Boxes ... // Breaked Boxes ...
bool HasBreakedBocXConditions( bool HasBreakedBoxConditions(
ENUM_X_CYCLES cycle, ENUM_X_CYCLES cycle,
XSignalBox &box, XSignalBox &box,
ENUM_X_DIRECTION &dir, ENUM_X_DIRECTION &dir,
@@ -4501,16 +4501,16 @@ struct X121SMCStrategyConditionParser
// //
bool isBullishTKZone = bool isBullishTKZone =
isIchIsBullish && isIchIsBullish &&
cBar.low < cXConditions.tenkanSenBuffer[cIndex] && cBar.low < cXConditions.tenkanSenBuffer[cIDX] &&
cBar.low > cXConditions.kijunSenBuffer[cIndex] && cBar.low > cXConditions.kijunSenBuffer[cIDX] &&
cBar.low < pBar.low && cBar.low < pBar.low &&
zBar.open > cBar.low; zBar.open > cBar.low;
// //
bool isBearishTKZone = bool isBearishTKZone =
isIchIsBearish && isIchIsBearish &&
cBar.high > cXConditions.tenkanSenBuffer[cIndex] && cBar.high > cXConditions.tenkanSenBuffer[cIDX] &&
cBar.high < cXConditions.kijunSenBuffer[cIndex] && cBar.high < cXConditions.kijunSenBuffer[cIDX] &&
cBar.high > pBar.high && cBar.high > pBar.high &&
zBar.open < cBar.high; zBar.open < cBar.high;
@@ -4563,14 +4563,17 @@ struct X121SMCStrategyConditionParser
box.period = cBar.period; box.period = cBar.period;
// //
pivot = isBullish double points = GetPoints(box.symbol);
? cBar.low - (points * 5)
: cBar.high + (points * 5);
// //
point = GetEntry( double pivot = isBullish
? cBar.low - (points * 5)
: cBar.high + (points * 5);
//
double point = GetEntry(
cBar.symbol, 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 ..."); return result;
result = false; }
isBearish = false; Parse(cXConditions);
isBullish = false;
//
// 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)
{
//
}
} }
// //
@@ -24,11 +24,11 @@
#include "../Classes/x-121.smc.market.cycle.helper.class.mq5" #include "../Classes/x-121.smc.market.cycle.helper.class.mq5"
#include "../Libraries/x-121.smc.guard.lib.mq5" #include "../Libraries/x-121.smc.guard.lib.mq5"
#include "../Libraries/x-121.smc.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 ... // Definition ...
class XCX121SMCXICHSignalDetector : public XCBase class XCX121SMCXINDSignalDetector : public XCBase
{ {
// //
public: public:
@@ -36,12 +36,12 @@ class XCX121SMCXICHSignalDetector : public XCBase
// Props ... // Props ...
bool useGuards; bool useGuards;
double rfRewar; double rfRewar;
X121SMCStrategyXICHSignalConditions mConditions; X121SMCStrategyXINDSignalConditions mConditions;
X121SMCStrategyXICHSignalConditions mConditionsCollection[]; X121SMCStrategyXINDSignalConditions mConditionsCollection[];
// //
// Constructor(s) ... // Constructor(s) ...
XCX121SMCXICHSignalDetector( XCX121SMCXINDSignalDetector(
string _symbol, string _symbol,
ENUM_TIMEFRAMES _period // ENUM_TIMEFRAMES _period //
) )
@@ -54,7 +54,7 @@ class XCX121SMCXICHSignalDetector : public XCBase
// //
// Deconstructor ... // Deconstructor ...
~XCX121SMCXICHSignalDetector() ~XCX121SMCXINDSignalDetector()
{ {
DeInit(); DeInit();
} }
@@ -199,7 +199,7 @@ class XCX121SMCXICHSignalDetector : public XCBase
XBoxZone signalBox; XBoxZone signalBox;
bool hasSignalBox = false; bool hasSignalBox = false;
ENUM_X_DIRECTION signalBoxDir = X_DIRECTION_NONE; 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 ... // Provider XTkKumo ...
X121SMCStrategyConditionParser cParser; X121SMCStrategyConditionParser cParser;
hasSignalBox = cParser.HasXICHConditions( hasSignalBox = cParser.HasXSTRConditions(
X_CYCLE_ANALYSE, X_CYCLE_DECISION,
signalBox, signalBox,
signalBoxDir, signalBoxDir,
provider, provider,
@@ -217,7 +217,7 @@ class XCX121SMCXICHSignalDetector : public XCBase
); );
if (hasSignalBox) 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 ... // Select and Provide SL Based on ...
double iAtr = 0; double iAtr = 0;
if (signalProvider == X121SMC_XICH_PROVIDER_XTKKUMO) if (signalProvider == X121SMC_XIND_PROVIDER_XSTR)
{ {
// //
iAtr = provider.decisionXConditions.atrBuffer[1]; iAtr = provider.decisionXConditions.atrBuffer[1];
iAtr *= 0; iAtr *= 0.5;
// //
// Fix rf Reward ... // Fix rf Reward ...
rfRewar = 1.5; rfRewar = 2;
} }
//
Print("XICH ", ToString(signalBoxDir), " Signal Provided: ", EnumToString(signalProvider));
// //
// Select Condition SL ... // Select Condition SL ...
@@ -411,7 +408,7 @@ class XCX121SMCXICHSignalDetector : public XCBase
// Detect Trigger Conditions ... // Detect Trigger Conditions ...
bool DetectSignalTrigger( bool DetectSignalTrigger(
// //
X121SMCStrategyXICHSignalConditions &conditions, X121SMCStrategyXINDSignalConditions &conditions,
// //
X121SMCStrategySignalProviderData &provider, X121SMCStrategySignalProviderData &provider,
// //
@@ -534,7 +531,7 @@ class XCX121SMCXICHSignalDetector : public XCBase
// //
// Set Provider for Common Guards ... // Set Provider for Common Guards ...
string signalProvider = ToString(X121SMC_XICH_PROVIDER_XTKKUMO); string signalProvider = ToString(X121SMC_XIND_PROVIDER_XTKKUMO);
// //
int zIndex = 0; int zIndex = 0;
@@ -1077,7 +1074,7 @@ class XCX121SMCXICHSignalDetector : public XCBase
{ {
// //
// Copy Original Items ... // Copy Original Items ...
X121SMCStrategyXICHSignalConditions tmpItems[]; X121SMCStrategyXINDSignalConditions tmpItems[];
Copy( Copy(
mConditionsCollection, mConditionsCollection,
tmpItems // tmpItems //
@@ -1091,7 +1088,7 @@ class XCX121SMCXICHSignalDetector : public XCBase
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
// //
X121SMCStrategyXICHSignalConditions iItem = tmpItems[i]; X121SMCStrategyXINDSignalConditions iItem = tmpItems[i];
// //
bool canRemove = mConditions.dir == iItem.dir && bool canRemove = mConditions.dir == iItem.dir &&
@@ -28,10 +28,11 @@
// //
// Provided Signals Enumeration ... // Provided Signals Enumeration ...
enum ENUM_X121SMC_XICH_PROVIDERS enum ENUM_X121SMC_XIND_PROVIDERS
{ {
X121SMC_XICH_PROVIDER_NONE, X121SMC_XIND_PROVIDER_NONE,
X121SMC_XICH_PROVIDER_XTKKUMO, X121SMC_XIND_PROVIDER_XSTR,
X121SMC_XIND_PROVIDER_XTKKUMO,
}; };
// //
@@ -39,7 +40,7 @@ enum ENUM_X121SMC_XICH_PROVIDERS
// //
// XICH Signal Conditions ... // XICH Signal Conditions ...
struct X121SMCStrategyXICHSignalConditions struct X121SMCStrategyXINDSignalConditions
{ {
// //
// Props ... // Props ...
@@ -70,11 +71,11 @@ struct X121SMCStrategyXICHSignalConditions
XBoxZone signalBox; XBoxZone signalBox;
// //
ENUM_X121SMC_XICH_PROVIDERS provider; ENUM_X121SMC_XIND_PROVIDERS provider;
// //
// Constructor ... // Constructor ...
X121SMCStrategyXICHSignalConditions() X121SMCStrategyXINDSignalConditions()
{ {
Clean(); Clean();
} }
@@ -198,7 +199,7 @@ struct X121SMCStrategyXICHSignalConditions
signalBox.Clean(); signalBox.Clean();
// //
provider = X121SMC_XICH_PROVIDER_NONE; provider = X121SMC_XIND_PROVIDER_NONE;
} }
// //
@@ -2185,7 +2185,7 @@ struct X121SMCStrategyXWZWorkingZone
} }
// //
cPraser.Clean(); cParser.Clean();
// //
return result; return result;
+36 -36
View File
@@ -27,7 +27,7 @@
#include "../Classes/x-121.smc.market.cycle.helper.class.mq5" #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" #include "../Signals/x-121.smc.xwz.signal.class.mq5"
// //
@@ -43,11 +43,11 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Props ... // Props ...
bool useXWZSignal; bool useXWZSignal;
bool useXICHSignal; bool useXINDSignal;
bool useXWZSignalGuard; bool useXWZSignalGuard;
bool useXICHSignalGuard; bool useXINDSignalGuard;
XCX121SMCXWZSignalDetector *mXWZSignalDetector; XCX121SMCXWZSignalDetector *mXWZSignalDetector;
XCX121SMCXICHSignalDetector *mXICHSignalDetector; XCX121SMCXINDSignalDetector *mXINDSignalDetector;
X121SMCStrategySignalProviderData cycleProvider; X121SMCStrategySignalProviderData cycleProvider;
// //
@@ -70,7 +70,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
); );
// //
mXICHSignalDetector = new XCX121SMCXICHSignalDetector( mXINDSignalDetector = new XCX121SMCXINDSignalDetector(
_symbol, _symbol,
_period // _period //
); );
@@ -131,7 +131,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
ZeroMemory(mXWZSignalDetector); ZeroMemory(mXWZSignalDetector);
ZeroMemory(mXICHSignalDetector); ZeroMemory(mXINDSignalDetector);
// //
cycleProvider.Destroy(); cycleProvider.Destroy();
@@ -214,7 +214,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
bool hasXWZSignal = false; bool hasXWZSignal = false;
bool hasXICHSignal = false; bool hasXINDSignal = false;
// //
X121SMCStrategyXWZSignalConditions mXWZConditions; X121SMCStrategyXWZSignalConditions mXWZConditions;
@@ -229,15 +229,15 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
} }
// //
X121SMCStrategyXICHSignalConditions mXICHConditions; X121SMCStrategyXINDSignalConditions mXICHConditions;
if (useXICHSignal && !hasSignal) if (useXINDSignal && !hasSignal)
{ {
// //
hasXICHSignal = DetectXICHSignal( hasXINDSignal = DetectXINDSignal(
conditions, conditions,
mXICHConditions // mXICHConditions //
); );
hasSignal = hasXICHSignal; hasSignal = hasXINDSignal;
} }
// //
@@ -481,12 +481,12 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// XICH Guard Detection ... // XICH Guard Detection ...
if (useXICHSignal && if (useXINDSignal &&
useXICHSignalGuard) useXINDSignalGuard)
{ {
// //
X121SMCGuard xichGuards[]; X121SMCGuard xichGuards[];
bool hasGuard = mXICHSignalDetector.DetectGuards( bool hasGuard = mXINDSignalDetector.DetectGuards(
xichGuards, xichGuards,
positions, positions,
cycleProvider // cycleProvider //
@@ -730,9 +730,9 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// XICH Signal ... // XICH Signal ...
bool DetectXICHSignal( bool DetectXINDSignal(
X121SMCStrategyConditions &conditions, X121SMCStrategyConditions &conditions,
X121SMCStrategyXICHSignalConditions &xICHConditions // X121SMCStrategyXINDSignalConditions &xICHConditions //
) )
{ {
// //
@@ -761,35 +761,35 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Detect Setup Conditions ... // Detect Setup Conditions ...
datetime setupTime = mXICHSignalDetector.mConditions.setupTime; datetime setupTime = mXINDSignalDetector.mConditions.setupTime;
bool isSetuped = mXICHSignalDetector.mConditions.IsSetuped(); bool isSetuped = mXINDSignalDetector.mConditions.IsSetuped();
ENUM_X_DIRECTION setupDir = mXICHSignalDetector.mConditions.dir; ENUM_X_DIRECTION setupDir = mXINDSignalDetector.mConditions.dir;
if (!isSetuped) if (!isSetuped)
{ {
// //
// Detect Signal Setup ... // Detect Signal Setup ...
isSetuped = mXICHSignalDetector.DetectSignalSetup( isSetuped = mXINDSignalDetector.DetectSignalSetup(
cycleProvider // cycleProvider //
); );
// //
setupDir = mXICHSignalDetector.mConditions.dir; setupDir = mXINDSignalDetector.mConditions.dir;
setupTime = mXICHSignalDetector.mConditions.setupTime; setupTime = mXINDSignalDetector.mConditions.setupTime;
// //
if (isSetuped) if (isSetuped)
{ {
// //
int items = mXICHSignalDetector int items = mXINDSignalDetector
.AddConditionsIfNotExists(); .AddConditionsIfNotExists();
// //
mXICHSignalDetector.mConditions.Clean(); mXINDSignalDetector.mConditions.Clean();
} }
} }
// //
int conditionsCount = ArraySize(mXICHSignalDetector.mConditionsCollection); int conditionsCount = ArraySize(mXINDSignalDetector.mConditionsCollection);
result = IsValidSize(conditionsCount); result = IsValidSize(conditionsCount);
if (!result) if (!result)
{ {
@@ -799,12 +799,12 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Looking For Conditions ... // Looking For Conditions ...
int selectedIndex = 0; int selectedIndex = 0;
X121SMCStrategyXICHSignalConditions mTmpConditions[]; X121SMCStrategyXINDSignalConditions mTmpConditions[];
Copy( Copy(
mXICHSignalDetector.mConditionsCollection, mXINDSignalDetector.mConditionsCollection,
mTmpConditions // mTmpConditions //
); );
X121SMCStrategyXICHSignalConditions mConditions; X121SMCStrategyXINDSignalConditions mConditions;
for (int i = 0; i < conditionsCount; i++) for (int i = 0; i < conditionsCount; i++)
{ {
// //
@@ -815,7 +815,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
{ {
// //
// Detect Signal Trigger ... // Detect Signal Trigger ...
canTrigger = mXICHSignalDetector canTrigger = mXINDSignalDetector
.DetectSignalTrigger( .DetectSignalTrigger(
mTmpConditions[i], mTmpConditions[i],
cycleProvider // cycleProvider //
@@ -831,7 +831,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
{ {
// //
ArrayRemove( ArrayRemove(
mXICHSignalDetector.mConditionsCollection, mXINDSignalDetector.mConditionsCollection,
i, i,
1 // 1 //
); );
@@ -864,7 +864,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Remove Selected Index from Main Collection ... // Remove Selected Index from Main Collection ...
ArrayRemove( ArrayRemove(
mXICHSignalDetector.mConditionsCollection, mXINDSignalDetector.mConditionsCollection,
selectedIndex, selectedIndex,
1 // 1 //
); );
@@ -921,8 +921,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
useXWZSignalGuard = false; useXWZSignalGuard = false;
// //
useXICHSignal = true; useXINDSignal = true;
useXICHSignalGuard = false; useXINDSignalGuard = false;
// //
string symbol = GetSymbol(); string symbol = GetSymbol();
@@ -1034,7 +1034,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
x121Inputs.xpvInputs.showVales = showAll || true; x121Inputs.xpvInputs.showVales = showAll || true;
x121Inputs.xpvInputs.showSupports = showAll || false; x121Inputs.xpvInputs.showSupports = showAll || false;
x121Inputs.xpvInputs.showResistances = showAll || false; x121Inputs.xpvInputs.showResistances = showAll || false;
x121Inputs.xpvInputs.showGoldenZones = showAll || false; x121Inputs.xpvInputs.showGoldenZones = showAll || true;
// //
// XHK ... // XHK ...
@@ -1090,8 +1090,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// XICH ... // XICH ...
x121Inputs.xichInputs.showTenkanSen = showAll || true; x121Inputs.xichInputs.showTenkanSen = showAll || false;
x121Inputs.xichInputs.showKijunSen = showAll || true; x121Inputs.xichInputs.showKijunSen = showAll || false;
x121Inputs.xichInputs.showChikouSpan = showAll || false; x121Inputs.xichInputs.showChikouSpan = showAll || false;
x121Inputs.xichInputs.showSenkouSpanA = showAll || false; x121Inputs.xichInputs.showSenkouSpanA = showAll || false;
x121Inputs.xichInputs.showSenkouSpanB = showAll || false; x121Inputs.xichInputs.showSenkouSpanB = showAll || false;