Свободная трибуна > Замена Input1 на переменную

Свободная тематика, обсуждаем любые темы
KotangenS
Сообщения: 9
Зарегистрирован: 10 апр 2020, 11:30
Благодарил (а): 1 раз

Замена Input1 на переменную

Непрочитанное сообщение KotangenS » 08 апр 2022, 09:32

Здравствуйте, форумчане.
Есть ли какая-нибудь возможность заменить Input1 на переменную?

Исходная ситуация:

Код: Выделить всё

   AddInput("Input1", Inputs.Candle, 15, true, "");
   AddInput("Input2", Inputs.Candle, 15, false, "");
   AddInput("Input3", Inputs.Candle, 15, false, "");
double q1 = SMA(Input1.Close, 21);
double q2 = SMA(Input2.Close, 21);
double q3 = SMA(Input3.Close, 21);


Цель получать данные в цикле.
i = 1;
m = "Input" + i;
Rez = SMA(m.Close, 21); // так выдает ошибку

Может кто знает как правильно это (m.Close) записать и вообще можно ли?

Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Замена Input1 на переменную

Непрочитанное сообщение evge » 09 апр 2022, 08:23

Приветствую

Код: Выделить всё

AllInputs["Input1"].Close[0]
AllInputs["Input1"].Close
AllInputs["Input1"].Low
...


обход всех в цикле

Код: Выделить всё

foreach (AdsInput m in AllInputs.Values) { var Rez = EMA(m.Close, 21); }
никогда такого не было и вот опять

KotangenS
Сообщения: 9
Зарегистрирован: 10 апр 2020, 11:30
Благодарил (а): 1 раз

Re: Замена Input1 на переменную

Непрочитанное сообщение KotangenS » 10 апр 2022, 09:58

evge, спасибо. Работает как надо!

У меня еще такой вопрос: как Вы нашли команду AdsInput и AllInputs.Values? Существуют еще какие-нибудь значения у объекта AllInputs?
Как можно о них узнать?
В СКРИПТЫ ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ И СТРАТЕГИЙ таких команд нет. :roll:

Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Замена Input1 на переменную

Непрочитанное сообщение evge » 10 апр 2022, 13:32

Подсмотрел через ILSpy.
Да, команд в документации нет, недокументированы, а это значит и гарантии что будет работать в будущих версиях АД4 тоже нет.

ad4-ILSpy.png
никогда такого не было и вот опять

Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Замена Input1 на переменную

Непрочитанное сообщение evge » 11 апр 2022, 05:29

KotangenS писал(а):Существуют еще какие-нибудь значения у объекта AllInputs?


Словарь, ключ (key) + значение (value).
Ключ - строка имя серии, значение - серия AdsInput.
никогда такого не было и вот опять

Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Замена Input1 на переменную

Непрочитанное сообщение evge » 11 апр 2022, 05:29

KotangenS писал(а):Существуют еще какие-нибудь значения у объекта AllInputs?


Это словарь (Dictionary): ключ (key) и значение (value).

Ключ - строка имя серии, значение - серия AdsInput.

т.е. в AllInputs ничего более нет, кроме наименования серии и самой сериию
никогда такого не было и вот опять


Вернуться в «Свободная трибуна»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей