Как на основе полученного значения (назовём его CSV) рассчитать его максимум(CSVmax26) и минимум(CSVmin26) за период равный 26, а потом произвести вычисления по формуле CSV1_2 = (CSV - CSVmin26)/(CSVmax26-CSVmin26)*100 и вычислить среднюю равную 14. С расчетом CSV я смог справиться, а дальше не получается.
Код: Выделить всё
Код: Выделить всё
function Initialize()
{
IndicatorName = "CSV1_2";
AddInput("Input", Inputs.Candle);
PriceStudy = false;
AddParameter("Period1", 26);
AddSeries("CSV1_2", DrawAs.Line, Color.Blue);
AddGlobalVariable("CSV", Types.Double, 0.0);
AddLevel(20 , Color.Red, "CSV1_2");
AddLevel(40 , Color.Gray, "CSV1_2");
}
function Evaluate()
{
// Alfadirect 2017. OX
if ( CurrentIndex > 0)
if (Input.Close[0] > Input.Close[-3])
CSV = Input.OpenInterest[-3] + Input.OpenInterest[-2] + Input.OpenInterest[-1] + Input.OpenInterest[0];
else
CSV = Input.OpenInterest[-3] - Input.OpenInterest[-2] - Input.OpenInterest[-1] - Input.OpenInterest[0];
}
//----------- Код, оказавшийся вне методов -----------//
//function OnUpdate()
//{
//if (CSV >= Period)
// var max26 = eMaxCSV
// var min26 = eMinCSV
// if ( CurrentIndex >= Period )
// {
// int i = 0;
// for (i = 1; i < Period; i++)
// max26 = Math.Max(CSV[i], max26);
// for (i = 1; i < Period; i++)
// min26 = Math.Min(CSV[i], min26);
//
// CSV1_2 = (CSV - min26)/(max26 - min26)*100;
// }
//}
//}
Вернуться к началу