add support back indicators usage ...

This commit is contained in:
2025-02-09 21:29:21 +03:30
parent e53ed9a5c0
commit c79ee42d7c
13 changed files with 1787 additions and 1720 deletions
@@ -142,6 +142,10 @@ class XC121SMCCycleHelper : public XCBase
return result;
}
//
mSymbol = symbol;
mPeriod = period;
//
// X121 ...
mX121Helper = new XCX121Helper();
@@ -199,14 +203,7 @@ class XC121SMCCycleHelper : public XCBase
*/
string GetSymbol()
{
//
string result = NULL;
//
result = mX121Helper.GetSymbol();
//
return result;
return mSymbol;
}
/**
@@ -216,14 +213,7 @@ class XC121SMCCycleHelper : public XCBase
*/
ENUM_TIMEFRAMES GetPeriod()
{
//
ENUM_TIMEFRAMES result = NULL;
//
result = mX121Helper.GetPeriod();
//
return result;
return mPeriod;
}
/**
@@ -433,8 +423,8 @@ class XC121SMCCycleHelper : public XCBase
mPOIDetector.GetState(conditions.state);
//
conditions.symbol = conditions.x121Conditions.symbol;
conditions.period = conditions.x121Conditions.period;
conditions.symbol = GetSymbol();
conditions.period = GetPeriod();
conditions.time = TimeCurrent();
//
@@ -465,6 +455,8 @@ class XC121SMCCycleHelper : public XCBase
private:
//
// Props ...
string mSymbol;
ENUM_TIMEFRAMES mPeriod;
//
// Actions ...
+23 -21
View File
@@ -22,6 +22,8 @@
//
// Imports ...
#include "../../Classes/x-saherelm.x-expert.class.mq5"
#include "../../Helpers/x-saherelm.x121.xatr.helper.mq5"
#include "../../Helpers/x-saherelm.x121.xcc.helper.mq5"
#include "../Classes/x-121.smc.x-tradehandler.class.mq5"
#include "../Libraries/x-121.smc.lib.mq5"
#include "../Strategy/x-121.smc.strategy.class.mq5"
@@ -38,6 +40,8 @@ class XC121SMCExpert : public XCBaseExpert
//
public:
//
XCX121XCCHelper *xccHelper;
XCX121XCTHelper *xctHelper;
//
// Signal Event Listener ...
@@ -1157,20 +1161,19 @@ class XC121SMCExpert : public XCBaseExpert
bool InitEA() override
{
//
bool result = false;
bool result = true;
//
// Initialize Indicator Helpers ...
//
// Bar Timer ...
XCTInputs ctInputs;
ctInputs.Default(); // Default Configurations ...
mCTHelper = new XCXCTHelper();
result = mCTHelper.Init(
GetSymbol(),
GetPeriod(),
ctInputs //
X121XCCInputs xccInputs;
xccInputs.Default();
xccHelper = new XCX121XCCHelper();
result = xccHelper.Init(
_Symbol,
_Period,
xccInputs //
);
if (!result)
{
@@ -1178,14 +1181,13 @@ class XC121SMCExpert : public XCBaseExpert
}
//
// Bar Styles ...
XCCInputs ccInputs;
ccInputs.Default(); // Default Configurations ...
mCCHelper = new XCXCCHelper();
result = mCCHelper.Init(
GetSymbol(),
GetPeriod(),
ccInputs //
X121XCTInputs xctInputs;
xctInputs.Default();
xctHelper = new XCX121XCTHelper();
result = xctHelper.Init(
_Symbol,
_Period,
xctInputs //
);
if (!result)
{
@@ -1334,13 +1336,13 @@ class XC121SMCExpert : public XCBaseExpert
void DestroyEA() override
{
//
ZeroMemory(mCTHelper);
ZeroMemory(mCCHelper);
ZeroMemory(xccHelper);
ZeroMemory(xctHelper);
ZeroMemory(mTradeHandler);
//
delete mCTHelper;
delete mCCHelper;
delet xccHelper;
delet xctHelper;
delete mTradeHandler;
//
+25 -25
View File
@@ -33,7 +33,7 @@ bool DetectX121SMCGuards(
// XC121SMCCycleHelper *triggerCycleHelper,
XC121SMCCycleHelper *decisionCycleHelper,
XC121SMCCycleHelper *analyseCycleHelper,
XC121SMCCycleHelper *verificationCycleHelper,
// XC121SMCCycleHelper *verificationCycleHelper,
XC121SMCCycleHelper *consolidationCycleHelper,
XC121SMCCycleHelper *visionCycleHelper,
//
@@ -273,20 +273,20 @@ bool DetectX121SMCGuards(
//
// Verification ...
ENUM_XPOI_EVENTS verificationPoiEvents[];
ENUM_X_CYCLE_EVENTS verificationCycleEvents[];
X121SMCCycleConditions verificationConditions;
result = verificationCycleHelper.GetConditions(
verificationCycleEvents,
verificationPoiEvents,
verificationConditions,
zIndex,
loopback //
);
if (!result)
{
return result;
}
// ENUM_XPOI_EVENTS verificationPoiEvents[];
// ENUM_X_CYCLE_EVENTS verificationCycleEvents[];
// X121SMCCycleConditions verificationConditions;
// result = verificationCycleHelper.GetConditions(
// verificationCycleEvents,
// verificationPoiEvents,
// verificationConditions,
// zIndex,
// loopback //
// );
// if (!result)
// {
// return result;
// }
//
// Consolidation ...
@@ -327,18 +327,18 @@ bool DetectX121SMCGuards(
// XPOIState triggerState = triggerConditions.state;
XPOIState decisionState = decisionConditions.state;
XPOIState analyseState = analyseConditions.state;
XPOIState verificationState = verificationConditions.state;
// XPOIState verificationState = verificationConditions.state;
XPOIState consolidationState = consolidationConditions.state;
XPOIState visionState = visionConditions.state;
//
// Cycle X121Conditions ...
// X121Conditions triggerXConditions = triggerConditions.x121Conditions;
X121Conditions decisionXConditions = decisionConditions.x121Conditions;
X121Conditions analyseXConditions = analyseConditions.x121Conditions;
X121Conditions verificationXConditions = verificationConditions.x121Conditions;
X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
X121Conditions visionXConditions = visionConditions.x121Conditions;
// X121Conditions decisionXConditions = decisionConditions.x121Conditions;
// X121Conditions analyseXConditions = analyseConditions.x121Conditions;
// X121Conditions verificationXConditions = verificationConditions.x121Conditions;
// X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
// X121Conditions visionXConditions = visionConditions.x121Conditions;
//
//
@@ -861,7 +861,7 @@ bool DetectX121SMCGuards(
//
if (hasTrendGuard)
{
guardStop = decisionXConditions.strBuffer[1] - decisionXConditions.atrBuffer[1];
// guardStop = decisionXConditions.strBuffer[1] - decisionXConditions.atrBuffer[1];
}
//
@@ -986,7 +986,7 @@ bool DetectX121SMCGuards(
//
if (hasTrendGuard)
{
guardStop = decisionXConditions.strBuffer[1] + decisionXConditions.atrBuffer[1];
// guardStop = decisionXConditions.strBuffer[1] + decisionXConditions.atrBuffer[1];
}
//
@@ -1228,8 +1228,8 @@ bool DetectX121SMCGuards(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
+3 -3
View File
@@ -98,7 +98,7 @@ struct X121SMCCycleConditions
//
state.Clean();
x121Conditions.Clean();
// x121Conditions.Clean();
//
ZeroMemory(this);
@@ -273,7 +273,7 @@ struct X121SMCStrategyConditions
ENUM_X_DIRECTION signalDir;
//
X121Conditions conditions;
// X121Conditions conditions;
// XPriceZones priceZones;
// XPriceZones decisionZones;
// XMarketStructure marketStructure;
@@ -304,7 +304,7 @@ struct X121SMCStrategyConditions
signalDir = X_DIRECTION_NONE;
//
conditions.Clean();
// conditions.Clean();
// priceZones.Clean();
// decisionZones.Clean();
// marketStructure.Clean();
@@ -195,6 +195,10 @@ struct XOBFVG
isBullish
? isAbove
: isBelow;
if (!result)
{
return result;
}
//
// Check FVG Must Be Started ...
@@ -1678,10 +1682,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
X121SMCStrategyXSupDemOBSSignalConditions &conditions,
//
// XC121SMCCycleHelper *triggerCycleHelper,
XC121SMCCycleHelper *decisionCycleHelper,
XC121SMCCycleHelper *analyseCycleHelper,
XC121SMCCycleHelper *verificationCycleHelper,
XC121SMCCycleHelper *consolidationCycleHelper,
XC121SMCCycleHelper *visionCycleHelper
//
@@ -1690,6 +1692,21 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
bool result = false;
//
// Validate Cycle Helpers ...
result =
//
visionCycleHelper != NULL &&
analyseCycleHelper != NULL &&
decisionCycleHelper != NULL &&
consolidationCycleHelper != NULL
//
;
if (!result)
{
return result;
}
//
bool isBullish = false;
bool isBearish = false;
@@ -1720,23 +1737,6 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
// Cycles Conditions ...
//
// Trigger ...
// ENUM_XPOI_EVENTS triggerPoiEvents[];
// ENUM_X_CYCLE_EVENTS triggerCycleEvents[];
// X121SMCCycleConditions triggerConditions;
// result = triggerCycleHelper.GetConditions(
// triggerCycleEvents,
// triggerPoiEvents,
// triggerConditions,
// zIndex,
// loopback //
// );
// if (!result)
// {
// return result;
// }
//
// Decision ...
ENUM_XPOI_EVENTS decisionPoiEvents[];
@@ -1771,23 +1771,6 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
return result;
}
//
// Verification ...
ENUM_XPOI_EVENTS verificationPoiEvents[];
ENUM_X_CYCLE_EVENTS verificationCycleEvents[];
X121SMCCycleConditions verificationConditions;
result = verificationCycleHelper.GetConditions(
verificationCycleEvents,
verificationPoiEvents,
verificationConditions,
zIndex,
loopback //
);
if (!result)
{
return result;
}
//
// Consolidation ...
ENUM_XPOI_EVENTS consolidationPoiEvents[];
@@ -1824,21 +1807,17 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
// Cycles POI States ...
// XPOIState triggerState = triggerConditions.state;
XPOIState decisionState = decisionConditions.state;
XPOIState analyseState = analyseConditions.state;
XPOIState verificationState = verificationConditions.state;
XPOIState consolidationState = consolidationConditions.state;
XPOIState visionState = visionConditions.state;
//
// Cycle X121Conditions ...
// X121Conditions triggerXConditions = triggerConditions.x121Conditions;
X121Conditions decisionXConditions = decisionConditions.x121Conditions;
X121Conditions analyseXConditions = analyseConditions.x121Conditions;
X121Conditions verificationXConditions = verificationConditions.x121Conditions;
X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
X121Conditions visionXConditions = visionConditions.x121Conditions;
// X121Conditions decisionXConditions = decisionConditions.x121Conditions;
// X121Conditions analyseXConditions = analyseConditions.x121Conditions;
// X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
// X121Conditions visionXConditions = visionConditions.x121Conditions;
//
// Setup Conditions ...
@@ -1865,8 +1844,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -1881,19 +1860,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
return result;
@@ -1911,8 +1890,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -1927,19 +1906,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
return result;
@@ -1957,8 +1936,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -1973,19 +1952,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
return result;
@@ -2202,8 +2181,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -2218,19 +2197,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
result = false;
@@ -2260,8 +2239,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -2276,19 +2255,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
RemoveX121SMCXSupDemOBSDraws();
@@ -2446,8 +2425,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -2462,19 +2441,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
RemoveX121SMCXSupDemOBSDraws();
@@ -2518,6 +2497,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
bool hasOBFVGs = conditions.HasOBFVGs();
int obFVGsCount = conditions.CountOBFVGs();
//
if (hasOBs &&
hasFVGs &&
!hasOBFVGs)
@@ -2531,8 +2512,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
// Check Ob Index inside OB FVGS ...
bool isOBFVGExists = false;
bool hasOBFVGs = conditions.HasOBFVGs();
int obFVGsCount = conditions.CountOBFVGs();
hasOBFVGs = conditions.HasOBFVGs();
obFVGsCount = conditions.CountOBFVGs();
if (hasOBFVGs)
{
//
@@ -2564,6 +2545,13 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
XCFVG *jFVG = fvgs[j];
//
ENUM_TIMEFRAMES jPeriod = jFVG.GetPeriod();
if (jPeriod != PERIOD_M15)
{
Print(ToString(jPeriod));
}
//
XOBFVG iOBFVG;
@@ -2575,7 +2563,7 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
//
iOBFVG.ob = iOB;
iOBFVG.fvg = jFVG;
//
bool isValidOBFVG = iOBFVG.IsValid();
if (isValidOBFVG)
@@ -2619,8 +2607,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -2635,19 +2623,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
RemoveX121SMCXSupDemOBSDraws();
@@ -2734,8 +2722,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -2750,19 +2738,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
RemoveX121SMCXSupDemOBSDraws();
@@ -2782,8 +2770,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -2795,19 +2783,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
analyseState.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
// Now We Have to Wait for Price Inside Box ...
@@ -3019,8 +3007,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
Clean(decisionCycleEvents);
Clean(analysePoiEvents);
Clean(analyseCycleEvents);
Clean(verificationPoiEvents);
Clean(verificationCycleEvents);
// Clean(verificationPoiEvents);
// Clean(verificationCycleEvents);
Clean(consolidationPoiEvents);
Clean(consolidationCycleEvents);
Clean(visionPoiEvents);
@@ -3035,19 +3023,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
decisionPBar.Clean();
decisionState.Clean();
visionConditions.Clean();
visionXConditions.Clean();
verificationState.Clean();
// visionXConditions.Clean();
// verificationState.Clean();
// triggerConditions.Clean();
analyseConditions.Clean();
consolidationState.Clean();
// triggerXConditions.Clean();
analyseXConditions.Clean();
// analyseXConditions.Clean();
decisionConditions.Clean();
decisionXConditions.Clean();
verificationConditions.Clean();
verificationXConditions.Clean();
// decisionXConditions.Clean();
// verificationConditions.Clean();
// verificationXConditions.Clean();
consolidationConditions.Clean();
consolidationXConditions.Clean();
// consolidationXConditions.Clean();
//
// Summarize Conditions ...
@@ -3164,7 +3152,7 @@ bool DetectX121SMCXSupDemOBSSignalTrigger(
// XC121SMCCycleHelper *triggerCycleHelper,
XC121SMCCycleHelper *decisionCycleHelper,
XC121SMCCycleHelper *analyseCycleHelper,
XC121SMCCycleHelper *verificationCycleHelper,
// XC121SMCCycleHelper *verificationCycleHelper,
XC121SMCCycleHelper *consolidationCycleHelper,
XC121SMCCycleHelper *visionCycleHelper,
//
@@ -3462,7 +3450,7 @@ bool DetectX121SMCXSupDemOBSGuards(
// XC121SMCCycleHelper *triggerCycleHelper,
XC121SMCCycleHelper *decisionCycleHelper,
XC121SMCCycleHelper *analyseCycleHelper,
XC121SMCCycleHelper *verificationCycleHelper,
// XC121SMCCycleHelper *verificationCycleHelper,
XC121SMCCycleHelper *consolidationCycleHelper,
XC121SMCCycleHelper *visionCycleHelper //
)
+79 -59
View File
@@ -108,7 +108,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// ZeroMemory(mTriggerCycleHelper);
ZeroMemory(mDecisionCycleHelper);
ZeroMemory(mAnalyseCycleHelper);
ZeroMemory(mVerificationCycleHelper);
// ZeroMemory(mVerificationCycleHelper);
ZeroMemory(mConsolidationCycleHelper);
ZeroMemory(mVisionCycleHelper);
@@ -116,7 +116,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// delete mTriggerCycleHelper;
delete mDecisionCycleHelper;
delete mAnalyseCycleHelper;
delete mVerificationCycleHelper;
// delete mVerificationCycleHelper;
delete mConsolidationCycleHelper;
delete mVisionCycleHelper;
@@ -357,7 +357,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
signal.partialCloseOnTPLevel = 0;
signal.partialCloseMultiplier = 0;
signal.trailSLStartOnReachTPLevel = 3;
}
}
@@ -403,7 +402,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// mTriggerCycleHelper,
mDecisionCycleHelper,
mAnalyseCycleHelper,
mVerificationCycleHelper,
// mVerificationCycleHelper,
mConsolidationCycleHelper,
mVisionCycleHelper //
);
@@ -447,7 +446,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
//
// Signalling Functions ...
//
// XSupDemOBS Signal ...
bool DetectXSupDemOBSSignal(
@@ -457,6 +455,21 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
//
bool result = false;
//
// Validate Cycle Helpers ...
result =
//
mVisionCycleHelper != NULL &&
mAnalyseCycleHelper != NULL &&
mDecisionCycleHelper != NULL &&
mConsolidationCycleHelper != NULL
//
;
if (!result)
{
return result;
}
//
bool isBullish = false;
bool isBearish = false;
@@ -531,10 +544,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
symbol,
period,
mX121SMCXSupDemOBSConditions,
// mTriggerCycleHelper,
mDecisionCycleHelper,
mAnalyseCycleHelper,
mVerificationCycleHelper,
mConsolidationCycleHelper,
mVisionCycleHelper //
);
@@ -591,7 +602,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// mTriggerCycleHelper,
mDecisionCycleHelper,
mAnalyseCycleHelper,
mVerificationCycleHelper,
// mVerificationCycleHelper,
mConsolidationCycleHelper,
mVisionCycleHelper //
);
@@ -726,9 +737,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
//
x121Inputs.showRSI = false;
//
bool isInited = false;
//
// XPV ...
@@ -749,6 +757,15 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
x121Inputs.xatrInputs.atrMultiplier = 1.5;
x121Inputs.xatrInputs.atrSmoothingMode = X_MA_MODE_EMA;
//
// XCC ...
x121Inputs.xccInputs.showCandles = false; // false;
//
// XCT ...
x121Inputs.xctInputs.clr = clrBlueViolet;
x121Inputs.xctInputs.showCandleTime = false; // false;
//
// XPV ...
x121Inputs.xpvInputs.showSar = showAll || false;
@@ -796,6 +813,9 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
//
// Initialize Cycle Helpers ...
//
bool isInited = false;
//
int requiredPOIS = MaxAllowedRequiredPOIs();
@@ -970,62 +990,62 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
mAnalyseCycleHelper.mPOIDrawer.BearishFVGColor(bearishColor);
}
//
// Verification Cycle ...
mVerificationCycleHelper = new XC121SMCCycleHelper();
isInited = mVerificationCycleHelper.Init(
symbol,
PERIOD_M30,
x121Inputs,
requiredPOIS //
);
if (isInited)
{
//
// Configure POI Drawer ...
color bullishColor = clrOliveDrab;
color bearishColor = clrSteelBlue;
// //
// // Verification Cycle ...
// mVerificationCycleHelper = new XC121SMCCycleHelper();
// isInited = mVerificationCycleHelper.Init(
// symbol,
// PERIOD_M30,
// // x121Inputs,
// requiredPOIS //
// );
// if (isInited)
// {
// //
// // Configure POI Drawer ...
// color bullishColor = clrOliveDrab;
// color bearishColor = clrSteelBlue;
//
// Bars ...
mVerificationCycleHelper.mPOIDrawer.BarBullishColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.BarBearishColor(bearishColor);
// //
// // Bars ...
// mVerificationCycleHelper.mPOIDrawer.BarBullishColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.BarBearishColor(bearishColor);
//
// Swings ...
mVerificationCycleHelper.mPOIDrawer.SwingLowColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.SwingHighColor(bearishColor);
// //
// // Swings ...
// mVerificationCycleHelper.mPOIDrawer.SwingLowColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.SwingHighColor(bearishColor);
//
// Momentum ...
mVerificationCycleHelper.mPOIDrawer.BullishMomentumBarColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.BearishMomentumBarColor(bearishColor);
// //
// // Momentum ...
// mVerificationCycleHelper.mPOIDrawer.BullishMomentumBarColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.BearishMomentumBarColor(bearishColor);
//
// Rejection ...
mVerificationCycleHelper.mPOIDrawer.BullishRejectionBarColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.BearishRejectionBarColor(bearishColor);
// //
// // Rejection ...
// mVerificationCycleHelper.mPOIDrawer.BullishRejectionBarColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.BearishRejectionBarColor(bearishColor);
//
// Support and Resistance ...
mVerificationCycleHelper.mPOIDrawer.SupportZoneColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.ResistanceZoneColor(bearishColor);
// //
// // Support and Resistance ...
// mVerificationCycleHelper.mPOIDrawer.SupportZoneColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.ResistanceZoneColor(bearishColor);
//
// Demand and Supply ...
mVerificationCycleHelper.mPOIDrawer.DemandZoneColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.SupplyZoneColor(bearishColor);
// //
// // Demand and Supply ...
// mVerificationCycleHelper.mPOIDrawer.DemandZoneColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.SupplyZoneColor(bearishColor);
//
// Order Blocks ...
mVerificationCycleHelper.mPOIDrawer.BullishOrderBlockColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.BearishOrderBlockColor(bearishColor);
// //
// // Order Blocks ...
// mVerificationCycleHelper.mPOIDrawer.BullishOrderBlockColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.BearishOrderBlockColor(bearishColor);
//
// Fair Value Gaps ...
mVerificationCycleHelper.mPOIDrawer.BullishFVGColor(bullishColor);
mVerificationCycleHelper.mPOIDrawer.BearishFVGColor(bearishColor);
}
// //
// // Fair Value Gaps ...
// mVerificationCycleHelper.mPOIDrawer.BullishFVGColor(bullishColor);
// mVerificationCycleHelper.mPOIDrawer.BearishFVGColor(bearishColor);
// }
//
// Consolidation Cycle ...