This commit is contained in:
2024-11-21 17:48:22 +03:30
parent 70a373802d
commit 09fd3627c6
6 changed files with 1755 additions and 841 deletions
+149
View File
@@ -619,6 +619,155 @@ typedef void (*TOnX121SMCSignal)(
X121SMCStrategyConditions &conditions //
);
//
// Time Frames Tools ...
/**
* Calculate Analyse Period ...
*
* @param value: ENUM_TIMEFRAMES member, Specified Trigger Period ...
*
* @return ( ENUM_TIMEFRAMES )
*/
ENUM_TIMEFRAMES GetAnalysePeriod(ENUM_TIMEFRAMES value)
{
//
ENUM_TIMEFRAMES result = NULL;
//
value = NormalizePeriod(value);
//
switch (value)
{
//
case PERIOD_M1:
case PERIOD_M2:
case PERIOD_M3:
case PERIOD_M4:
case PERIOD_M5:
case PERIOD_M6:
case PERIOD_M10:
case PERIOD_M12:
result = PERIOD_M15;
break;
//
case PERIOD_M15:
case PERIOD_M20:
result = PERIOD_M30;
break;
//
case PERIOD_H1:
case PERIOD_H2:
case PERIOD_H3:
result = PERIOD_H4;
break;
//
case PERIOD_H4:
case PERIOD_H6:
case PERIOD_H8:
result = PERIOD_H12;
break;
//
default:
result = NULL;
}
//
return result;
}
bool HasValidAnalysePeriod(
ENUM_TIMEFRAMES value,
ENUM_TIMEFRAMES &period //
)
{
//
bool result = false;
period = GetAnalysePeriod(value);
result = IsValid(period);
//
return result;
}
/**
* Calculate Vision Period ...
*
* @param value: ENUM_TIMEFRAMES member, Specified Trigger Period ...
*
* @return ( ENUM_TIMEFRAMES )
*/
ENUM_TIMEFRAMES GetVisionPeriod(ENUM_TIMEFRAMES value)
{
//
ENUM_TIMEFRAMES result = NULL;
//
value = NormalizePeriod(value);
//
switch (value)
{
//
case PERIOD_M1:
case PERIOD_M2:
case PERIOD_M3:
case PERIOD_M4:
case PERIOD_M5:
case PERIOD_M6:
case PERIOD_M10:
case PERIOD_M12:
result = PERIOD_H1;
break;
//
case PERIOD_M15:
case PERIOD_M20:
result = PERIOD_H2;
break;
//
case PERIOD_H1:
case PERIOD_H2:
case PERIOD_H3:
result = PERIOD_H6;
break;
//
case PERIOD_H4:
case PERIOD_H6:
case PERIOD_H8:
result = PERIOD_D1;
break;
//
default:
result = NULL;
}
//
return result;
}
bool HasValidVisionPeriod(
ENUM_TIMEFRAMES value,
ENUM_TIMEFRAMES &period //
)
{
//
bool result = false;
period = GetVisionPeriod(value);
result = IsValid(period);
//
return result;
}
//
// Extentions ...