Стратегии и роботы > Среднее значение глобальной переменной
Среднее значение глобальной переменной
Помогите пожалуйста с реализацией кода: требуется находить на текущем баре среднее значение глобальной переменной X за 5 последних баров, при том, что значение X на каждом баре пересчитывается. 
  
			
									
						Re: Среднее значение глобальной переменной
realuse писал(а):Помогите пожалуйста с реализацией кода: требуется находить на текущем баре среднее значение глобальной переменной X за 5 последних баров, при том, что значение X на каждом баре пересчитывается.![]()
вот такая болванка
Код: Выделить всё
List<double> xValues = new List<double>(); // Список для хранения значений X
function Initialize()
{
    IndicatorName = "Average_X_Last_5_Bars";
    AddInput("Input", Inputs.Candle);
    AddGlobalVariable("X", Types.Double, 0.0); // Глобальная переменная X
}
function Evaluate()
{
    // Пересчитываем значение глобальной переменной X на текущем баре
    var currentValueOfX = CalculateNewValueOfX(); // твоя логика для вычисления X
    SetVariable("X", currentValueOfX);
    // Добавляем новое значение X в список
    xValues.Add(currentValueOfX);
    // Ограничиваем список до последних 5 значений
    if (xValues.Count > 5)
    {
        xValues.RemoveAt(0); // Удаляем самое старое значение
    }
    // Если у нас достаточно значений (не менее 5), то считаем среднее
    if (xValues.Count == 5)
    {
        var averageX = xValues.Average();
        Print("Среднее значение X за последние 5 баров: " + averageX);
    }
}
// Пример функции, которая пересчитывает значение X (нужно заменить на твою логику)
double CalculateNewValueOfX()
{
    // Здесь твой код для вычисления нового значения X
    return new Random().NextDouble() * 100; // Пример случайного значения
}
Вернуться в «Стратегии и роботы»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 20 гостей