Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Как подобрать необходимый сигнал и быстро подписаться на него
oleg
18
oleg 2011.01.24 21:09 
Пробую написать советника и не могу понять как вывести сигнал из внешнего индикатора,подскажите пожалуйста!
Файлы:
Владимир Тезис
4266
Владимир Тезис 2011.01.24 21:55  
iCustom() Вам в помощь.
oleg
18
oleg 2011.01.24 22:03  
drknn:
iCustom() Вам в помощь.

Это я знаю,только он пишет " variable expected"
Владимир Тезис
4266
Владимир Тезис 2011.01.24 22:16  
Winseht:

Это я знаю,только он пишет " variable expected"


Переменную объявлять перед использованием пробовали? Ну, или, может точки с запятой где-то не хватает. Без кода вряд ли удастся поставить точный диагноз.
oleg
18
oleg 2011.01.24 22:43  
drknn:

Переменную объявлять перед использованием пробовали? Ну, или, может точки с запятой где-то не хватает. Без кода вряд ли удастся поставить точный диагноз.

Файл в личке
Владимир Тезис
4266
Владимир Тезис 2011.01.25 05:24  

В личке файла не нашёл. В личке от Вас вообще ни чего нет. Ну а в коде, который Вы приложили к последнему посту, ошибок довольно много. Например,

 double   Buff_up.2     = iCustom(Symbol(),0,"Multi_Oscillator_1_line-2")
 double   Buff_up.3     = iCustom(Symbol(),0,"Multi_Oscillator_1_line-3")
 double   Buff_up.4     = iCustom(Symbol(),0,"Multi_Oscillator_1_line-4")

 double   Buff_dn.1     = iCustom(Symbol(),0,"Multi_Oscillator_1_line-1")
 double   Buff_dn.2     = iCustom(Symbol(),0,"Multi_Oscillator_1_line-2")
 double   Buff_dn.3     = iCustom(Symbol(),0,"Multi_Oscillator_1_line-3")
 double   Buff_dn.4     = iCustom(Symbol(),0,"Multi_Oscillator_1_line-4")

Строка должна заканчиваться точкой с запятой.

Название индикатора Вы указали, а вот номер индикаторного буфера, из которого нужно брать значение, отсутствует. Индикаторные буферы - это спецмассивы. Отсутствует так же и номер ячейки массива этого буфера. Теперь понятно, почему код не пашет - советник попросту не знает, что конкретно ему нужно делать.

oleg
18
oleg 2011.01.25 09:31  
drknn:

В личке файла не нашёл. В личке от Вас вообще ни чего нет. Ну а в коде, который Вы приложили к последнему посту, ошибок довольно много. Например,

Строка должна заканчиваться точкой с запятой.

Название индикатора Вы указали, а вот номер индикаторного буфера, из которого нужно брать значение, отсутствует. Индикаторные буферы - это спецмассивы. Отсутствует так же и номер ячейки массива этого буфера. Теперь понятно, почему код не пашет - советник попросту не знает, что конкретно ему нужно делать.


Так я и прошу подсказать где сигнал в коде индикатора.
exhumer
80
exhumer 2011.01.25 12:06  

Изучите документацию по MQL4 или даже с учебника начните, иначе это будет разговор на разных языках.

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

Владимир Тезис
4266
Владимир Тезис 2011.01.25 13:20  
exhumer:

Изучите документацию по MQL4 или даже с учебника начните, иначе это будет разговор на разных языках.

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


Параметры работы индикатора вcтавлять в iCustom() не обязательно. Их обычно просто дублируют из кода индикатора в код эксперта, чтоб иметь возможность запускать советника на тех параметрах индюка, которые нужны в данный момент. Так например, если по-умолчанию в терминале период усредения пользовательской скользящей = 14, то через советника можно снять показания с пользовательской МА 100.
exhumer
80
exhumer 2011.01.25 14:15  

Да нет проблемм, просто топикстартер похоже только учится, а в этом случае полезно знать полную спецификацию, и именно с нее начинать. Само собой ИМХО. Так что мои мотивы были самыми благостными :-)

david2
314
david2 2011.01.25 17:23  
Winseht:
Пробую написать советника и не могу понять как вывести сигнал из внешнего индикатора,подскажите пожалуйста!

double val11 = iCustom(NULL,0,"2SROC-exp",0,1); Последние две цифры в вашем коде отсутствуют. 0_это номер линии или буфера, 1_это номер бара на котором берется сигнал. В документации все подробно описано.
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий