last works ...

This commit is contained in:
2025-09-10 21:02:38 +03:30
parent 4d50472a0c
commit a3016b0c63
6 changed files with 515 additions and 118 deletions
+33 -1
View File
@@ -113,6 +113,9 @@ class XCXOM1EAExpert : public XCBase
//
// Tools / Actions / Handlers ...
//
TCanAnalyse canAnalyseEventHandler;
//
// Signal Event Handlers ...
@@ -587,6 +590,10 @@ class XCXOM1EAExpert : public XCBase
}
}
//
// Attach Can Analyse Event Handler ...
iDZoneSignaller.canAnalyseEventListener = canAnalyseEventHandler;
//
// Register Signaller ...
Add(
@@ -635,7 +642,17 @@ class XCXOM1EAExpert : public XCBase
eaTimeTracker.Clean();
//
Clean(eaSignallers);
SpecifiedClean(eaSignallers);
SpecifiedClean(mOnSignalEventHandlers);
SpecifiedClean(mOnModifyEventHandlers);
SpecifiedClean(mStopLossEventHandlers);
SpecifiedClean(mTakeProfitEventHandlers);
SpecifiedClean(mOnForceCloseEventHandlers);
SpecifiedClean(mDealsChangedEventHandlers);
SpecifiedClean(mOrdersChangedEventHandlers);
SpecifiedClean(mOnPartialCloseEventHandlers);
SpecifiedClean(mPositionsChangedEventHandlers);
SpecifiedClean(mTradeStateChangedEventHandlers);
//
string message = "DeInitialized Successfully ...";
@@ -707,6 +724,21 @@ class XCXOM1EAExpert : public XCBase
eaTradeManager.HandleSignal(signal);
}
//
// Check Can Analyse ...
bool HandleCanAnalyseEventTriggered(
string symbol,
ENUM_TIMEFRAMES period,
datetime time //
)
{
return eaTradeManager.CanAnalyse(
symbol,
period,
time //
);
}
//
// Trade Event Handlers ...
+45 -7
View File
@@ -70,13 +70,14 @@ class XCXOM1SignallerBase
public:
//
// Props ...
string name; // Name ...
string symbol; // Symbol ...
XOM1Zone zones[]; // Detected Zones ...
XOM1Inputs inputs; // Indicator Inputs ...
ENUM_TIMEFRAMES period; // Period ...
XOM1SignallerConfig config; // Configuration ...
XCXOM1POIDrawer drawer; // POI Drawer ...
string name; // Name ...
string symbol; // Symbol ...
XOM1Zone zones[]; // Detected Zones ...
XOM1Inputs inputs; // Indicator Inputs ...
ENUM_TIMEFRAMES period; // Period ...
XCXOM1POIDrawer drawer; // POI Drawer ...
XOM1SignallerConfig config; // Configuration ...
TCanAnalyse canAnalyseEventListener; // CanAnalyse Event Listener ...
//
// Constructor ...
@@ -222,6 +223,14 @@ class XCXOM1SignallerBase
return;
}
//
// Check Process Permissions ...
has = CanAnalyse(symbol, period, cBarTime);
if (!has)
{
return;
}
//
// Check if new Bar, Reset Processed Ticks Count ...
isNewBar = cBarTime > mLastCheckedBarTime;
@@ -571,6 +580,35 @@ class XCXOM1SignallerBase
int mProcessedTicksCount; // Prcoessed Ticks Count ...
datetime mLastCheckedBarTime; // Last Checked Bar Time ...
//
bool CanAnalyse(
string _symbol,
ENUM_TIMEFRAMES _period,
datetime time //
)
{
//
bool result = false;
//
if (canAnalyseEventListener != NULL)
{
//
result = canAnalyseEventListener(
_symbol,
_period,
time //
);
}
else
{
result = true;
}
//
return result;
}
/**
* Handle New Bar's Process ...
*