last works ...

This commit is contained in:
2025-10-05 23:39:29 +03:30
parent 03d215c9fa
commit 2b48fa569e
4 changed files with 320 additions and 140 deletions
@@ -3985,6 +3985,7 @@ bool ToBox(
return result;
}
//
// Flags for Patterns ...
+227
View File
@@ -28,6 +28,233 @@
//
// Definitions ...
/**
* All Available Market Patterns ...
**/
enum ENUM_X_BAR_PATTERN
{
X_BAR_PATTERN_NONE = 0,
X_BAR_PATTERN_HIGH = 1,
X_BAR_PATTERN_LOW = 2,
X_BAR_PATTERN_MOMENTUM = 3,
X_BAR_PATTERN_ENGULFED = 4,
X_BAR_PATTERN_TRUE_GAPPED = 5,
X_BAR_PATTERN_PINNED = 6,
X_BAR_PATTERN_STAR = 7,
X_BAR_PATTERN_PIERCING = 8,
X_BAR_PATTERN_RISING = 9,
X_BAR_PATTERN_FLAG = 10,
X_BAR_PATTERN_SIGNALKEY = 11,
X_BAR_PATTERN_OB = 12,
X_BAR_PATTERN_FVG = 13,
X_BAR_PATTERN_SUPPORT = 14,
X_BAR_PATTERN_RESISTANCE = 15,
};
/**
* Validate an ENUM member ...
*
* @param value: ENUM_X_BAR_PATTERN ...
*
* @return ( bool )
*/
bool IsXValid(ENUM_X_BAR_PATTERN value)
{
return value != X_BAR_PATTERN_NONE;
}
/**
* Converts a Pattern ENUM to String Representation ...
*
* @param value: ENUM_X_BAR_PATTERN, member ...
*
* @return ( string )
*/
string ToXString(ENUM_X_BAR_PATTERN value)
{
//
string result = NULL;
//
switch (value)
{
//
case X_BAR_PATTERN_NONE:
result = "X_NONE";
break;
//
case X_BAR_PATTERN_HIGH:
result = "XHIGH";
break;
//
case X_BAR_PATTERN_LOW:
result = "XLOW";
break;
//
case X_BAR_PATTERN_MOMENTUM:
result = "XMOMENTUM";
break;
//
case X_BAR_PATTERN_ENGULFED:
result = "XENGULFED";
break;
//
case X_BAR_PATTERN_TRUE_GAPPED:
result = "XGAPPED";
break;
//
case X_BAR_PATTERN_PINNED:
result = "XPINNED";
break;
//
case X_BAR_PATTERN_STAR:
result = "XSTAR";
break;
//
case X_BAR_PATTERN_PIERCING:
result = "XPIERCING";
break;
//
case X_BAR_PATTERN_RISING:
result = "XRISING";
break;
//
case X_BAR_PATTERN_FLAG:
result = "XFLAG";
break;
//
case X_BAR_PATTERN_SIGNALKEY:
result = "XSIGNALKEY";
break;
//
case X_BAR_PATTERN_OB:
result = "XOB";
break;
//
case X_BAR_PATTERN_FVG:
result = "XFVG";
break;
//
case X_BAR_PATTERN_SUPPORT:
result = "XSUPPORT";
break;
//
case X_BAR_PATTERN_RESISTANCE:
result = "XRESISTANCE";
break;
}
//
return result;
}
/**
* Parse an String Representation to it's Corresponding Bar Pattern ENUM ...
*
* @param value: string, provided pattern's string ...
*
* @return ( ENUM_X_BAR_PATTERN )
*/
ENUM_X_BAR_PATTERN ToBarPattern(string value)
{
//
ENUM_X_BAR_PATTERN result = X_BAR_PATTERN_NONE;
//
// Validate ...
if (!IsXValid(value))
{
return result;
}
//
if (value == ToXString(X_BAR_PATTERN_NONE))
{
result = X_BAR_PATTERN_NONE;
}
else if (value == ToXString(X_BAR_PATTERN_HIGH))
{
result = X_BAR_PATTERN_HIGH;
}
else if (value == ToXString(X_BAR_PATTERN_LOW))
{
result = X_BAR_PATTERN_LOW;
}
else if (value == ToXString(X_BAR_PATTERN_MOMENTUM))
{
result = X_BAR_PATTERN_MOMENTUM;
}
else if (value == ToXString(X_BAR_PATTERN_ENGULFED))
{
result = X_BAR_PATTERN_ENGULFED;
}
else if (value == ToXString(X_BAR_PATTERN_TRUE_GAPPED))
{
result = X_BAR_PATTERN_TRUE_GAPPED;
}
else if (value == ToXString(X_BAR_PATTERN_PINNED))
{
result = X_BAR_PATTERN_PINNED;
}
else if (value == ToXString(X_BAR_PATTERN_STAR))
{
result = X_BAR_PATTERN_STAR;
}
else if (value == ToXString(X_BAR_PATTERN_PIERCING))
{
result = X_BAR_PATTERN_PIERCING;
}
else if (value == ToXString(X_BAR_PATTERN_RISING))
{
result = X_BAR_PATTERN_RISING;
}
else if (value == ToXString(X_BAR_PATTERN_FLAG))
{
result = X_BAR_PATTERN_FLAG;
}
else if (value == ToXString(X_BAR_PATTERN_SIGNALKEY))
{
result = X_BAR_PATTERN_SIGNALKEY;
}
else if (value == ToXString(X_BAR_PATTERN_OB))
{
result = X_BAR_PATTERN_OB;
}
else if (value == ToXString(X_BAR_PATTERN_FVG))
{
result = X_BAR_PATTERN_FVG;
}
else if (value == ToXString(X_BAR_PATTERN_SUPPORT))
{
result = X_BAR_PATTERN_SUPPORT;
}
else if (value == ToXString(X_BAR_PATTERN_RESISTANCE))
{
result = X_BAR_PATTERN_RESISTANCE;
}
//
return result;
}
//
// Structures ...
/**
* Represent a Pivot ...
**/