Re: Как суммировать показания за день?
Добавлено: 19 окт 2017, 17:23
а вниз сумма 374 пункта, то есть меньше чем на самом деле
Неофициальный форум клиентского терминала Альфа-Инвестиции (Альфа-Директ 4). Обсуждение терминала, обмен опытом, разработка скриптов индикаторов и стратегий.
https://www.alfadirect4.ru/
Den писал(а):Евгений , это решается?
Код: Выделить всё
function Initialize()
{
IndicatorName = "1";
AddInput("Input1", Inputs.Candle);
AddParameter("Period", 5, 0);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
AddGlobalVariable("CountUp", Types.Int, 0);
AddGlobalVariable("CountDn", Types.Int, 0);
AddGlobalVariable("HH", Types.Double, 0.0);
AddGlobalVariable("LL", Types.Double, 100000000.0);
}
function Evaluate()
{
if (CurrentIndex > 2)
{
if ( Input1.Close[0] < Input1.Close[1] && Input1.Close[1] >= Input1.Close[2] )
{
if ( Input1.Close[1] > HH )
{
CountUp++;
HH = Input1.Close[1];
if ( CountUp >= 1 )
{
H[-1] = HH;
CountDn = 0;
LL = 1000000000.0;
}
}
}
if ( Input1.Close[0] > Input1.Close[1] && Input1.Close[1] <= Input1.Close[2] )
{
if ( Input1.Close[1] < LL )
{
CountDn++;
LL = Input1.Close[1];
if ( CountDn >= 1 )
{
L[-1] = LL;
CountUp = 0;
HH = 0.0;
}
}
}
H.DrawArrowDown(Color.Red, LineStyles.Solid, 5, Color.Red, 100);
L.DrawArrowUp(Color.Green, LineStyles.Solid, 5, Color.Green, 100);
}
}
Код: Выделить всё
function Initialize()
{
IndicatorName = "A_DOWN_X";
AddInput("Input", Inputs.Candle);
AddShadowSeries("D", DrawAs.Custom, Color.Lime);
AddShadowSeries("U", DrawAs.Custom, Color.Violet);
AddShadowSeries("S", DrawAs.Custom, Color.Magenta);
AddGlobalVariable("Summa", Types.Double, 0);
PriceStudy = true;
AddParameter("P", 2, 1);
}
function Evaluate()
{
if (BarDate(1) != BarDate(0))
Summa = 0;
var lastLVal = MY.индикатор(Input).GetLastValues ("L", 1)[0];
var lastHVal = MY.индикатор(Input).GetLastValues ("H", 1)[0];
if (( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.индикатор(Input).GetLastValues ("H", 1)[0].Y) ) || ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.индикатор(Input).GetLastValues ("L", 1)[0].Y) ))
{
D = (MY.индикатор(Input).GetLastValues ("H", 1)[0].Y) - (MY.индикатор(Input).GetLastValues ("L", 1)[0].Y);
Summa += D[0];
}
D.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 3);
S = Summa;
}
Как суммировать за день (с 10-00 до 23-50) показания индикатора , который рассчитывает разницу между ПОСЛЕДНИМИ сигналами (High и Low) ?