Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Загружай коды из Библиотеки MQL5 через MetaTrader. Это удобно!
Олег
356
Олег 2014.03.06 17:43 

Здравствуйте!

Подскажите как массив из одного индикатора в другой экспортировать в онлайне? Пытаюсь использовать iCustom() не получается. просто последнее значение выдает и все. На графике просто получается линия. Я просто для тренировки пытаюсь из одного индикатора через iCustom переслать в

другой индикатор например iClose(). Не могу нигде найти примеры пересылки массива целиком. Подскажите пожалуйста.

Заранее спасибо.

Dmitry Fedoseev
41174
Dmitry Fedoseev 2014.03.06 17:46  
Через индикаторные буферы.
Олег
356
Олег 2014.03.06 17:48  
а где можно прочитать подробнее об этом не подскажете???
Alexey Viktorov
5172
Alexey Viktorov 2014.03.06 17:49  
elisseev2000:
а где можно прочитать подробнее об этом не подскажете???
В документации https://docs.mql4.com/ru/array
Dmitry Fedoseev
41174
Dmitry Fedoseev 2014.03.06 17:53  
elisseev2000:
а где можно прочитать подробнее об этом не подскажете???


Сложный вопрос... Это как бы основа основ индикаторов. Любой индикатор возьмите, у него в ините будет вызов функции SetIndexBuffer() - это преобразование массива в буфер. Основное свойство буфера в том, что он сам увеличивает свой размер при появлении нового бара. Новый бар всегда имеет индекс 0, дальше отсчет влево. Доступ через iCustom c указанием индекса буфера и индекса элемента.

Олег
356
Олег 2014.03.06 18:04  

Например совсем коротко

SetIndexBuffer(0,ExtMapBuffer1);

for(int j1=1; j1<=121; j1++)

{
ExtMapBuffer1[j1] = Close[j1];

}

как ExtMapBuffer1[j1] перекинуть в другой индикатор???

Dmitry Fedoseev
41174
Dmitry Fedoseev 2014.03.06 18:11  
elisseev2000:

...

как ExtMapBuffer1[j1] перекинуть в другой индикатор???


Перкидывать не надо, оно уже перекинуто. Надо забрать.

iCustom(NULL,0,"Имя индикатора",...параметры если есть...,0,i);

i - индекс бара.

Олег
356
Олег 2014.03.06 18:31  
так мне надо забрать весь массив длиной 121. и потом его использовать в мат операциях
Alexey Viktorov
5172
Alexey Viktorov 2014.03.06 18:40  
elisseev2000:
так мне надо забрать весь массив длиной 121. и потом его использовать в мат операциях

В одном терминале вообще никаких проблем не должно возникать.

Я тебе дал ссылку там описано как копировать один массив в другой. В другом разделе есть функции работы с файлами. Можно взять 121 элемент массива ExtMapBuffer1 и записать его в файл, а из другого кода этот массив прочесть.

Но похоже что ты читать документацию не хочешь...

Dmitry Fedoseev
41174
Dmitry Fedoseev 2014.03.06 18:43  
elisseev2000:
так мне надо забрать весь массив длиной 121. и потом его использовать в мат операциях

i - от 0 до 121.

Тут такой моментик - Элементы привязаны к барам? Если привязаны, то все очевидно, это обычный индикатор.

Если же надо передать просто массив, его можно расположить с левого края буфера. Индекс вычислять:

Bars-1-i;

Когда забирать через iCustom(), также вычислять.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий