Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
ID Lite Info MA - индикатор для MetaTrader 5
- Просмотров:
- 3084
- Рейтинг:
- Опубликован:
- 2015.07.03 09:58
- Обновлен:
- 2017.04.11 14:05
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Этот индикатор по умолчанию показывает в таблице на графике по девять значений двух различных Moving Averages (МА) текущего таймфрейма, дельты в пунктах между предыдущими последовательными значениями МА и дельты в пунктах между самими МА. Предусмотрен показ данных с интересующими положительными или отрицательными отступами и/или округленными до интересующих десятичных знаков. Не предусмотрен показ значений на нулевом (текущем) баре.
Таким образом, этот индикатор, как и его одноименный собрат для MetaTrader 4, может, не требуя дополнений в код, применяться не только для наглядного отображения дельт между последовательными значениями, но и для отображений расстояний в пунктах:
- между HIGH и LOW баров, HIGH и OPEN баров, HIGH и CLOSE баров или HIGH и значений интересующей скользящей средней, в том числе с учетом каких-нибудь положительных или отрицательных отступов в пунктах, и/или с уменьшенным или "расширенным" числом десятичных знаков;
- между OPEN и ... (и так далее);
- между CLOSE и ... (и так далее);
- между LOW и ... (и так далее);
- просто между двумя скользящими средними, с учетом или без учета положительных или отрицательных отступов от них и/или меньшим или большим числом десятичных знаков.
Ниже есть скрины, где на графике символа с трехзначными десятичными знаками в таблице показываются значения, как округленные до двух десятичных знаков, так и "расширенные" до четырех десятичных знаков.
И в остальном этот индикатор аналогичен такому же для MetaTrader 4:
Цвета в таблице индикатора меняются автоматически для отметок МА (или баров) и дельт между последовательными соседними значениями. Предусмотрены различные цветовые окраски при изменении значений на большее, меньшее и/или равные. Не предусмотрено изменение цвета значений дельт между самими двумя скользящими средними (и/или барами или отступами), отображаемыми в пятой нижней строке таблицы.
Расчеты и изменения значений для таблицы происходят:
- при появлении нового бара/новых баров;
- при изменении внешних параметров этого индикатора;
- смене таймфрейма или символа графика, где установлен этот индикатор-анализатор.
Если по девять значений в каждой из строк таблицы по оси X — это много или мало, то для смены количества ячеек по оси X и, соответственно, рассчитываемых и отображаемых данных, нужно изменить цифру 9 на положительное число >= 2 в этой строке кода:
#define ARRAY_SIZE_X 9
Справочная информация:
-
В таблице этого индикатора есть такой же "секрет", как и в версии для МТ4: если она временно не требуется на графике, ее можно "свернуть", нажав на полосу под заголовочной частью таблицы.
Примечание: В заголовочной части таблицы отображаются номера баров, по которым индикатор показывает значения. Можно менять номер начального бара в параметрах индикатора на любой положительный, кроме нулевого.
Ограничения по нулевому бару из-за того, что писала такой индикатор для себя и мне именно в нем не требовались отображения в таблице потиково меняющихся данных на основе еще только формирующегося текущего (нулевого) бара. Однако, если вам требуется отображение в таблице потиково меняющихся значений (расчетов) на баре, находящемся еще в стадии формирования, то требуется несколько иная структура кода.
В целом, ограничения по отображению значений на текущих (нулевых) барах распространяются в коде, в общем-то, только на показ значений в таблице. Поэтому при необходимости вы можете просто добавлять в код строки, например, для оповещений (алертов и т.д.), с условиями срабатывания при пробитии текущей ценой каких-то значений из таблицы. Не говоря уже об оповещениях (алертах и т.д.), что, к примеру, какое-то или какие-то значения из "нового" в таблице, меньше/больше или равно какому-то или каким-то из "дальних" в таблице. В том числе, если замените в этом коде имеющиеся расчеты МА или отметок баров на какие-то свои, более вас интересующие.
-
Параметры каждой из Moving Averages (заданные вами во входных параметрах индикатора или оставленные там имеющиеся по умолчанию) можно посмотреть в любой момент во всплывающих подсказках, наведя курсор на ячейки таблицы.
Примечание: Параметры будут видны во всплывающих подсказках, если в вашем торговом терминале в свойствах графика включена опция "Показывать описания объектов".
-
Вместо отметок МА во входных параметрах можно задать показ данных с необходимыми положительными или отрицательным отступами в пунктах от каждой из Moving Averages или отметок баров.
Примечание: Чтобы индикатор показывал Open и/или High и/или Low и/или Close соседних баров и дельт между ними вместо расчетов МА, достаточно выбрать во входных параметрах индикатора следующие значения МА:
- Period Moving Averages... = 1;
- MA method...= MODE_SMA;
- Apply to... = PRICE_OPEN, PRICE_HIGH, PRICE_LOW или PRICE_CLOSE.
При названных наборах параметров в этом индикаторе предусмотрен расчет значений напрямую по отметкам баров, без обращений к хэндлу iMA.
-
Если нужны значения МА или баров, округленные или "расширенные" до какого-либо десятичного знака, то выберите необходимое количество десятичных знаков в строке входных параметров индикатора Decimal digits.
-
Во входных параметрах индикатора также предусмотрено отключение показа линий этого индикатора.
Примечание: Цвета линий зависят от направлений значений на первом из расчетных баров, заданном в параметрах в строке Shift (bar for first value):. Линии рисуются на 1 бар длиннее в глубину графика, чем количество значений МА в таблице (чтобы легче было видно, с какой отметкой сравнивается последний бар в таблице).
-
Во входных параметрах также можно менять размеры отступов таблицы от оси X и Y, размеры ячеек таблицы, размер шрифта, расцветки, устанавливать показ таблицы на переднем плане графика (по умолчанию она показывается на заднем плане графика, чтобы не загораживать бары).
Рис.1. Линии индикатора, отметки и дельты в пунктах между High и Low свечей, округленные до двух десятичных знаков на графике с трехзначными котировками
Рис.2. Отметки и дельты в пунктах между двумя скользящими средними, "расширенные" до четырех десятичных знаков на графике с трехзначными котировками
Примечание: Если у вас на графике установлен этот индикатор и одновременно индикатор(ы) Moving Average из стандартного набора к терминалу, и при этом не заданы в параметрах ID Lite Info MA отступы и/или округление за счет уменьшения десятичных знаков, но линии этого индикатора не совпадают полностью с линиями скользящих средних индикатора из стандартного набора к терминалу (с точно такими же параметрами), то не торопитесь, пожалуйста, с выводами о неверных расчетах.
Просто откройте Окно данных торгового терминала и посмотрите там отображаемое количество десятичных знаков у Moving Average из стандартного набора (к примеру, на графике с трехзначными котировками, вполне вероятно, они могут быть четырехзначными по десятичным знакам).
Это вполне нормально и, думаю, удобно, поскольку скользящие средние рассчитываются по средним значениям. К примеру: (1.2052 + 1.2057 + 1.2073)/3 = 1.2060667... Соответственно, рассчитанные значения с малым или расширенным округлением увеличивают варианты применения вычислений.
В случаях таких расхождений линий и при необходимости совпадения линий (при прочих равных параметрах), вы можете в параметрах индикатора ID Lite Info MA просто выбрать большее число десятичных знаков в параметрах в выпадающем списке Decimal digits.
Рис.3. Moving Average из стандартного набора к терминалу и ID Lite Info MA (с Decimal digits =current chart) на графике с трехзначными котировками
Версия 1.11:
-
Ограничение на максимальное значение периодов Moving Averages увеличено в коде с 500 до 3000 баров. Поскольку это ограничение задается произвольно, при необходимости вы можете менять эту величину на другое положительное целое число по своему усмотрению. Устанавливается оно в теле функции:
bool CheckInput(int period,string text)
- В коде проведены небольшие косметические и подстраховочно-оптимизирующие правки.
Версия 1.39:
- Исправлено включение/выключение показа линий индикатора на графике;
- Разделено (дополнено) цветовое отображение линий;
- Сделаны обновления в целом по коду.
Версия 1.42:
- Дополнен пересчёт значений при prev_calculated=0.
Версия 1.45:
- Заменена функция удаления индикатора с графика (исправлено значение одного из её входных параметров);
- Поправлена (добавлена) закрывающая скобка у текста сообщения, появляющегося если период МА выбран в свойствах <1 или >3000;
- Немного сократила текст описаний.
Индикатор ColorJFatlSpeed с возможностью изменения таймфрейма индикатора во входных параметрах.
Exp_ColorJLaguerreЭксперт Exp_ColorJLaguerre построен на основе изменения положения осциллятора ColorJLaguerre относительно уровней перекупленности и перепроданности.
Индикатор ColorJVariation с возможностью изменения таймфрейма индикатора во входных параметрах.
ColorLeManTrend_HTFИндикатор ColorLeManTrend с возможностью изменения таймфрейма индикатора во входных параметрах.