add support back indicators usage ...
This commit is contained in:
@@ -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 ...
|
||||
|
||||
@@ -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;
|
||||
|
||||
//
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 //
|
||||
)
|
||||
|
||||
@@ -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 ...
|
||||
|
||||
Reference in New Issue
Block a user