This commit is contained in:
2024-12-11 17:50:57 +03:30
parent db5144b1ef
commit 4516229d36
4 changed files with 889 additions and 81 deletions
@@ -31,6 +31,26 @@
//
// Implementations ...
enum ENUM_X_CYCLES
{
X_CYCLE_TRIGGER,
X_CYCLE_DECISION,
X_CYCLE_ANALYSE,
X_CYCLE_VERIFICATION,
X_CYCLE_CONSOLIDATION,
X_CYCLE_VISION,
};
enum ENUM_X_CYCLE_EVENTS
{
SAR_CHANGE_DETECTED,
NEW_PEAK_DETECTED,
NEW_VALE_DETECTED,
VWAP_ORDER_CHANGE_ETECTED,
VWAP_STATE_CHANGE_DETCTED,
CONSOLIDATION_BREAKED_DETECTED
};
class XC121SMCCycleHelper : public XCBase
{
//
@@ -46,6 +66,10 @@ class XC121SMCCycleHelper : public XCBase
// POI Detector ...
XCPOIDetector *mPOIDetector;
//
// Bar Analyser
XCBarAnalyser *mBarAnalyser;
//
// Constructor(s) ...
XC121SMCCycleHelper()
@@ -333,6 +357,7 @@ class XC121SMCCycleHelper : public XCBase
/**
* Retrieve Cycle Conditions ...
*
* @param events: ENUM_X_CYCLE_EVENTS member, Array ...
* @param conditions: X121SMCCycleConditions instance ...
* @param barIndex: Integer ...
* @param loopback: Integer ...
@@ -340,6 +365,7 @@ class XC121SMCCycleHelper : public XCBase
* @return ( bool )
*/
bool GetConditions(
ENUM_X_CYCLE_EVENTS &events[],
X121SMCCycleConditions &conditions,
int barIndex = 0,
int loopback = 7 //
@@ -390,6 +416,7 @@ class XC121SMCCycleHelper : public XCBase
//
Calculate(
barIndex,
events,
conditions //
);
}
@@ -928,13 +955,18 @@ class XC121SMCCycleHelper : public XCBase
* Calculate Requirements ...
*
* @param barIndex: Integer, Bar Index ...
* @param events: ENUM_X_CYCLE_EVENTS member, Array ...
* @param conditions: X121SMCCycleConditions instance ...
*/
void Calculate(
int barIndex,
ENUM_X_CYCLE_EVENTS &events[],
X121SMCCycleConditions &conditions //
)
{
//
Clean(events);
//
string symbol = GetSymbol();
ENUM_TIMEFRAMES period = GetPeriod();
@@ -986,7 +1018,14 @@ class XC121SMCCycleHelper : public XCBase
);
if (isInited)
{
//
isInited = AddSarChange(sarChanged);
//
Add(
SAR_CHANGE_DETECTED,
events //
);
}
}
@@ -1023,7 +1062,14 @@ class XC121SMCCycleHelper : public XCBase
);
if (isInited)
{
//
isInited = AddPeaksChange(peaksChanged);
//
Add(
NEW_PEAK_DETECTED,
events //
);
}
}
@@ -1060,7 +1106,14 @@ class XC121SMCCycleHelper : public XCBase
);
if (isInited)
{
//
isInited = AddValesChange(valesChanged);
//
Add(
NEW_VALE_DETECTED,
events //
);
}
}
@@ -1150,7 +1203,14 @@ class XC121SMCCycleHelper : public XCBase
);
if (isInited)
{
//
isInited = AddVWapOrderChange(vwapOrderChanged);
//
Add(
VWAP_ORDER_CHANGE_ETECTED,
events //
);
}
}
@@ -1238,7 +1298,14 @@ class XC121SMCCycleHelper : public XCBase
);
if (isInited)
{
//
isInited = AddVWapStateChange(vwapStateChanged);
//
Add(
VWAP_STATE_CHANGE_DETCTED,
events //
);
}
}
@@ -1311,7 +1378,10 @@ class XC121SMCCycleHelper : public XCBase
mActioveConsolidationZone.Clean();
//
Print("Breake ...");
Add(
CONSOLIDATION_BREAKED_DETECTED,
events //
);
}
}
}
@@ -1320,7 +1390,6 @@ class XC121SMCCycleHelper : public XCBase
private:
//
// Props ...
XCBarAnalyser *mBarAnalyser;
//
// Change Holders ...