last ...
This commit is contained in:
@@ -43,6 +43,7 @@ enum ENUM_XCHARTOBJECTS
|
||||
//
|
||||
X_SIGNAL_OBJ = 8860,
|
||||
X_TREND_OBJ = 8861,
|
||||
X_XPVPIVOT_OBJ = 8862,
|
||||
//
|
||||
// Structured ...
|
||||
X_TRADE_DAY_OBJ = 9860,
|
||||
@@ -78,49 +79,51 @@ enum ENUM_X_CHART_IDS
|
||||
X_TP
|
||||
};
|
||||
|
||||
string ToString(ENUM_X_CHART_IDS value) {
|
||||
string ToString(ENUM_X_CHART_IDS value)
|
||||
{
|
||||
//
|
||||
string result = NULL;
|
||||
|
||||
//
|
||||
switch(value) {
|
||||
//
|
||||
case X_TO:
|
||||
switch (value)
|
||||
{
|
||||
//
|
||||
case X_TO:
|
||||
result = "TO";
|
||||
break;
|
||||
|
||||
//
|
||||
case X_FROM:
|
||||
//
|
||||
case X_FROM:
|
||||
result = "FROM";
|
||||
break;
|
||||
|
||||
//
|
||||
case X_UPPER:
|
||||
//
|
||||
case X_UPPER:
|
||||
result = "UPPER";
|
||||
break;
|
||||
|
||||
//
|
||||
case X_LOWER:
|
||||
//
|
||||
case X_LOWER:
|
||||
result = "LOWER";
|
||||
break;
|
||||
|
||||
//
|
||||
case X_ENTRY:
|
||||
//
|
||||
case X_ENTRY:
|
||||
result = "ENTRY";
|
||||
break;
|
||||
|
||||
//
|
||||
case X_TARGET:
|
||||
//
|
||||
case X_TARGET:
|
||||
result = "TARGET";
|
||||
break;
|
||||
|
||||
//
|
||||
case X_SL:
|
||||
//
|
||||
case X_SL:
|
||||
result = "SL";
|
||||
break;
|
||||
|
||||
//
|
||||
case X_TP:
|
||||
//
|
||||
case X_TP:
|
||||
result = "TP";
|
||||
break;
|
||||
}
|
||||
@@ -1719,6 +1722,7 @@ class XCBearishFairValueGapObject : public XCZoneObject
|
||||
return X_BEARISH_FVG_OBJ;
|
||||
}
|
||||
};
|
||||
|
||||
//
|
||||
// Signal ...
|
||||
class XCSignalObject : public XCBaseObject
|
||||
@@ -1814,25 +1818,26 @@ class XCSignalObject : public XCBaseObject
|
||||
|
||||
//
|
||||
// TARGET ...
|
||||
if (signal.target > 0) {
|
||||
//
|
||||
string targetName = ToString(X_TARGET) + "_" + nameMD5;
|
||||
result = mTargetTrend.Create(
|
||||
chart_id,
|
||||
targetName,
|
||||
window,
|
||||
time1,
|
||||
signal.target,
|
||||
time2,
|
||||
signal.target //
|
||||
);
|
||||
if (!result)
|
||||
if (signal.target > 0)
|
||||
{
|
||||
//
|
||||
mTPTrend.Delete();
|
||||
mSLTrend.Delete();
|
||||
return result;
|
||||
}
|
||||
string targetName = ToString(X_TARGET) + "_" + nameMD5;
|
||||
result = mTargetTrend.Create(
|
||||
chart_id,
|
||||
targetName,
|
||||
window,
|
||||
time1,
|
||||
signal.target,
|
||||
time2,
|
||||
signal.target //
|
||||
);
|
||||
if (!result)
|
||||
{
|
||||
//
|
||||
mTPTrend.Delete();
|
||||
mSLTrend.Delete();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
@@ -2048,6 +2053,166 @@ class XCSignalObject : public XCBaseObject
|
||||
CChartObjectTrend mTargetTrend;
|
||||
};
|
||||
|
||||
//
|
||||
// XPVPivot Object ...
|
||||
class XCXPVPivotObject : public XCBaseObject
|
||||
{
|
||||
//
|
||||
public:
|
||||
//
|
||||
|
||||
/**
|
||||
* Creator ...
|
||||
*
|
||||
* @param chart_id: Long, Specified Chart ID ...
|
||||
* @param window: Integer, Specified Chart Window ID ...
|
||||
* @param pivot: XPVPivot instance ...
|
||||
* @param prefix: String ...
|
||||
*
|
||||
* @return ( bool )
|
||||
*/
|
||||
bool Create(
|
||||
long chart_id,
|
||||
int window,
|
||||
XPVPivot &pivot,
|
||||
string prefix = NULL //
|
||||
)
|
||||
{
|
||||
//
|
||||
bool result = false;
|
||||
|
||||
//
|
||||
result = pivot.IsValid();
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
string name = pivot.GetTag();
|
||||
if (IsValid(prefix))
|
||||
{
|
||||
name = prefix + "_" + name;
|
||||
}
|
||||
|
||||
//
|
||||
result = mRect.Create(
|
||||
chart_id,
|
||||
name,
|
||||
window,
|
||||
pivot.from,
|
||||
pivot.upper,
|
||||
pivot.to,
|
||||
pivot.lower //
|
||||
);
|
||||
|
||||
//
|
||||
if (result)
|
||||
{
|
||||
ObjName(name);
|
||||
}
|
||||
|
||||
//
|
||||
string mTrendName = "MID_" + name;
|
||||
double mid = pivot.CalculateMid();
|
||||
result = mTrend.Create(
|
||||
chart_id,
|
||||
mTrendName,
|
||||
window,
|
||||
pivot.from,
|
||||
mid,
|
||||
pivot.to,
|
||||
mid //
|
||||
);
|
||||
if (!result)
|
||||
{
|
||||
//
|
||||
mRect.Delete();
|
||||
mRect.Detach();
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Getter(s) / Setter(s) ...
|
||||
|
||||
/**
|
||||
* Set Pivot Width ...
|
||||
*
|
||||
* @param value: Integer ...
|
||||
*/
|
||||
void PivotWidth(int value)
|
||||
{
|
||||
//
|
||||
if (value < 1)
|
||||
{
|
||||
value = 1;
|
||||
}
|
||||
|
||||
//
|
||||
mRect.Width(value);
|
||||
mTrend.Width(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Pivot Color ...
|
||||
*
|
||||
* @param value: Color ...
|
||||
*/
|
||||
void PivotColor(color value)
|
||||
{
|
||||
//
|
||||
mRect.Color(value);
|
||||
mTrend.Color(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Pivot Style ...
|
||||
*
|
||||
* @param value: ENUM_LINE_STYLE member ...
|
||||
*/
|
||||
void PivotStyle(ENUM_LINE_STYLE value)
|
||||
{
|
||||
//
|
||||
mRect.Style(value);
|
||||
mTrend.Style(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Pivot Fill ...
|
||||
*
|
||||
* @param value: Boolean ...
|
||||
*/
|
||||
void PivotFill(bool value)
|
||||
{
|
||||
mRect.Fill(value);
|
||||
}
|
||||
|
||||
//
|
||||
// Virtual ...
|
||||
|
||||
/**
|
||||
* Retrieve Object Type ...
|
||||
*
|
||||
* @return ( ENUM_XCHARTOBJECTS )
|
||||
*/
|
||||
virtual ENUM_XCHARTOBJECTS Type()
|
||||
{
|
||||
return X_XPVPIVOT_OBJ;
|
||||
}
|
||||
|
||||
//
|
||||
private:
|
||||
//
|
||||
|
||||
//
|
||||
// Props ...
|
||||
CChartObjectRectangle mRect;
|
||||
CChartObjectTrend mTrend;
|
||||
};
|
||||
|
||||
//
|
||||
// Zone Ticks ...
|
||||
|
||||
@@ -2256,6 +2421,14 @@ class XCTickZoneObject : public XCBaseObject
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
double points = GetPoints(zone.symbol);
|
||||
if (points <= 0)
|
||||
{
|
||||
points = 1;
|
||||
}
|
||||
double distance = 1 * points;
|
||||
|
||||
//
|
||||
if (IsValid(prefix))
|
||||
{
|
||||
@@ -2279,13 +2452,17 @@ class XCTickZoneObject : public XCBaseObject
|
||||
}
|
||||
|
||||
//
|
||||
string lblName = "LBL_" + name;
|
||||
result = mLabel.Create(
|
||||
int fromToDiff = ((int) to - (int) from);
|
||||
datetime labelsDate = (datetime)((int)to - (fromToDiff / 5));
|
||||
|
||||
//
|
||||
string lblName = "LBLT_" + name;
|
||||
result = mTLabel.Create(
|
||||
chart_id,
|
||||
lblName,
|
||||
window,
|
||||
to,
|
||||
zone.high //
|
||||
labelsDate,
|
||||
zone.high - distance //
|
||||
);
|
||||
if (!result)
|
||||
{
|
||||
@@ -2293,7 +2470,7 @@ class XCTickZoneObject : public XCBaseObject
|
||||
}
|
||||
|
||||
//
|
||||
mLabel.Description(ToString(zone.percent) + "%");
|
||||
mTLabel.Description("T: " + ToString(zone.percent) + "%");
|
||||
|
||||
//
|
||||
string lblVName = "LBLV_" + name;
|
||||
@@ -2301,8 +2478,8 @@ class XCTickZoneObject : public XCBaseObject
|
||||
chart_id,
|
||||
lblVName,
|
||||
window,
|
||||
to,
|
||||
zone.low //
|
||||
labelsDate,
|
||||
zone.low + (2.5 * distance) //
|
||||
);
|
||||
if (!result)
|
||||
{
|
||||
@@ -2310,7 +2487,7 @@ class XCTickZoneObject : public XCBaseObject
|
||||
}
|
||||
|
||||
//
|
||||
mVLabel.Description(ToString(zone.volumePercent) + "%");
|
||||
mVLabel.Description("V: " + ToString(zone.volumePercent) + "%");
|
||||
|
||||
//
|
||||
ObjName(name);
|
||||
@@ -2390,7 +2567,7 @@ class XCTickZoneObject : public XCBaseObject
|
||||
void LabelColor(color value)
|
||||
{
|
||||
//
|
||||
mLabel.Color(value);
|
||||
mTLabel.Color(value);
|
||||
mVLabel.Color(value);
|
||||
}
|
||||
|
||||
@@ -2402,7 +2579,7 @@ class XCTickZoneObject : public XCBaseObject
|
||||
void LabelSize(int value)
|
||||
{
|
||||
//
|
||||
mLabel.FontSize(value);
|
||||
mTLabel.FontSize(value);
|
||||
mVLabel.FontSize(value);
|
||||
}
|
||||
|
||||
@@ -2414,7 +2591,7 @@ class XCTickZoneObject : public XCBaseObject
|
||||
void LabelFont(string value)
|
||||
{
|
||||
//
|
||||
mLabel.Font(value);
|
||||
mTLabel.Font(value);
|
||||
mVLabel.Font(value);
|
||||
}
|
||||
|
||||
@@ -2426,7 +2603,7 @@ class XCTickZoneObject : public XCBaseObject
|
||||
void LabelAngle(double value)
|
||||
{
|
||||
//
|
||||
mLabel.Angle(value);
|
||||
mTLabel.Angle(value);
|
||||
mVLabel.Angle(value);
|
||||
}
|
||||
|
||||
@@ -2435,7 +2612,7 @@ class XCTickZoneObject : public XCBaseObject
|
||||
//
|
||||
// Props ...
|
||||
CChartObjectRectangle mRect;
|
||||
CChartObjectLabel mLabel;
|
||||
CChartObjectLabel mTLabel;
|
||||
CChartObjectLabel mVLabel;
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user