поставьте фракталы с периодом 1 и тоже самое будет

на следующем баре прошлый бар уже может стать не экстремумом
Код: Выделить всё
function Initialize()
{
IndicatorName = "COUNT";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
}
function Evaluate()
{
var lastLVal = MY.COUNT_II(Input1).GetLastValues ("L", 1)[0];
var lastHVal = MY.COUNT_II(Input1).GetLastValues ("H", 1)[0];
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y) )
if ((MY.COUNT_II(Input1).GetLastValues ("H", 2)[0].Y > MY.COUNT_II(Input1).GetLastValues ("H", 2)[1].Y))
if ((MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y != MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y))
H[1] = MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y;
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y) )
if ((MY.COUNT_II(Input1).GetLastValues ("L", 2)[0].Y < MY.COUNT_II(Input1).GetLastValues ("L", 2)[1].Y))
if ((MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y != MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y))
L[1] = MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y;
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 10, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 10, Color.Lime, 100);
}
Код: Выделить всё
function Initialize()
{
IndicatorName = "COUNT";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
}
function Evaluate()
{
var lastLVal = MY.COUNT_II(Input1).GetLastValues ("L", 1)[0];
var lastHVal = MY.COUNT_II(Input1).GetLastValues ("H", 1)[0];
if ((lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == lastHVal.Y)
if (lastHVal.Y > MY.COUNT_II(Input1).GetLastValues ("H", 2)[1].Y)
if (lastHVal.Y != lastLVal.Y)
H[1] = lastHVal.Y;
if ((lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == lastLVal.Y)
if (lastLVal.Y < MY.COUNT_II(Input1).GetLastValues ("L", 2)[1].Y)
if (lastHVal.Y != lastLVal.Y)
L[1] = lastLVal.Y;
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 10, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 10, Color.Lime, 100);
}
Код: Выделить всё
if (MY.COUNT_II(Input).GetLastValues ("L", 20)[0].Y != MY.COUNT_II(Input).GetLastValues ("H", 20)[0].Y)
D = MY.COUNT_II(Input).GetLastValues ("H", 20)[0].Y - MY.COUNT_II(Input).GetLastValues ("L", 20)[1].Y;
Вернуться в «Общие вопросы по разработке»
Сейчас этот форум просматривают: Google [Bot] и 10 гостей