This commit is contained in:
2024-12-29 05:42:27 +03:30
parent 408422dcfc
commit ecdba76c3f
12 changed files with 2310 additions and 104 deletions
+117
View File
@@ -73,10 +73,62 @@ enum ENUM_X_CHART_IDS
X_UPPER,
X_LOWER,
X_ENTRY,
X_TARGET,
X_SL,
X_TP
};
string ToString(ENUM_X_CHART_IDS value) {
//
string result = NULL;
//
switch(value) {
//
case X_TO:
result = "TO";
break;
//
case X_FROM:
result = "FROM";
break;
//
case X_UPPER:
result = "UPPER";
break;
//
case X_LOWER:
result = "LOWER";
break;
//
case X_ENTRY:
result = "ENTRY";
break;
//
case X_TARGET:
result = "TARGET";
break;
//
case X_SL:
result = "SL";
break;
//
case X_TP:
result = "TP";
break;
}
//
return result;
}
//
// Implementation ...
@@ -1760,6 +1812,29 @@ class XCSignalObject : public XCBaseObject
return result;
}
//
// 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)
{
//
mTPTrend.Delete();
mSLTrend.Delete();
return result;
}
}
//
// ENTRY ...
string entrName = ToString(X_ENTRY) + "_" + nameMD5;
@@ -1777,6 +1852,7 @@ class XCSignalObject : public XCBaseObject
//
mTPTrend.Delete();
mSLTrend.Delete();
mTargetTrend.Delete();
return result;
}
@@ -1871,6 +1947,46 @@ class XCSignalObject : public XCBaseObject
mSLTrend.Style(value);
}
//
// TARGET ...
/**
* Set Target Width ...
*
* @param value: Integer ...
*/
void TargetWidth(int value)
{
//
if (value < 1)
{
value = 1;
}
//
mTargetTrend.Width(value);
}
/**
* Set Target Color ...
*
* @param value: Color ...
*/
void TargetColor(color value)
{
mTargetTrend.Color(value);
}
/**
* Set Target Style ...
*
* @param value: ENUM_LINE_STYLE ...
*/
void TargetStyle(ENUM_LINE_STYLE value)
{
mTargetTrend.Style(value);
}
//
// ENTRY ...
@@ -1929,6 +2045,7 @@ class XCSignalObject : public XCBaseObject
CChartObjectTrend mTPTrend;
CChartObjectTrend mSLTrend;
CChartObjectTrend mEntryTrend;
CChartObjectTrend mTargetTrend;
};
//
+25 -3
View File
@@ -2518,6 +2518,7 @@ class XCPOIDrawer : public XCBase
*
* @param state: XPOIState instance Reference ...
* @param drawnObjects: CArrayObj instance for Holding Drawn Objects ...
* @param drawTicksZone: Boolean ...
* @param ignoreSwingHighs: Boolean ...
* @param ignoreSwingLows: Boolean ...
* @param ignoreSupportZones: Boolean ...
@@ -2536,6 +2537,7 @@ class XCPOIDrawer : public XCBase
int DrawState(
XPOIState &state,
XCBaseObject *&drawnObjects[],
bool drawTicksZone = false,
bool ignoreSwingHighs = false,
bool ignoreSwingLows = false,
bool ignoreSupportZones = false,
@@ -3013,6 +3015,24 @@ class XCPOIDrawer : public XCBase
}
}
//
if (drawTicksZone && state.ticksZone != NULL)
{
//
XCTicksZoneObject *iObj;
bool isCreated = CreateTicksZone(
state.ticksZone,
iObj //
);
if (isCreated)
{
Add(
(XCBaseObject *)iObj,
drawnObjects //
);
}
}
//
result = ArraySize(drawnObjects);
@@ -3025,7 +3045,7 @@ class XCPOIDrawer : public XCBase
*
* @param pivot: XPVPivot instance Reference ...
* @param drawState: Boolean ...
* @param filterByPrice: Boolean ...
* @param drawTicksZone: Boolean ...
* @param ignoreSwingHighs: Boolean ...
* @param ignoreSwingLows: Boolean ...
* @param ignoreSupportZones: Boolean ...
@@ -3044,7 +3064,8 @@ class XCPOIDrawer : public XCBase
int DrawPivot(
XPVPivot &pivot,
XCBaseObject *&drawnObjects[],
bool drawState = true,
bool drawState = false,
bool drawTicksZone = false,
bool ignoreSwingHighs = false,
bool ignoreSwingLows = false,
bool ignoreSupportZones = false,
@@ -3099,7 +3120,7 @@ class XCPOIDrawer : public XCBase
(XCBaseObject *)iPivotObj,
drawnObjects //
);
//
result = ArraySize(drawnObjects);
@@ -3120,6 +3141,7 @@ class XCPOIDrawer : public XCBase
int stateCount = DrawState(
pivot.state,
stateObjects,
drawTicksZone,
ignoreSwingHighs,
ignoreSwingLows,
ignoreSupportZones,