last works on EA all Requirements Prepare as Template and Implement it's Testing Usage as XFIMA EA ...

This commit is contained in:
2025-09-17 22:22:12 +03:30
parent b11e4f7f4b
commit 177d115de6
11 changed files with 4555 additions and 31 deletions
+52 -5
View File
@@ -33,11 +33,30 @@ class XCChartHelper : public XCBase
//
// Constructor ...
XCChartHelper(ulong _chartId = 0)
XCChartHelper(
ulong _chartId = 0,
string _symbol = NULL,
ENUM_TIMEFRAMES _period = NULL)
{
//
// Normalize Chart ID ...
mChartID = NormalizeChartId(_chartId);
bool canSetSymbolPeriod =
IsSpecifiedValid(_symbol) &&
IsSpecifiedValid(_period);
//
// Normalize ...
if (!canSetSymbolPeriod)
{
//
mChartID = NormalizeChartId(_chartId);
mSymbol = NormalizeSymbol(_symbol);
mPeriod = NormalizePeriod(_period);
}
else
{
//
SetSymbolPeriod(mSymbol, mPeriod);
}
}
//
@@ -181,7 +200,16 @@ class XCChartHelper : public XCBase
ENUM_TIMEFRAMES period //
)
{
return (ChartSetSymbolPeriod(mChartID, symbol, period));
bool result = (ChartSetSymbolPeriod(mChartID, symbol, period));
if (result)
{
//
mSymbol = symbol;
mPeriod = period;
}
//
return result;
}
/**
@@ -644,6 +672,23 @@ class XCChartHelper : public XCBase
return has;
}
ulong Open()
{
//
mChartID = ChartOpen(mSymbol, mPeriod);
return (mChartID);
}
void Close()
{
//
if (mChartID != -1 && mChartID != 0)
{
ChartClose(mChartID);
mChartID = 0;
}
}
//
// Properties ...
@@ -819,7 +864,9 @@ class XCChartHelper : public XCBase
// Props ...
//
ulong mChartID; // Chart ID ...
ulong mChartID; // Chart ID ...
string mSymbol; // Chart Symbol ...
ENUM_TIMEFRAMES mPeriod; // Chart Period ...
};
//