Общие вопросы по разработке > CurrentIndex
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: CurrentIndex
на следующем баре прошлый бар уже может стать не экстремумом
поставьте фракталы с периодом 1 и тоже самое будет погрешность 1 бар
поставьте фракталы с периодом 1 и тоже самое будет погрешность 1 бар
никогда такого не было и вот опять
Re: CurrentIndex
на следующем баре прошлый бар уже может стать не экстремумом
это точно, но в общем суть в том, что фракталы для моей цели не подойдут здесь.
Пробовал уже фракталы перед обращением
Вы просто гляньте на последний код COUNT что в нем не так? Может тут просто какая нибудь мелочь
Код: Выделить всё
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);
}
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: CurrentIndex
В нём всё так, разве что излишне повторяется вызов индикатра, хотя уже были заданы переменные нужные и код можно было сделать гораздо короче, но на работу это не влияет.
А не работают условия, взгляните на свой индикатор COUNT_II и попробуйте логически выполнить те условия, что прописаны в COUNT, они просто не выполняются никогда, т.к. в COUNT_II индикаторе на всех барах есть сигналы и H и L
чуть упрощенный код COUNT
и самое главное "зачем это всё???"
А не работают условия, взгляните на свой индикатор COUNT_II и попробуйте логически выполнить те условия, что прописаны в COUNT, они просто не выполняются никогда, т.к. в COUNT_II индикаторе на всех барах есть сигналы и H и L
чуть упрощенный код COUNT
Код: Выделить всё
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);
}
и самое главное "зачем это всё???"
никогда такого не было и вот опять
Re: CurrentIndex
Евгений , не подскажете как можно вычесть L из Н ?
- Вложения
-
- jio.png (7.35 КБ) 16511 просмотров
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: CurrentIndex
логично
я почему спросил, применительно к коду выше не выходит скажем так
(20 баров к примеру глубина)
я почему спросил, применительно к коду выше не выходит скажем так
(20 баров к примеру глубина)
Код: Выделить всё
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;
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: CurrentIndex
зачем 20, можно и 1 значение возвращать, главное что бы ваш COUNT_II обозначил эти экстремумы только
никогда такого не было и вот опять
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей