converts signal lib to class ...

This commit is contained in:
2025-02-12 06:55:11 +03:30
parent 712e425b88
commit 34b49f8cb9
3 changed files with 3821 additions and 3741 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+36 -38
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.xsupdemobs.signal.lib.mq5" #include "../Signals/x-121.smc.xsupdemobs.signal.class.mq5"
// //
// Definitions ... // Definitions ...
@@ -42,6 +42,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Props ... // Props ...
bool useXSupDemOBSSignal; bool useXSupDemOBSSignal;
XCX121SMCXSupDemOBSSignalDetector *mXSupDemONSSignalDetector;
// //
// Constructor(s) ... // Constructor(s) ...
@@ -53,7 +54,9 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
) )
: XCX121SMCBaseStrategy(_symbol, _period) : XCX121SMCBaseStrategy(_symbol, _period)
{ {
//
InitialHelpers(); InitialHelpers();
mXSupDemONSSignalDetector = new XCX121SMCXSupDemOBSSignalDetector();
} }
// //
@@ -101,13 +104,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
*/ */
void Destroy() override void Destroy() override
{ {
//
// XSupDemOBS ...
RemoveX121SMCXSupDemOBSDraws();
mX121SMCXSupDemOBSConditions.Clean();
Clean(mX121SMCXSupDemOBSConditionsCollection);
RemoveX121SMCXSupDemOBSWorkingZoneDraws();
// //
ZeroMemory(mDecisionCycleHelper); ZeroMemory(mDecisionCycleHelper);
ZeroMemory(mAnalyseCycleHelper); ZeroMemory(mAnalyseCycleHelper);
@@ -119,6 +115,10 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
delete mAnalyseCycleHelper; delete mAnalyseCycleHelper;
delete mConsolidationCycleHelper; delete mConsolidationCycleHelper;
delete mVisionCycleHelper; delete mVisionCycleHelper;
//
ZeroMemory(mXSupDemONSSignalDetector);
delete mXSupDemONSSignalDetector;
} }
/** /**
@@ -324,16 +324,16 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Re Draw Working Zone ... // Re Draw Working Zone ...
RemoveX121SMCXSupDemOBSWorkingZoneDraws(); mXSupDemONSSignalDetector.RemoveWorkingZoneDraws();
DrawX121SMCXSupDemOBSWorkingZone( mXSupDemONSSignalDetector.DrawWorkingZone(
mXSupDemOBSConditions, mXSupDemOBSConditions,
mVisionCycleHelper.mPOIDrawer // mVisionCycleHelper.mPOIDrawer //
); );
// //
// Re Draw Working Zone ... // Re Draw Working Zone ...
RemoveX121SMCXSupDemOBSDraws(); mXSupDemONSSignalDetector.RemoveDraws();
DrawX121SMCXSupDemOBSConditions( mXSupDemONSSignalDetector.DrawConditions(
mXSupDemOBSConditions, mXSupDemOBSConditions,
mVisionCycleHelper.mPOIDrawer // mVisionCycleHelper.mPOIDrawer //
); );
@@ -460,7 +460,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
if (useXSupDemOBSSignal) if (useXSupDemOBSSignal)
{ {
// //
bool hasGuard = DetectX121SMCXSupDemOBSGuards( bool hasGuard = mXSupDemONSSignalDetector.DetectGuards(
guards, guards,
positions, positions,
mDecisionCycleHelper, mDecisionCycleHelper,
@@ -597,17 +597,16 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Detect Setup Conditions ... // Detect Setup Conditions ...
datetime setupTime = mX121SMCXSupDemOBSConditions.setupTime; datetime setupTime = mXSupDemONSSignalDetector.mConditions.setupTime;
bool isSetuped = mX121SMCXSupDemOBSConditions.IsSetuped(); bool isSetuped = mXSupDemONSSignalDetector.mConditions.IsSetuped();
ENUM_X_DIRECTION setupDir = mX121SMCXSupDemOBSConditions.dir; ENUM_X_DIRECTION setupDir = mXSupDemONSSignalDetector.mConditions.dir;
if (!isSetuped) if (!isSetuped)
{ {
// //
// Detect Signal Setup ... // Detect Signal Setup ...
isSetuped = DetectX121SMCXSupDemOBSSignalSetup( isSetuped = mXSupDemONSSignalDetector.DetectSignalSetup(
symbol, symbol,
period, period,
mX121SMCXSupDemOBSConditions,
mDecisionCycleHelper, mDecisionCycleHelper,
mAnalyseCycleHelper, mAnalyseCycleHelper,
mConsolidationCycleHelper, mConsolidationCycleHelper,
@@ -615,25 +614,23 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
); );
// //
setupDir = mX121SMCXSupDemOBSConditions.dir; setupDir = mXSupDemONSSignalDetector.mConditions.dir;
setupTime = mX121SMCXSupDemOBSConditions.setupTime; setupTime = mXSupDemONSSignalDetector.mConditions.setupTime;
// //
if (isSetuped) if (isSetuped)
{ {
// //
int items = AddX121SMCXSupDemOBSConditionsIfNotExists( int items = mXSupDemONSSignalDetector
mX121SMCXSupDemOBSConditions, .AddConditionsIfNotExists();
mX121SMCXSupDemOBSConditionsCollection //
);
// //
mX121SMCXSupDemOBSConditions.Clean(); mXSupDemONSSignalDetector.mConditions.Clean();
} }
} }
// //
int conditionsCount = ArraySize(mX121SMCXSupDemOBSConditionsCollection); int conditionsCount = ArraySize(mXSupDemONSSignalDetector.mConditionsCollection);
result = IsValidSize(conditionsCount); result = IsValidSize(conditionsCount);
if (!result) if (!result)
{ {
@@ -645,7 +642,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
int selectedIndex = 0; int selectedIndex = 0;
X121SMCStrategyXSupDemOBSSignalConditions mTmpConditions[]; X121SMCStrategyXSupDemOBSSignalConditions mTmpConditions[];
Copy( Copy(
mX121SMCXSupDemOBSConditionsCollection, mXSupDemONSSignalDetector.mConditionsCollection,
mTmpConditions // mTmpConditions //
); );
X121SMCStrategyXSupDemOBSSignalConditions mConditions; X121SMCStrategyXSupDemOBSSignalConditions mConditions;
@@ -659,15 +656,16 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
{ {
// //
// Detect Signal Trigger ... // Detect Signal Trigger ...
canTrigger = DetectX121SMCXSupDemOBSSignalTrigger( canTrigger = mXSupDemONSSignalDetector
mTmpConditions[i], .DetectSignalTrigger(
symbol, mTmpConditions[i],
period, symbol,
mDecisionCycleHelper, period,
mAnalyseCycleHelper, mDecisionCycleHelper,
mConsolidationCycleHelper, mAnalyseCycleHelper,
mVisionCycleHelper // mConsolidationCycleHelper,
); mVisionCycleHelper //
);
// //
result = canTrigger; result = canTrigger;
@@ -679,7 +677,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
{ {
// //
ArrayRemove( ArrayRemove(
mX121SMCXSupDemOBSConditionsCollection, mXSupDemONSSignalDetector.mConditionsCollection,
i, i,
1 // 1 //
); );
@@ -712,7 +710,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
// //
// Remove Selected Index from Main Collection ... // Remove Selected Index from Main Collection ...
ArrayRemove( ArrayRemove(
mX121SMCXSupDemOBSConditionsCollection, mXSupDemONSSignalDetector.mConditionsCollection,
selectedIndex, selectedIndex,
1 // 1 //
); );