
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если кинуть на график несколько индикаторов, то линия нарисуется только в первом.
Если узнавать номер создаваемого подокна через WindowsTotal(), то вроде все работает.
windex=WindowsTotal()-1 ;
я конечно не автор и долго в коде не разбиралдся НО
твой цикл от i=0 до i=limit limit раз обьявляет переменную double P; вот в этой строке- for(int i=0;i<limit;i++) double P;
for(int i=0;i<limit;i++)
{//тело цикла
}//коенц цикла
Вот тоже захотел выполнить дом.задание = а именно = дописать ещё одну строку И добавить новый индикатор !
Вопрос ВОТ В ЧЁМ = КАК ПРАВИЛЬНО привязать другой индикатор ?! т.е. мы имеем индюк Мувинг Аверидж, его "имя" в коде выглядит так =
НО с другим индикатором мы имеем ДРУГУЮ картину :
Почему имена РАЗНЫЕ ?????
Если я хочу подключить инд. "Commodity Channel Index", коорый также ВШИТЫЙ в МТ4, то КАК мне правильно это сделать ??
Автор здравствуй!
Вот тоже захотел выполнить дом.задание = а именно = дописать ещё одну строку И добавить новый индикатор !
Вопрос ВОТ В ЧЁМ = КАК ПРАВИЛЬНО привязать другой индикатор ?! т.е. мы имеем индюк Мувинг Аверидж, его "имя" в коде выглядит так =
НО с другим индикатором мы имеем ДРУГУЮ картину :
Почему имена РАЗНЫЕ ?????
Если я хочу подключить инд. "Commodity Channel Index", коорый также ВШИТЫЙ в МТ4, то КАК мне правильно это сделать ??
Потому, что MQL регистрозависимый язык программирования. И тут переменные, к примеру: Close и close будут являться совсем разными переменными. Для получения данных индикатора "Commodity Channel Index" существует функция iCCI().
Тогда попутный вопрос = в отличии от iMA (где мы берём условие "когда "быстрая" БОЛЬШЕ "медленной" =
в iCCI у нас имеется "скользящяя" и уровня (+100 и -100)
Сам вопрос = КАК правильно записать условие = если "скользящяя " БОЛЬШЕ ур. -100
и КАК присвоить цену закрытия пред.бара ?!
Спасибо
Ок, спасибо!
Тогда попутный вопрос = в отличии от iMA (где мы берём условие "когда "быстрая" БОЛЬШЕ "медленной" =
в iCCI у нас имеется "скользящяя" и уровня (+100 и -100)
Сам вопрос = КАК правильно записать условие = если "скользящяя " БОЛЬШЕ ур. -100
и КАК присвоить цену закрытия пред.бара ?!
Спасибо
Пишите нормально код без сокращений. if (iCCI(Symbol(), скользящая > ур.-100) - как это понимать? Что вы имеете в виду под словом "скользящая"? Скользящая средняя от цены от CCI или чего?
...
Цена закрытия предыдущего бара:
Например int Index = 0;//это индекс (порядковый номер) текущего бара.
Тогда цену закрытия предыдущего бара можно получить таком способом. close = Close[Index+1];
Пишите нормально код без сокращений. if (iCCI(Symbol(), скользящая > ур.-100) - как это понимать? Что вы имеете в виду под словом "скользящая"? Скользящая средняя от цены от CCI или чего?
...
Цена закрытия предыдущего бара:
Например int Index = 0;//это индекс (порядковый номер) текущего бара.
Тогда цену закрытия предыдущего бара можно получить таком способом. close = Close[Index+1];
я назвал её "скользящая", п.ч. другого названия НЕ ЗНАЮ !
В общем - опишу "что хочу" простыми словами :
"я хочу" в индикаторную панель из этой статьи ДОБАВИТЬ инд.CCI, чтоб при пересечении его "ломанной линией" уровней +100 или -100 рисовался значок "на покупку" или "на продажу" :
Но загвоздка В ТОМ, что CCI имеет УРОВНЯ (+100 и -100), а я не знаю КАК И ЧТО писать в коде ... на словах опишу = когда "ломанная линия CCI" пересекает его ур. -100 снизу вверх = рисуем значёк "палец вверх" (сигнал на покупку).
Ок, если термин "скользящая" для CCI НЕ ПОДХОДИТ, тогда КАК называется "ломаная линия" в инд.CCI ???
я назвал её "скользящая", п.ч. другого названия НЕ ЗНАЮ !
В общем - опишу "что хочу" простыми словами :
"я хочу" в индикаторную панель из этой статьи ДОБАВИТЬ инд.CCI, чтоб при пересечении его "ломанной линией" уровней +100 или -100 рисовался значок "на покупку" или "на продажу" :
Но загвоздка В ТОМ, что CCI имеет УРОВНЯ (+100 и -100), а я не знаю КАК И ЧТО писать в коде ... на словах опишу = когда "ломанная линия CCI" пересекает его ур. -100 снизу вверх = рисуем значёк "палец вверх" (сигнал на покупку).
То есть вам надо получить значение индикатора CCI и проверить находится ли он выше\ниже заданного уровня?
То это можно сделать примерно так:
int level = 100;
if (iCCI(....,2)<=level && iCCI(....,1)>level) Print("CCI пересек уровень ",level," снизу вверх ");
if (iCCI(...,2)>=-level && iCCI(...,1)<-level) Print("CCI пересек уровень ",-level," сверху вниз ");
Поподробнее как получить значение индикатора можно почитать в справке.
То есть вам надо получить значение индикатора CCI и проверить находится ли он выше\ниже заданного уровня?
То это можно сделать примерно так:
int level = 100;
if (iCCI(....,2)<=level && iCCI(....,1)>level) Print("CCI пересек уровень ",level," снизу вверх ");
if (iCCI(...,2)>=-level && iCCI(...,1)<-level) Print("CCI пересек уровень ",-level," сверху вниз ");
Поподробнее как получить значение индикатора можно почитать в справке.
...... Таааак, ПРОСТУЮ форму ЗАПИЛИЛ = работает ПРАВИЛЬНО только для "зоны -100 по условию =
ЕСЛИ линия CCI меньше -100 , ТО рисуем "значёк 1"
ЕСЛИ линия CCI больше -100 , ТО рисуем "значёк 2"
Получился вот такой код :
...тот же принцип И ДЛЯ зоны +100 , НО коды НЕ РАБОТАЮТ, точнее ВСЕГДА выполняется команда :
ЕСЛИ линия CCI больше -100 , ТО рисуем "значёк 4" (покупка)
.... и ДАЖЕ ЕСЛИ линия CCI гуляет "вокруг-да-около" уровней +150 и +180 = значки не меняются :
((полный вид кода)) :
Теперь НУЖНА ПОМОЩЬ СПЕЦИАЛИСТА :
помогите УСЛОЖНИТЬ ЗАДАЧУ , и исправить ошибки = чтоб индюк РАЗЛИЧАЛ УСЛОВИЯ : //просто движемся ЗА ЦЕНОЙ (ломанная линия CCI) ;