Add Support for atr in x121 indicator ...
This commit is contained in:
@@ -13390,6 +13390,15 @@ ENUM_X_DIRECTION Opposit(ENUM_X_DIRECTION value)
|
||||
//
|
||||
// Moving Average ...
|
||||
|
||||
enum ENUM_X_MA_METHOD
|
||||
{
|
||||
X_MA_MODE_NONE, // None
|
||||
X_MA_MODE_SMA, // SMA
|
||||
X_MA_MODE_EMA, // EMA
|
||||
X_MA_MODE_LWMA, // LWMA
|
||||
X_MA_MODE_SMMA, // SMMA
|
||||
};
|
||||
|
||||
/**
|
||||
* Calculate Sspecified Buffer's Moving Averages ...
|
||||
*
|
||||
@@ -13397,7 +13406,7 @@ ENUM_X_DIRECTION Opposit(ENUM_X_DIRECTION value)
|
||||
* @param prev_calculated: Integer, Previous Calculate Items ...
|
||||
* @param begin: Integer, Bar Index ...
|
||||
* @param period: Integer, Moving Average Length ...
|
||||
* @param price: Double Array, Specified Array for Calculating Moving Averages ...
|
||||
* @param source: Double Array, Specified Array for Calculating Moving Averages ...
|
||||
* @param buffer: Double Array, Specified Array to Apply Calculated Moving Average on it ...
|
||||
* @param method: ENUM_MA_METHOD member Specified Moving Average Calculation Method ...
|
||||
*
|
||||
@@ -13408,9 +13417,9 @@ int iMAOnBuffer(
|
||||
const int _prev_calculated,
|
||||
const int _begin,
|
||||
const int _period,
|
||||
const double &_price[],
|
||||
const double &_source[],
|
||||
double &_buffer[],
|
||||
ENUM_MA_METHOD _method = MODE_SMA //
|
||||
ENUM_X_MA_METHOD _method = X_MA_MODE_SMA //
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -13421,6 +13430,7 @@ int iMAOnBuffer(
|
||||
_period < 0 ||
|
||||
_rates_total <= 0 ||
|
||||
_prev_calculated < 0 ||
|
||||
_method == X_MA_MODE_NONE ||
|
||||
_prev_calculated > _rates_total)
|
||||
{
|
||||
return result;
|
||||
@@ -13430,49 +13440,49 @@ int iMAOnBuffer(
|
||||
switch (_method)
|
||||
{
|
||||
//
|
||||
case MODE_SMA:
|
||||
case X_MA_MODE_SMA:
|
||||
result = SimpleMAOnBuffer(
|
||||
_rates_total,
|
||||
_prev_calculated,
|
||||
_begin,
|
||||
_period,
|
||||
_price,
|
||||
_source,
|
||||
_buffer //
|
||||
);
|
||||
break;
|
||||
|
||||
//
|
||||
case MODE_EMA:
|
||||
case X_MA_MODE_EMA:
|
||||
result = ExponentialMAOnBuffer(
|
||||
_rates_total,
|
||||
_prev_calculated,
|
||||
_begin,
|
||||
_period,
|
||||
_price,
|
||||
_source,
|
||||
_buffer //
|
||||
);
|
||||
break;
|
||||
|
||||
//
|
||||
case MODE_LWMA:
|
||||
case X_MA_MODE_LWMA:
|
||||
result = LinearWeightedMAOnBuffer(
|
||||
_rates_total,
|
||||
_prev_calculated,
|
||||
_begin,
|
||||
_period,
|
||||
_price,
|
||||
_source,
|
||||
_buffer //
|
||||
);
|
||||
break;
|
||||
|
||||
//
|
||||
case MODE_SMMA:
|
||||
case X_MA_MODE_SMMA:
|
||||
result = SmoothedMAOnBuffer(
|
||||
_rates_total,
|
||||
_prev_calculated,
|
||||
_begin,
|
||||
_period,
|
||||
_price,
|
||||
_source,
|
||||
_buffer //
|
||||
);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user