last ...
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
#include "../Classes/x-saherelm.x-alert.class.mq5"
|
||||
#include "../Classes/x-saherelm.x-chart.helper.class.mq5"
|
||||
#include "../Classes/x-saherelm.x-guard.class.mq5"
|
||||
#include "../Classes/x-saherelm.x-position.drawer.class.mq5"
|
||||
#include "../Classes/x-saherelm.x-signaller.class.mq5"
|
||||
#include "../Classes/x-saherelm.x-target.class.mq5"
|
||||
#include "../Classes/x-saherelm.x-trade-manager.class.mq5"
|
||||
@@ -121,13 +122,14 @@ class XCBaseExpert : public XCBase
|
||||
// Requirements ...
|
||||
|
||||
//
|
||||
XCAlert *eaAlert; // EA Scope Alert Handler ...
|
||||
XCGuard *eaGuard; // EA Scope Guard Handler ...
|
||||
XCTrade *eaTrader; // EA Scope Trade Handler ...
|
||||
XCVolume *eaVolume; // EA Scope Voluem Handler ...
|
||||
XCTarget *eaTarget; // EA Scope Target Handler ...
|
||||
XTimeTracker eaTimeTracker; // EA Scope Time Tracker ...
|
||||
XCTradeManager *eaTradeManager; // EA Scope Trade Manager Handler ...
|
||||
XCAlert *eaAlert; // EA Scope Alert Handler ...
|
||||
XCGuard *eaGuard; // EA Scope Guard Handler ...
|
||||
XCTrade *eaTrader; // EA Scope Trade Handler ...
|
||||
XCVolume *eaVolume; // EA Scope Voluem Handler ...
|
||||
XCTarget *eaTarget; // EA Scope Target Handler ...
|
||||
XTimeTracker eaTimeTracker; // EA Scope Time Tracker ...
|
||||
XCTradeManager *eaTradeManager; // EA Scope Trade Manager Handler ...
|
||||
XCPositionDrawer *eaPositionDrawer; // EA Scope Position Drawer ...
|
||||
|
||||
//
|
||||
// Specified Event Handlers ...
|
||||
@@ -349,6 +351,10 @@ class XCBaseExpert : public XCBase
|
||||
// Initialize Target Handler ...
|
||||
eaTarget = new XCTarget(eaTrader, eaAlert);
|
||||
|
||||
//
|
||||
// Init Position Drawer ...
|
||||
eaPositionDrawer = new XCPositionDrawer(eaTrader);
|
||||
|
||||
//
|
||||
// Initialize Trae Manager ...
|
||||
eaTradeManager = new XCTradeManager(
|
||||
@@ -452,6 +458,11 @@ class XCBaseExpert : public XCBase
|
||||
delete eaTradeManager;
|
||||
ZeroMemory(eaTradeManager);
|
||||
|
||||
//
|
||||
eaPositionDrawer.Destroy();
|
||||
delete eaPositionDrawer;
|
||||
ZeroMemory(eaPositionDrawer);
|
||||
|
||||
//
|
||||
eaTimeTracker.Clean();
|
||||
|
||||
@@ -494,6 +505,10 @@ class XCBaseExpert : public XCBase
|
||||
// Manage Trades ...
|
||||
eaTradeManager.Manage();
|
||||
|
||||
//
|
||||
// Manage Positions Drawings ...
|
||||
eaPositionDrawer.Update();
|
||||
|
||||
//
|
||||
int count = ArraySize(eaSignallers);
|
||||
bool has = IsValidSize(count);
|
||||
@@ -567,6 +582,8 @@ class XCBaseExpert : public XCBase
|
||||
*/
|
||||
void HandleOnSignalExecuted(XSignal &signal)
|
||||
{
|
||||
//
|
||||
eaPositionDrawer.AddExecutedSignal(signal);
|
||||
eaTradeManager.target.AddExecutedSignal(signal);
|
||||
}
|
||||
|
||||
@@ -675,6 +692,7 @@ class XCBaseExpert : public XCBase
|
||||
{
|
||||
//
|
||||
eaTradeManager.HandleSL(deal);
|
||||
eaPositionDrawer.HandleStopLossTriggered(deal);
|
||||
UpdatePanelPositionButtons();
|
||||
}
|
||||
|
||||
@@ -686,8 +704,9 @@ class XCBaseExpert : public XCBase
|
||||
void virtual HandleOnTakeProfitTriggered(const XDeal &deal)
|
||||
{
|
||||
//
|
||||
eaTradeManager.HandleTP(deal);
|
||||
UpdatePanelPositionButtons();
|
||||
eaTradeManager.HandleTP(deal);
|
||||
eaPositionDrawer.HandleOnTakeProfitTriggered(deal);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -704,8 +723,13 @@ class XCBaseExpert : public XCBase
|
||||
)
|
||||
{
|
||||
//
|
||||
eaTradeManager.HandleForceClose(position);
|
||||
UpdatePanelPositionButtons();
|
||||
eaTradeManager.HandleForceClose(position);
|
||||
eaPositionDrawer.HandleOnPositionForceClosed(
|
||||
ticket,
|
||||
position,
|
||||
comment //
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -776,6 +800,12 @@ class XCBaseExpert : public XCBase
|
||||
const string comment //
|
||||
)
|
||||
{
|
||||
//
|
||||
eaPositionDrawer.HandleOnPositionModified(
|
||||
ticket,
|
||||
profit,
|
||||
comment //
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user