Общие вопросы по разработке > Ошибка при сравнении Bool и Double
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Ошибка при сравнении Bool и Double
Конечно, его же нет, как просили
Отображение последних значений функция работает для последнего видимого бара. Откатите график так что бы стрелки и значения гистограммы были на последнем баре и увидите значение.
Отображение последних значений функция работает для последнего видимого бара. Откатите график так что бы стрелки и значения гистограммы были на последнем баре и увидите значение.
никогда такого не было и вот опять
Re: Ошибка при сравнении Bool и Double
Да точно, видно. Но тут отсчет же идет не от последнего , удовлетворившего условию ? Раз они отображаются не поочередно, или поочередности H L тут не достигнуть?
Re: Ошибка при сравнении Bool и Double
Евгений, подскажите пожалуйста как ограничить высоту бара
То есть исключить бары ниже определенной высоты.
То есть исключить бары ниже определенной высоты.
Код: Выделить всё
function Initialize()
{
IndicatorName = "A;
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
}
function Evaluate()
{
if (Input.High[0] >= MY.индикатор_LAST(Input).GetValue("Last", 0) )
{
H[0] = Input1.High[0];
}
if (Input.Low[0] <= MY.индикатор_LAST(Input).GetValue("Last", 0) )
{
L[0] = Input1.Low[0];
}
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 5, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 5, Color.Lime, 100);
}
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Ошибка при сравнении Bool и Double
Код: Выделить всё
var HeightAll = Input1.High - Input1.Low;
var HeightBody = Math.Abs(Input1.Open - Input1.Close);
//Если тело свечи больше 10
if (HeightBody > 10)
{
...
}
никогда такого не было и вот опять
Re: Ошибка при сравнении Bool и Double
Евгений , спасибо за ответ.
А как установить ограничение на высоту массива из нескольких баров (больше одного) ?
Число баров может быть разное (то есть не в пределах одного как он отметил).
А как установить ограничение на высоту массива из нескольких баров (больше одного) ?
Число баров может быть разное (то есть не в пределах одного как он отметил).
- Вложения
-
- 13.png (7.19 КБ) 19484 просмотра
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Ошибка при сравнении Bool и Double
MinValue(Series, N=1, D=0) – возвращает минимальное значение из N точек ряд Series со смещением D назад
MaxValue(Series, N=1, D=0) – возвращает максимальное значение из N точек ряд Series со смещением D назад
Ранее (год назад) эти методы не работали в индикаторах, только в стратегиях. Может быть добавили и уже работают.
Если не сработает в индикаторе, значит ищем другим методом минимум и максимум за период.
MaxValue(Series, N=1, D=0) – возвращает максимальное значение из N точек ряд Series со смещением D назад
Код: Выделить всё
int Count = 5;
double Min = MinValue(Input1.Low, Count, 0);
double Max = MaxValue(Input1.High, Count, 0);
double HeightAll = Max - Min;
//Если высота Count баров больше 10
if (HeightAll > 10)
{
...
}
Ранее (год назад) эти методы не работали в индикаторах, только в стратегиях. Может быть добавили и уже работают.
Если не сработает в индикаторе, значит ищем другим методом минимум и максимум за период.
никогда такого не было и вот опять
Re: Ошибка при сравнении Bool и Double
а как его сюда интегрировать, исправьте пожалуйста
Код: Выделить всё
function Initialize()
{
IndicatorName = "A";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
AddShadowSeries("D", DrawAs.Custom, Color.HotPink);
}
function Evaluate()
{
var HeightAll = Input.High - Input.Low;
var HeightBody = Math.Abs(Input.High - Input.Low);
if (Input.High[0] >= MY.индикатор_LAST(Input).GetValue("Last", 0) )
{
if (HeightBody >= 0.14)
H[0] = Input1.High[0];
}
if (Input.Low[0] <= MY.индикатор_LAST(Input).GetValue("Last", 0) )
{
if (HeightBody >= 0.14)
L[0] = Input1.Low[0];
}
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 5, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 5, Color.Lime, 100);
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Ошибка при сравнении Bool и Double
Проверил, так и не добавили возможность в индикаторах АД4 использовать MinValue, MaxValue. Что странно!
Поэтому так:
Поэтому так:
Код: Выделить всё
function Initialize()
{
IndicatorName = "A";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
AddShadowSeries("D", DrawAs.Custom, Color.HotPink);
}
function Evaluate()
{
int Count = 5;
double Min = Double.MaxValue;
double Max = 0;
for (int x = 0; x < Count; x++)
{
if (Input1.Close[x] > Max) Max = Input1.Close[x];
if (Input1.Open[x] > Max) Max = Input1.Open[x];
if (Input1.Close[x] < Min) Min = Input1.Close[x];
if (Input1.Open[x] < Min) Min = Input1.Open[x];
}
double HeightBody = Max - Min;
if (Input.High[0] >= MY.индикатор_LAST(Input).GetValue("Last", 0) )
{
if (HeightBody >= 0.14)
H[0] = Input1.High[0];
}
if (Input.Low[0] <= MY.индикатор_LAST(Input).GetValue("Last", 0) )
{
if (HeightBody >= 0.14)
L[0] = Input1.Low[0];
}
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 5, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 5, Color.Lime, 100);
}
никогда такого не было и вот опять
Re: Ошибка при сравнении Bool и Double
в предыдущем виде с ограничением на высоту одного бара он показывает так,
- Вложения
-
- frr.png (7.93 КБ) 19475 просмотров
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей