
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так а всё-таки, как быть с цветами? Так и писать Red, White....?
Можно clrRed и clrWhite, а можно и C'255,0,0' и C'255,255,255'. Это уж как душа захочет.
Ну а по сути ветки. Если есть какие-то параметры, которые не требуется каждый раз указывать и имеется код индикатора, то разместите ненужные параметры ниже, а нужные - выше. В итоге при вызове iCustom достаточно будет перечислить первые "нужные" параметры. Все остальные будут приняты такими, какие указаны в индикаторе в значениях по умолчанию.
Пример:
Если нужно указать значения для параметров i_n1 - i_n6, а i_f1 - i_f4 оставить равными 8.9, то вызов будет такой:
В итоге параметры индикатора примут такие значения:
i_n1 = 4
i_n2 = 6
i_n3 = 7
i_n4 = 30
i_clr5 = clrGreen
i_n6 = 3
i_f1 = 8.9
i_f2 = 8.9
i_f3 = 8.9
i_f4 = 8.9
Ну а полученное значение от iCustom будет для буфера с индексом 0 и бара с индексом 1.
мне тоже интересен этот вопрос, но у меня никогда не было 27 параметров ;)
предполагаю, что параметры должны указываться в порядке следования, но остановиться можно на любом, а дальше концовка из 2-х стандартных параметров функции iCustom?
Да
Можно clrRed и clrWhite, а можно и C'255,0,0' и C'255,255,255'. Это уж как душа захочет.
Ну а по сути ветки. Если есть какие-то параметры, которые не требуется каждый раз указывать и имеется код индикатора, то разместите ненужные параметры ниже, а нужные - выше. В итоге при вызове iCustom достаточно будет перечислить первые "нужные" параметры. Все остальные будут приняты такими, какие указаны в индикаторе в значениях по умолчанию.
Пример:
Если нужно указать значения для параметров i_n1 - i_n6, а i_f1 - i_f4 оставить равными 8.9, то вызов будет такой:
В итоге параметры индикатора примут такие значения:
i_n1 = 4
i_n2 = 6
i_n3 = 7
i_n4 = 30
i_clr5 = clrGreen
i_n6 = 3
i_f1 = 8.9
i_f2 = 8.9
i_f3 = 8.9
i_f4 = 8.9
Ну а полученное значение от iCustom будет для буфера с индексом 0 и бара с индексом 1.
В итоге параметры индикатора примут такие значения:
i_n1 = 4
i_n2 = 6
i_n3 = 7
i_n4 = 30
i_clr5 = clrGreen
i_n6 = 3
i_f1 = 0
i_f2 = 1
i_f3 = 8.9
i_f4 = 8.9
В итоге параметры индикатора примут такие значения:
i_n1 = 4
i_n2 = 6
i_n3 = 7
i_n4 = 30
i_clr5 = clrGreen
i_n6 = 3
i_f1 = 0
i_f2 = 1
i_f3 = 8.9
i_f4 = 8.9
С чего вдруг?
В итоге параметры индикатора примут такие значения:
i_n1 = 4
i_n2 = 6
i_n3 = 7
i_n4 = 30
i_clr5 = clrGreen
i_n6 = 3
i_f1 = 0
i_f2 = 1
i_f3 = 8.9
i_f4 = 8.9
Последние 0 и 1 - это не входные параметры индикатора. Это индекс буфера, с которого будут считаны значения, и индекс бара, для которого будет взято значение из буфера. В коде я специально поставил перед ними лишний пробел, чтобы визуально отделить от входных параметров.
Последние 0 и 1 - это не входные параметры индикатора. Это индекс буфера, с которого будут считаны значения, и индекс бара, для которого будет взято значение из буфера. В коде я специально поставил перед ними лишний пробел, чтобы визуально отделить от входных параметров.
А откуда это известно? Если вы не передали ВСЕ параметры, то с какого перепугу лишний пробел будет их замещать?
А откуда это известно? Если вы не передали ВСЕ параметры, то с какого перепугу лишний пробел будет их замещать?
Пробел только для улучшения визуального восприятия приведен )))
Ну а параметры компилятор посчитать сможет. Два последних аргумента сразу будут отброшены из списка параметров индикатора, т. к. это обязательные аргументы: индекс буфера и индекс бара. Все, что осталось между именем и индексом буфера - это входные параметры индикатора.
Пробел только для улучшения визуального восприятия приведен )))
Ну а параметры компилятор посчитать сможет. Два последних аргумента сразу будут отброшены из списка параметров индикатора, т. к. это обязательные аргументы: индекс буфера и индекс бара. Все, что осталось между именем и индексом буфера - это входные параметры индикатора.
Я чего-то не понимаю.
iCustom
Возвращает хэндл указанного пользовательского индикатора.
int iCustom(
string symbol, // имя символа
ENUM_TIMEFRAMES period, // период
string name // папка/имя_пользовательского индикатора
... // список входных параметров индикатора
);
Параметры
symbol
[in] Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
period
[in] Значение периода может быть одним из значений перечисления ENUM_TIMEFRAMES, 0 означает текущий таймфрейм.
name
[in] Имя пользовательского индикатора, содержащее путь относительно корневой директории индикаторов (MQL5/Indicators/). Если индикатор находится в поддиректории, например, в MQL5/Indicators/Examples, то имя должно выглядеть соответственно, а именно – "Examples\\имя_индикатора" (обязательно указание двойного обратного слеша вместо одиночного в качестве разделителя).
...
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию.
Обязательные параметры - это первые три. Остальные - параметры индикатора. Откуда взялись индексы буфера и бара?
Никого не заинтересовало то обстоятельство, что раньше iCustom возвращал значение индикатора, а ныне - handle?
Язык хотя-бы указали-бы. )
Откуда взялись индексы буфера и бара?
обсуждается код для MQL4, в первом сообщении есть ссылка на документацию