This commit is contained in:
2025-10-24 08:20:27 +03:30
parent 4ba253b2de
commit 645c179b12
5 changed files with 268 additions and 437 deletions
+24 -115
View File
@@ -307,121 +307,6 @@ int GetAllBarPatters(ENUM_X_BAR_PATTERN &dest[])
return ArraySize(dest);
}
/**
* Quarter Zones Actions ...
**/
enum ENUM_X_DETECTOR_ZONE_ACTION
{
X_DETECTOR_ZONE_ACTION_NONE = 0,
//
// Support ...
X_DETECTOR_ZONE_ACTION_MAJOR_SUPPORT_DETECTED = 1,
X_DETECTOR_ZONE_ACTION_MAJOR_SUPPORT_BREAKED = 2,
X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_DETECTED = 3,
X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_REFINED = 4,
X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_BREAKED = 5,
X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_RETESTED = 6,
//
// Resistance ...
X_DETECTOR_ZONE_ACTION_MAJOR_RESISTANCE_DETECTED = 7,
X_DETECTOR_ZONE_ACTION_MAJOR_RESISTANCE_BREAKED = 8,
X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_DETECTED = 9,
X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_REFINED = 10,
X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_BREAKED = 11,
X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_RETESTED = 12,
};
/**
* Validate an ENUM member ...
*
* @param value: ENUM_X_DETECTOR_ZONE_ACTION ...
*
* @return ( bool )
*/
bool IsXValid(ENUM_X_DETECTOR_ZONE_ACTION value)
{
return value != X_DETECTOR_ZONE_ACTION_NONE;
}
/**
* Converts a Pattern ENUM to String Representation ...
*
* @param value: ENUM_X_DETECTOR_ZONE_ACTION, member ...
*
* @return ( string )
*/
string ToXString(ENUM_X_DETECTOR_ZONE_ACTION value)
{
//
string result = NULL;
//
if (!IsXValid(value))
{
return result;
}
//
switch (value)
{
//
case X_DETECTOR_ZONE_ACTION_NONE:
result = "NONE";
break;
//
case X_DETECTOR_ZONE_ACTION_MAJOR_SUPPORT_DETECTED:
result = "MAJOR_SUPPORT_DETECTED";
break;
//
case X_DETECTOR_ZONE_ACTION_MAJOR_SUPPORT_BREAKED:
result = "MAJOR_SUPPORT_BREAKED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_DETECTED:
result = "MINOR_SUPPORT_DETECTED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_REFINED:
result = "MINOR_SUPPORT_REFINED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_BREAKED:
result = "MINOR_SUPPORT_BREAKED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_SUPPORT_RETESTED:
result = "MINOR_SUPPORT_RETESTED";
break;
//
case X_DETECTOR_ZONE_ACTION_MAJOR_RESISTANCE_DETECTED:
result = "MAJOR_RESISTANCE_DETECTED";
break;
//
case X_DETECTOR_ZONE_ACTION_MAJOR_RESISTANCE_BREAKED:
result = "MAJOR_RESISTANCE_BREAKED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_DETECTED:
result = "MINOR_RESISTANCE_DETECTED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_REFINED:
result = "MINOR_RESISTANCE_REFINED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_BREAKED:
result = "MINOR_RESISTANCE_BREAKED";
break;
//
case X_DETECTOR_ZONE_ACTION_MINOR_RESISTANCE_RETESTED:
result = "MINOR_RESISTANCE_RETESTED";
break;
}
//
return result;
}
//
// Structures ...
@@ -1718,6 +1603,9 @@ struct XDirectionShift
}
};
/**
* Configure Draws ...
**/
struct XPOIDrawConfig
{
//
@@ -1726,6 +1614,7 @@ struct XPOIDrawConfig
//
color bullishColor;
color bearishColor;
color neuturalColor;
//
int arrowsWidth;
@@ -1741,6 +1630,12 @@ struct XPOIDrawConfig
bool ignoreZonesAt;
ENUM_LINE_STYLE zonesStyle;
//
int trendWidth;
bool trendRayLeft;
bool trendRayRight;
ENUM_LINE_STYLE trendStyle;
//
// Constructor ...
XPOIDrawConfig()
@@ -1759,6 +1654,7 @@ struct XPOIDrawConfig
//
bullishColor = CLR_NONE;
bearishColor = CLR_NONE;
neuturalColor = CLR_NONE;
//
arrowsWidth = 0;
@@ -1773,6 +1669,12 @@ struct XPOIDrawConfig
zonesFill = false;
ignoreZonesAt = true;
zonesStyle = STYLE_SOLID;
//
trendWidth = 0;
trendRayLeft = false;
trendRayRight = false;
trendStyle = STYLE_DOT;
}
/**
@@ -1783,6 +1685,7 @@ struct XPOIDrawConfig
//
bullishColor = clrAqua;
bearishColor = clrMagenta;
neuturalColor = clrGray;
//
arrowsWidth = 1;
@@ -1797,6 +1700,12 @@ struct XPOIDrawConfig
zonesFill = true;
ignoreZonesAt = true;
zonesStyle = STYLE_SOLID;
//
trendWidth = 2;
trendRayLeft = false;
trendRayRight = true;
trendStyle = STYLE_DOT;
}
//