last works ...
This commit is contained in:
@@ -66,6 +66,16 @@ class XCBackTesterEA : public XCBase
|
||||
string symbol; // Symbol
|
||||
ENUM_TIMEFRAMES period; // Period
|
||||
|
||||
//
|
||||
// Volume ...
|
||||
ENUM_X_VOLUME_SELECT_TYPE eaVolumeSelect; // Volume Applying Type
|
||||
double eaStaticVoluem; // Static Volume
|
||||
double eaDynamicVolumeStepBalance; // Step of Balance for Increase Volume
|
||||
double eaDynamicVolumeStepVolume; // Step of Volume Increasing
|
||||
double eaConstantRiskBalance; // Constant Risk Balance per Trade
|
||||
double eaConstantPercent; // Constant Percent of Balance Per Trade
|
||||
double eaConstantBalance; // Constant Balance for Calculations
|
||||
|
||||
//
|
||||
// Alert ...
|
||||
bool eaEnableAlerts; // Enable Alerts
|
||||
@@ -86,11 +96,10 @@ class XCBackTesterEA : public XCBase
|
||||
XCAlert *eaAlert; // EA Scope Alert Handler ...
|
||||
XCTrade *eaTrader; // EA Scope Trade Handler ...
|
||||
XCTarget *eaTarget; // EA Scope Target Manager ...
|
||||
XCVolume *eaVolume; // EA Scope Volume Manager ...
|
||||
XCChartHelper *eaChartHelper; // EA Chart Helper ...
|
||||
XCPositionDrawer *eaPositionDrawer; // EA Scope Position Drawer ...
|
||||
|
||||
//
|
||||
XCChartHelper *eaChartHelper; // Chart Helper Class ...
|
||||
|
||||
//
|
||||
// Constructor ...
|
||||
XCBackTesterEA()
|
||||
@@ -140,6 +149,10 @@ class XCBackTesterEA : public XCBase
|
||||
int count = 0;
|
||||
bool has = false;
|
||||
|
||||
//
|
||||
// Chart Helper ...
|
||||
eaChartHelper = new XCChartHelper();
|
||||
|
||||
//
|
||||
// Initialize Alert Handler ...
|
||||
eaAlert = new XCAlert();
|
||||
@@ -297,6 +310,22 @@ class XCBackTesterEA : public XCBase
|
||||
// Init Target Managers ...
|
||||
eaTarget = new XCTarget(eaTrader, eaAlert);
|
||||
|
||||
//
|
||||
eaVolume = new XCVolume();
|
||||
result = eaVolume.Init(
|
||||
eaVolumeSelect,
|
||||
eaStaticVoluem,
|
||||
eaDynamicVolumeStepBalance,
|
||||
eaDynamicVolumeStepVolume,
|
||||
eaConstantRiskBalance,
|
||||
eaConstantPercent,
|
||||
eaConstantBalance //
|
||||
);
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Init Position Drawer ...
|
||||
eaPositionDrawer = new XCPositionDrawer(eaTrader);
|
||||
@@ -332,6 +361,10 @@ class XCBackTesterEA : public XCBase
|
||||
delete eaPositionDrawer;
|
||||
ZeroMemory(eaPositionDrawer);
|
||||
|
||||
//
|
||||
delete eaVolume;
|
||||
ZeroMemory(eaVolume);
|
||||
|
||||
//
|
||||
delete eaTrader;
|
||||
ZeroMemory(eaTrader);
|
||||
@@ -588,6 +621,15 @@ class XCBackTesterEA : public XCBase
|
||||
*/
|
||||
void HandleOnSignalTriggered(XSignal &signal)
|
||||
{
|
||||
//
|
||||
// Handle Volume ...
|
||||
double iVolume = eaVolume.CalculateVolume(signal);
|
||||
if (!signal.ignoreEAVolume &&
|
||||
iVolume != signal.volume)
|
||||
{
|
||||
signal.volume = iVolume;
|
||||
}
|
||||
|
||||
//
|
||||
ENUM_X_SIGNAL_EXECUTION_RESULT result;
|
||||
bool isExcuted = eaTrader.ExecuteSignal(
|
||||
@@ -854,10 +896,6 @@ class XCBackTesterEA : public XCBase
|
||||
ulong chartId = ChartID();
|
||||
objSuffix = eaLogSuffix + "_";
|
||||
|
||||
//
|
||||
// Initial Chart Class Instance ...
|
||||
eaChartHelper = new XCChartHelper(chartId);
|
||||
|
||||
//
|
||||
int startX = 5;
|
||||
int startY = 25;
|
||||
|
||||
Reference in New Issue
Block a user