Скрипты Обсуждение, доработка и поиск скриптов для терминала MT4.

Ответить
08.06.2010, 06:34
Аватар для msalist
msalist msalist вне форума Активный участник
Регистрация: 07.07.2009 / Сообщений: 265
Поблагодарили 15 раз(а) / Репутация: 15

По умолчанию индикаток + советник

Народ подскажите пожалуйста !

Каким образом ..можно брать переменные советником из индикатора ???
08.06.2010, 07:19
Аватар для Чингачгук
Чингачгук Чингачгук вне форума Активный участник
Регистрация: 14.04.2010 / Сообщений: 137
Поблагодарили 25 раз(а) / Репутация: 36
Сделать в индикаторе нужные переменные глобальными. Смотрите раздел справки глобальные переменные!
08.06.2010, 07:22
Аватар для msalist
msalist msalist вне форума Активный участник
Регистрация: 07.07.2009 / Сообщений: 265
Поблагодарили 15 раз(а) / Репутация: 15
Сообщение от: Чингачгук
Сделать в индикаторе нужные переменные глобальными. Смотрите раздел справки глобальные переменные!

То есть единственный механизм это через глобальные переменные ?
08.06.2010, 07:36
Аватар для Чингачгук
Чингачгук Чингачгук вне форума Активный участник
Регистрация: 14.04.2010 / Сообщений: 137
Поблагодарили 25 раз(а) / Репутация: 36
Да, единственный! Хотя если речь о линиях индикатора, т.е. тайм сериям индикатора, то есть стандартная функция iCustom для вызова пользовательских индикаторов.
08.06.2010, 07:37
Аватар для msalist
msalist msalist вне форума Активный участник
Регистрация: 07.07.2009 / Сообщений: 265
Поблагодарили 15 раз(а) / Репутация: 15
Сообщение от: Чингачгук
Да, единственный! Хотя если речь о линиях индикатора, т.е. тайм сериям индикатора, то есть стандартная функция iCustom для вызова пользовательских индикаторов.
Спасибо вам большое за ответ !
08.06.2010, 09:26
Аватар для ale002
ale002 ale002 вне форума ::: __,,,^._.^,,,__ :::
Регистрация: 28.02.2010 / Сообщений: 1,246
Поблагодарили 2,510 раз(а) / Репутация: 2536
Вообще-то можно извернуццо - у индикатора должны быть свободные буферы, в них он может писать значения переменных, советник читать через iCustom. Но штатными средствами оно конечно проще
08.06.2010, 09:41
Аватар для msalist
msalist msalist вне форума Активный участник
Регистрация: 07.07.2009 / Сообщений: 265
Поблагодарили 15 раз(а) / Репутация: 15
Вообще-то можно извернуццо - у индикатора должны быть свободные буферы, в них он может писать значения переменных, советник читать через iCustom. Но штатными средствами оно конечно проще
Так вот что то как то не понятно

Глобальную переменную эту тогда становится видно всем окнам с советниками к которым индикатор не был присоединен . как быть ..должно же быть какое то различие ..почему видно всем программам .?
08.06.2010, 09:53
Аватар для Чингачгук
Чингачгук Чингачгук вне форума Активный участник
Регистрация: 14.04.2010 / Сообщений: 137
Поблагодарили 25 раз(а) / Репутация: 36
Так они реализованны, опредилять нужную переменную можно по названию, а так же в терминале есть возможность менять глобальные переменные вручную, и они сохраняются после закрытия терминала.
08.06.2010, 10:08
Аватар для ale002
ale002 ale002 вне форума ::: __,,,^._.^,,,__ :::
Регистрация: 28.02.2010 / Сообщений: 1,246
Поблагодарили 2,510 раз(а) / Репутация: 2536
Не въехал - тогда, это когда? Когда через буфер или когда через глобальные переменные?

Если надо чтобы было видно только "нашим" - через глобальные это можно организовать давая переменным имена, содержащие название инструмента. Или в отдельную переменную помещать код инструмента. Если через буфер - при вызове iCustom можно передавать индикатору параметр, на который он будет отвечать (или нет) помещая (или нет) переменные в буфер
08.06.2010, 10:34
Аватар для msalist
msalist msalist вне форума Активный участник
Регистрация: 07.07.2009 / Сообщений: 265
Поблагодарили 15 раз(а) / Репутация: 15
Не въехал - тогда, это когда? Когда через буфер или когда через глобальные переменные?

Если надо чтобы было видно только "нашим" - через глобальные это можно организовать давая переменным имена, содержащие название инструмента. Или в отдельную переменную помещать код инструмента. Если через буфер - при вызове iCustom можно передавать индикатору параметр, на который он будет отвечать (или нет) помещая (или нет) переменные в буфер

Вот например

В индикаторе пишем

GlobalVariableSet("P_IND",666);

В советнике пишем

int p = GlobalVariableGet("P_IND"); Comment(p);

Открываем окно USD/EUR , тащим на него индикатор и советник , все отлично в окне появляется 666 комментарий.

Открываем окно EUR/USD тащим только советник ..все отлично в окне появляется 666 комментарий ... хотя индикатор не трогали
08.06.2010, 10:45
Аватар для Чингачгук
Чингачгук Чингачгук вне форума Активный участник
Регистрация: 14.04.2010 / Сообщений: 137
Поблагодарили 25 раз(а) / Репутация: 36
Так они работают! Я писал, что они сохраняются даже после закрытия терминала, и будут сохраняться даже если убрать индикатор с графика. Для удаления глобальной переменной существует специальная функция. Можно организовать взаимодействие через файл, но эффект будет такой же, сколько советников не запусти, все будут иметь доступ к файлу.
08.06.2010, 10:54
Аватар для msalist
msalist msalist вне форума Активный участник
Регистрация: 07.07.2009 / Сообщений: 265
Поблагодарили 15 раз(а) / Репутация: 15
Сообщение от: Чингачгук
Так они работают! Я писал, что они сохраняются даже после закрытия терминала, и будут сохраняться даже если убрать индикатор с графика. Для удаления глобальной переменной существует специальная функция. Можно организовать взаимодействие через файл, но эффект будет такой же, сколько советников не запусти, все будут иметь доступ к файлу.

Хммм ..чета надо думать ..как то уникальность делать ..переменные отличать чтоли как то
08.06.2010, 11:06
Аватар для Чингачгук
Чингачгук Чингачгук вне форума Активный участник
Регистрация: 14.04.2010 / Сообщений: 137
Поблагодарили 25 раз(а) / Репутация: 36
Здесь все просто добавить к имени переменной символ и таймфрейм. А в свойства советника добавить переменные для символа и таймфрейма.
08.06.2010, 11:09
Аватар для msalist
msalist msalist вне форума Активный участник
Регистрация: 07.07.2009 / Сообщений: 265
Поблагодарили 15 раз(а) / Репутация: 15
Сообщение от: Чингачгук
Здесь все просто добавить к имени переменной символ и таймфрейм. А в свойства советника добавить переменные для символа и таймфрейма.
Ммм..... да ..вариант .. сейчас попробую ..спасибо за подсказку !
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Советник Chameleon_2008 [ адаптационный советник | чемпионат 2008 ] alexgron Советники, эксперты, форекс роботы 20 23.07.2013 09:23
Уникальный советник Советник МТ4 "Умный мартингейл" pipmen Temp, корзина, реклама 18 06.06.2010 17:56
Мультивалютный советник GEPARD© 3.1 , советник Lucky 2.4, советник Goldmoney Алексей Что обсуждают на других форумах 0 20.04.2010 06:50
Советник Triad Traiding индикаторы,шаблон,советник INFERNUS1612 Советники, эксперты, форекс роботы 2 16.06.2009 12:31


Текущее время: 17:28. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO