- Create a Data Collector Class;

- Add Support for Save Logs in Alert Class;
- Add Propper inputs for Handle Saving Logs in EA and Expert Class;
- remove x-trade.manager Class Data Collector and use General Developed Data Collector;
- Add Support for Reading Fles in Data Collector Class for Support Configuration Parsing;
- Remove XCBaseAlert class and add Support for get XCAlert instance reference pointer as Dependency Injection in all used classed and Refactor all Changes;
- Apply Fix some UnImplemented Event Handlers on Ea Expert Class of XCATBEA and also change Event Handler Binding to Collection Based Model;
- Test all Functionalities ...
- Apply Some Fixes on Prevent Double Saing Same Log Messages ...
This commit is contained in:
2025-06-05 05:35:47 +03:30
parent 4e941f3a65
commit e46cac2ab1
12 changed files with 2107 additions and 927 deletions
+11 -9
View File
@@ -143,6 +143,7 @@ input string eaCloseAllOpenTradesAt = "";
// Configuring Alert Provider ...
input group "Alert";
input bool eaEnableAlerts = true; // Enable Alerts
input bool eaSaveAlerts = true; // Save Alerts
input bool eaLogAlerts = true; // Log Alerts
input bool eaMailAlerts = false; // Mail Alerts
input bool eaPushAlerts = true; // Push Alerts
@@ -318,6 +319,7 @@ int OnInit()
eaExpert.eaLogAlerts = eaLogAlerts;
eaExpert.eaMailAlerts = eaMailAlerts;
eaExpert.eaPushAlerts = eaPushAlerts;
eaExpert.eaSaveAlerts = eaSaveAlerts;
eaExpert.eaEnableAlerts = eaEnableAlerts;
eaExpert.eaTerminalAlerts = eaTerminalAlerts;
@@ -343,15 +345,15 @@ int OnInit()
//
// Attach Event Handlers ...
eaExpert.OnModifyEventHandler = OnPositionModified;
eaExpert.OnDealsChangedEventHandler = OnDealsChanged;
eaExpert.OnStopLossEventHandler = OnStopLossTriggered;
eaExpert.OnOrdersChangedEventHandler = OnOrdersChanged;
eaExpert.OnForceCloseEventHandler = OnPositionForceClosed;
eaExpert.OnTakeProfitEventHandler = OnTakeProfitTriggered;
eaExpert.OnPositionsChangedEventHandler = OnPositionsChanged;
eaExpert.OnPartialCloseEventHandler = OnPositionPartialClosed;
eaExpert.OnTradeStateChangedEventHandler = OnTradeStateChanged;
eaExpert.AddOnDealsChangedEventHandler(OnDealsChanged);
eaExpert.AddOnStopLossEventHandler(OnStopLossTriggered);
eaExpert.AddOnOrdersChangedEventHandler(OnOrdersChanged);
eaExpert.AddOnTakeProfitEventHandler(OnTakeProfitTriggered);
eaExpert.AddOnModifyPositionEventHandler(OnPositionModified);
eaExpert.AddOnPositionsChangedEventHandler(OnPositionsChanged);
eaExpert.AddOnTradeStateChangedEventHandler(OnTradeStateChanged);
eaExpert.AddOnForceClosePositionEventHandler(OnPositionForceClosed);
eaExpert.AddOnPartialClosePositionEventHandler(OnPositionPartialClosed);
//
bool isInited = eaExpert.HandleOnInit();
File diff suppressed because it is too large Load Diff