Общие вопросы по разработке > Math.Max
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Math.Max
Если это касается серии, тогда если в самый конец документации по скриптам заглянуть, там есть следующие
ВСТРОЕННЫЕ ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ
IsUp(Series, N=1, D=0) – возвращает истинность утверждения «ряд со смещением D растет N точек подряд»
IsDown(Series, N=1, D=0) – возвращает истинность утверждения «ряд со смещением D снижается N точек»
CrossAbove(Series1, Series2) – возвращает истинность утверждения «ряд Series1 пересек вверх ряд Series2»
CrossBelow(Series1, Series2) – возвращает истинность утверждения «ряд Series1 пересек вниз ряд Series2»
MinValue(Series, N=1, D=0) – возвращает минимальное значение из N точек ряд Series со смещением D назад
MaxValue(Series, N=1, D=0) – возвращает максимальное значение из N точек ряд Series со смещением D назад
если это список, то использовать метод Max() для списка
ВСТРОЕННЫЕ ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ
IsUp(Series, N=1, D=0) – возвращает истинность утверждения «ряд со смещением D растет N точек подряд»
IsDown(Series, N=1, D=0) – возвращает истинность утверждения «ряд со смещением D снижается N точек»
CrossAbove(Series1, Series2) – возвращает истинность утверждения «ряд Series1 пересек вверх ряд Series2»
CrossBelow(Series1, Series2) – возвращает истинность утверждения «ряд Series1 пересек вниз ряд Series2»
MinValue(Series, N=1, D=0) – возвращает минимальное значение из N точек ряд Series со смещением D назад
MaxValue(Series, N=1, D=0) – возвращает максимальное значение из N точек ряд Series со смещением D назад
если это список, то использовать метод Max() для списка
никогда такого не было и вот опять
Re: Math.Max
evge, я хотел использовать его для выбора макс/мин значения из рядя Input.Low и Input.High
посмотри пожалуйста, как совместить два индикатора, показывающие разницу между Low и High чтобы они показывали не одновременно, а поочередно (Down на падении Up на росте)
второй
посмотри пожалуйста, как совместить два индикатора, показывающие разницу между Low и High чтобы они показывали не одновременно, а поочередно (Down на падении Up на росте)
Код: Выделить всё
function Initialize()
{
IndicatorName = "DOWN";
AddInput("Input", Inputs.Candle);
AddShadowSeries("D", DrawAs.Custom, Color.Violet);
PriceStudy = true;
AddParameter("P", 2, 1);
}
function Evaluate()
{
if (Input.High[0] > Input.Low[1] && Input.High[0] < Input.High[1]);
D = Math.Max(Input.High[0],Input.High[1]) - Input.Low[0];
D.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 5);
}
второй
Код: Выделить всё
function Initialize()
{
IndicatorName = "UP";
AddInput("Input", Inputs.Candle);
AddShadowSeries("D", DrawAs.Custom, Color.Lime);
PriceStudy = true;
AddParameter("P", 2, 1);
}
function Evaluate()
{
if (Input.High[0] > Input.Low[1] && Input.Low[1] < Input.Low[0]);
D = Input.High[0] - Math.Min(Input.Low[0],Input.Low[1]);
D.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 5);
}
Re: Math.Max
не допру как его заставить показывать поочередно ?
Код: Выделить всё
function Initialize()
{
IndicatorName = "A";
AddInput("Input", Inputs.Candle);
AddShadowSeries("D", DrawAs.Custom, Color.Violet);
AddShadowSeries("U", DrawAs.Custom, Color.Lime);
PriceStudy = true;
AddParameter("P", 2, 1);
}
function Evaluate()
{
if (Math.Max(Input.High[0],Input.High[1]) > MY.индикатор(Input.Close, 0, 0, 2).GetValue("D", 0));
D = Math.Max(Input.High[0],Input.High[1]) - Input.Low[0];
D.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 3);
if (Math.Min(Input.Low[0],Input.Low[1]) < MY.индикатор(Input.Close, 0, 0, 2).GetValue("U", 0));
U = Input.High[0] - Math.Min(Input.Low[0],Input.Low[1]);
U.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 3);
}
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Math.Max
Den писал(а):if (Input.High[0] > Input.Low[1] && Input.High[0] < Input.High[1]);
что это? ведь оно ничего не делает. Условие с пустым выполняемым кодом. Для чего это здесь?
Den писал(а):показывающие разницу между Low и High
Low и High чего?
Den писал(а):Down на падении Up на росте
А где определение? Что такое падение? Что такое рост?
никогда такого не было и вот опять
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Math.Max
Den писал(а):не допру как его заставить показывать поочередно ?
Сначала надо правильно написать условия.
Оба условия в вашем коде ничего не делают, т.к. в конце стоит ";"
никогда такого не было и вот опять
Re: Math.Max
так тоже чёто не выходит.
MY.индикатор дублирует Last (не знаю как сравнить с ним) - то есть если Input.High > Last - падение, если Input.Low <Last - рост
тут углубленo до High[4]/Low[4]
MY.индикатор дублирует Last (не знаю как сравнить с ним) - то есть если Input.High > Last - падение, если Input.Low <Last - рост
тут углубленo до High[4]/Low[4]
Код: Выделить всё
function Initialize()
{
IndicatorName = "A";
AddInput("Input", Inputs.Candle);
AddShadowSeries("D", DrawAs.Custom, Color.Violet);
AddShadowSeries("U", DrawAs.Custom, Color.Lime);
PriceStudy = true;
AddParameter("P", 2, 1);
}
function Evaluate()
{
if (Math.Max(Input.High[0],Input.High[1]) > MY.индикатор(Input.Close, 0, 0, 2).GetValue("D", 0))
D = Math.Max(Math.Max((Math.Max(Input.High[0],Input.High[1])), (Math.Max(Input.High[1],Input.High[2]))),Math.Max((Math.Max(Input.High[2],Input.High[3])), (Math.Max(Input.High[3],Input.High[4])))) - Input.Low[0];
D.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 3);
if (Math.Min(Input.Low[0],Input.Low[1]) < MY.индикатор(Input.Close, 0, 0, 2).GetValue("U", 0))
U = Input.High[0] - Math.Min(Math.Min((Math.Min(Input.Low[0],Input.Low[1])), (Math.Min(Input.Low[1],Input.Low[2]))),Math.Min((Math.Min(Input.Low[2],Input.Low[3])), (Math.Min(Input.Low[3],Input.Low[4]))));
U.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 3);
}
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Math.Max
а что изменилось? убрали ";" и этого достаточно? Ведь код который должен выполнятся в условии нужно брать в фигурные скобки {...}
ну и знать как заложили алгоритм в свой индикатор не могу, это ваш алгоритм
ну и знать как заложили алгоритм в свой индикатор не могу, это ваш алгоритм
никогда такого не было и вот опять
Re: Math.Max
evge , ГДЕ СКОБКИ ПРОПУЩЕНЫ? перед условием и после стоят скобки
индикатор = Last я ж говорю, он движется одновременно с ценой
индикатор = Last я ж говорю, он движется одновременно с ценой
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя