Last works ...

This commit is contained in:
2025-10-03 00:53:51 +03:30
parent b77771b2fc
commit b675e80b27
7 changed files with 3267 additions and 201 deletions
+74
View File
@@ -1361,6 +1361,80 @@ string ToXString(ENUM_X_MA_METHOD value)
return ToString(value);
}
/**
* Converts MA Method ...
**/
ENUM_MA_METHOD ToXMaMethod(ENUM_X_MA_METHOD value)
{
//
ENUM_MA_METHOD result = MODE_SMA;
//
if (!IsXValid(value))
{
return result;
}
//
switch (value)
{
//
case X_MA_MODE_EMA:
result = MODE_EMA;
break;
//
case X_MA_MODE_SMA:
result = MODE_SMA;
break;
//
case X_MA_MODE_LWMA:
result = MODE_LWMA;
break;
//
case X_MA_MODE_SMMA:
result = MODE_SMMA;
break;
}
//
return result;
}
ENUM_X_MA_METHOD ToXMaMethod(ENUM_MA_METHOD value)
{
//
ENUM_X_MA_METHOD result = X_MA_MODE_NONE;
//
switch (value)
{
//
case MODE_EMA:
result = X_MA_MODE_EMA;
break;
//
case MODE_SMA:
result = X_MA_MODE_SMA;
break;
//
case MODE_LWMA:
result = X_MA_MODE_LWMA;
break;
//
case MODE_SMMA:
result = X_MA_MODE_SMMA;
break;
}
//
return result;
}
//
// END Ma Methods ...
//
+71
View File
@@ -946,6 +946,77 @@ struct XBoxZone
return result;
}
/**
* At Bar Index ...
*
* @return ( int )
*/
int AtIndex(
ENUM_TIMEFRAMES forPeriod = NULL //
)
{
//
int result = -1;
//
if (!IsValid() || !IsXValid(at))
{
return result;
}
//
if (!IsSpecifiedValid(forPeriod))
{
forPeriod = period;
}
//
result = GetBarIndex(
symbol,
forPeriod,
at //
);
//
return result;
}
/**
* Retrieve At Bar ...
*
* @return ( bool )
*/
bool AtBar(XOHCL &bar)
{
//
bool result = false;
//
bar.Clean();
//
int idx = AtIndex();
//
result =
IsValid() &&
IsValidIndex(idx);
if (!result)
{
return result;
}
//
result = bar.Init(
symbol,
period,
idx //
);
//
return result;
}
/**
* From Bar Index ...
*