Обсуждение статьи "Готовые шаблоны для подключения индикаторов в экспертах (Часть 1): Осцилляторы"
//--- Устанавливаем и корректируем при необходимости период расчёта period=int(InpPeriod<1 ? 14 : InpPeriod);
Понятно что инпут константа. Просто не представляю задачу.
Ну только как защита от дурака, поставившего минус, но тогда лучше алерт еще, что чел ошибся знаком.
Зачем из уинт в инт и зачем вообще такая конструкция?
Понятно что инпут константа. Просто не представляю задачу.
Ну только как защита от дурака, поставившего минус, но тогда лучше алерт еще, что чел ошибся знаком.
InpPeriod - входная переменная input. Минус там никак не поставить. Ноль можно. Такие проверки (на меньше единицы) - привычка не сравнивать напрямую числа с нулём - если вдруг в другой подобной конструкции будет входная переменная с типом double, то это мне позволит избежать прямого сравнения двух double-чисел. Да, это "защита от дурака". В первую очередь от себя самого - чтобы делать меньше ошибок при переносе кода в другие места.
InpPeriod - входная переменная input. Минус там никак не поставить. Ноль можно. Такие проверки (на меньше единицы) - привычка не сравнивать напрямую числа с нулём - если вдруг в другой подобной конструкции будет входная переменная с типом double, то это мне позволит избежать прямого сравнения двух double-чисел. Да, это "защита от дурака". В первую очередь от себя самого - чтобы делать меньше ошибок при переносе кода в другие места.
Ну да, уинт же))) Минус не поставить)))
А ноль можно. Но для индикатора будет установлено значение по умолчанию в этом случае.
Только вот смысл вопроса твоего был в чём-то ином - ты это и так знаешь про ноль.
Но гадать не буду
Так ноль это текущий))) Как защита от дурака нормальная конструкция)))
А можно маску на клаву наложить, что бы нажимались только цифры, а остальные клавиши не нажимались))) Для солдат в 90х делал))) И при нажатии на другие клавиши, появлялось предупреждение большими буквами)
Привет. По-моему, я не делал вывод текста в ячейки с разными точками привязки.
Но если взять за основу, что column_width - это ширина ячейки, column_height - это её высота,
а text_w и text_h - это соответствующие размеры выводимого в ячейку текста,
то координаты левого верхнего угла текста нужно рассчитывать по таким формулам:
| Anchor | text_x | text_y |
|---|---|---|
| LEFT_UPPER | 0 | 0 |
| LEFT | 0 | (column_height - text_h)/2 |
| LEFT_LOWER | 0 | column_height - text_h |
| LOWER | (column_width - text_w)/2 | column_height - text_h |
| RIGHT_LOWER | column_width - text_w | column_height - text_h |
| RIGHT | column_width - text_w | (column_height - text_h)/2 |
| RIGHT_UPPER | column_width - text_w | 0 |
| UPPER | (column_width - text_w)/2 | 0 |
| CENTER | (column_width - text_w)/2 | (column_height - text_h)/2 |
Здест привязка текста - по умолчанию - начальные координаты текста в левом верхнем углу, а чтобы вывести текст в зависимости от точки привязки (anchor в заголовке таблицы), нужно рассчитать по приведённым формулам координаты текста.
Привет. По-моему, я не делал вывод текста в ячейки с разными точками привязки.
Но если взять за основу, что column_width - это ширина ячейки, column_height - это её высота,
а text_w и text_h - это соответствующие размеры выводимого в ячейку текста,
то координаты левого верхнего угла текста нужно рассчитывать по таким формулам:
| Anchor | text_x | text_y |
|---|---|---|
| LEFT_UPPER | 0 | 0 |
| LEFT | 0 | (column_height - text_h)/2 |
| LEFT_LOWER | 0 | column_height - text_h |
| LOWER | (column_width - text_w)/2 | column_height - text_h |
| RIGHT_LOWER | column_width - text_w | column_height - text_h |
| RIGHT | column_width - text_w | (column_height - text_h)/2 |
| RIGHT_UPPER | column_width - text_w | 0 |
| UPPER | (column_width - text_w)/2 | 0 |
| CENTER | (column_width - text_w)/2 | (column_height - text_h)/2 |
Здест привязка текста - по умолчанию - начальные координаты текста в левом верхнем углу, а чтобы вывести текст в зависимости от точки привязки (anchor в заголовке таблицы), нужно рассчитать по приведённым формулам координаты текста.
Примерно так и подумал, но считал, что есть решение проще.
Спасибо!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования

Опубликована статья Готовые шаблоны для подключения индикаторов в экспертах (Часть 1): Осцилляторы:
В статье рассмотрим стандартные индикаторы из категории осцилляторов. Создадим готовые к применению шаблоны их использования в советниках — объявление и установка параметров, инициализация, деинициализация индикаторов и получение данных и сигналов из индикаторных буферов в советниках.
Подключение индикаторов к советнику и использование данных индикаторного буфера в советнике является достаточно простой задачей, но требующей каждый раз обращаться к справочным материалам. Нужно помнить все параметры, передаваемые в функцию создания индикатора, оформить какие-то из них в виде входных параметров советника, организовать проверку их корректности, и т.д. Для получения данных нужно написать функции, возвращающие нужные данные с нужного бара. Всё это требует каждый раз тратить время на обращение к справке, ввод в советник требуемых переменных, написание функций получения и контроля данных на предмет определения сигналов и т.п.
Целью данной статьи является создание шаблонов для подключения индикаторов к советникам. Рассмотрим индикаторы из категории осцилляторов, их входные переменные, создание хэндла индикатора и получение от него требуемых данных.
Автор: Artyom Trishkin