Судя по ответам, возможности что-то типа дернуть функцию, которая в модуле Советника из модуля Индюк нету.
Максимально простой пример я уже приводил выше. Вот еще раз:
Есть индюк, который делает вычисления и отрисовывает линии. В момент определенной отрисовки линии мне надо переслать значение типа string (int, double или любое другое) в функцию Советника для выставления ордера.
Это фсё. Куда уж проще и подробнее.
Судя по ответам, возможности что-то типа дернуть функцию, которая в модуле Советника из модуля Индюк нету.
Максимально простой пример я уже приводил выше. Вот еще раз:
Есть индюк, который делает вычисления и отрисовывает линии. В момент определенной отрисовки линии мне надо переслать значение типа string (int, double или любое другое) в функцию Советника для выставления ордера.
файлы (если у вас только стринги из индюка). и вы про это знаете. зачем чего же тогда спрашиваете?
а советник зацикленный на ожидание появления файла.
вообще-то глобальные должны работать, думаю, вы что-то все же упустили. Есть еще простой способ, непосредственно через оперативную память, я его описывал в статейке пару месяцев назад https://www.mql5.com/ru/articles/19
И это не ответ. Неужели нет ни одного буфера в индюку, по какой-то же логике он линии чертит. Исходник индюка есть?
Работа с буферами конечно есть:
SetIndexBuffer(0, upOsMA);
SetIndexBuffer(1, downOsMA);
SetIndexBuffer(2, val1);
SetIndexBuffer(3, val2);
SetIndexBuffer(4, val3);
но мне то не их значения надо добыть в Советнике :-)) А одно единственное.
Если правильно понял вашу идею, надо добавить SetIndexBuffer(5, myValue); и это myValue считать через iCustom() ?
Например, так выглядит код Советника:
double myValue = iCustom( ..., mode, 0); где mode = 5 ? Правильно понял ?
С уважением, Алексей
allon,
вообще-то глобальные должны работать, думаю, вы что-то все же упустили. Есть еще простой способ, непосредственно через оперативную память, я его описывал в статейке пару месяцев назад https://www.mql5.com/ru/articles/19
Работа с буферами конечно есть:
SetIndexBuffer(0, upOsMA);
SetIndexBuffer(1, downOsMA);
SetIndexBuffer(2, val1);
SetIndexBuffer(3, val2);
SetIndexBuffer(4, val3);
но мне то не их значения надо добыть в Советнике :-)) А одно единственное.
Если правильно понял вашу идею, надо добавить SetIndexBuffer(5, myValue); и это myValue считать через iCustom() ?
Например, так выглядит код Советника:
double myValue = iCustom( ..., mode, 0); где mode = 5 ? Правильно понял ?
С уважением, Алексей
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет.
Ситуация - есть кастомный индюк. Есть его коды-исходники на mql. Известно, что ордера нельзя выставлять в индюках.
Мне надо чтобы при возникновении сигнала в индюке, одно значение передавалось из индюка в советник и тот уже работал с ордерами.
Мне НЕ надо писать советник и индюк. Мне НАДО понять идею механизма передачи данных между двумя разными модулями - индюком и советником.
Пробовал использовать:
1. Глобальные переменные. Не работает. Не передают. Может спец. настройки какие-то нужно сделать ?
2. Функцию iCustom(...). Мне не подходит так как индюк сложный и понять что за значения возвращаются непонятно. Если кто подскажет как указать в индюке возвращаемое значение через эту функцию, то велком и спасибо.
3. Также не надо вставлять код индюка в код советника.
Осталось попробовать всякие WinAPI, писать-читать файл и прочее...Но не хочется.
На форумах почему-то обсуждается ситуация, когда советник вызывает индюк. А мне надо наоборот - при возникновении события в индюке передать значение в советник.
Задачка в общем-то простая, но с первого пинка не решилась. Что меня удивило.
С уважением, Алексей.