Здравствуйте Уважаемые программисты!
Имею задачу перемещать прямоугольник на графике вместе с появлением очередного бара соответственно.
Написал следующий код.
Не могу заставить программу работать так как нужно. Все перепробовал, все перечитал. Без подсказки профессионалов не получается.
Проблема в следующем:
1. Двигается только одна вертикальная сторона прямоугольника, а другая стоит на месте - в результате прямоугольник просто расширяется.
2. Нужно чтобы левая сторона прямоугольника находилась левее первого бара на 10 свечей (это получается ), а правая соответственно правее первого бара на 10свечей. (это не получается) (если я перемещаю в ручную не зафиксированную сторону прямоугольника правее первого бара, то соответственно прямоугольник сужается) :(
Объектом пытаюсь манипулировать на графике с золотом, по этому имею такие данные по привязке цены double price1 = 1277;
Прошу объяснить, направить, дать ссылку, совет, помочь кто чем может.
Всем заранее спасибо.
С уважением,
Александр
1. Код, пожалуйста, вставляйте правильно.
2. Неизвестная переменная - массив Time[10]. Массив предварительно нужно объявлять и заполнять. Только после этого можно обращаться к массиву.
3. price1 - возможно, что такой и цены - то нет. Слишком космическая цена.
4. Точно на графике есть объект - прямоугольник с именем "Rectangle"?
1. Код, пожалуйста, вставляйте правильно.
2. Неизвестная переменная - массив Time[10]. Массив предварительно нужно объявлять и заполнять. Только после этого можно обращаться к массиву.
3. price1 - возможно, что такой и цены - то нет. Слишком космическая цена.
4. Точно на графике есть объект - прямоугольник с именем "Rectangle"?
1. Если бы в коде были ошибки, то компилятор об этом заявил бы.
2. Этот код я взял из примеров в документации, просто подставил свой объект.
3. А, цена космическая так как это золото, это я указал в сообщении.
4. На графике есть объект таким именем. На эти грабли я уже наступал. К тому же я написал что прямоугольник на графике управляется программой,только не так полноценно как хотелось бы.
1. Если бы в коде были ошибки, то компилятор об этом заявил бы.
2. Этот код я взял из примеров в документации, просто подставил свой объект.
3. А, цена космическая так как это золото, это я указал в сообщении.
4. На графике есть объект таким именем. На эти грабли я уже наступал. К тому же я написал что прямоугольник на графике управляется программой,только не так полноценно как хотелось бы.
Объект имеет две точки привязок. Почему перемещаете только одну, или думаете что вторую переместят духи?
- www.mql5.com
Объект имеет две точки привязок. Почему перемещаете только одну, или думаете что вторую переместят духи?
Вот это правильный вопрос. Я не знаю как указать вторую точку привязки. Я понимаю что она должна быть и пытался в свою строку ввести вторую точку привязки, но компилятор пишет что "...overload.." типа такого.
Куда мне вписать вторую точку привязки скажите пожалуйста.
Я пытался сделать вот так вот:
ObjectMove(current_chart_id,obj_name,0,time1,price1,time2,price2);
Но, на такую строчку мой компилятор ругается. говорит последние два слова лишние.
Я так понял, что где то что то недопонимаю.
Вот это правильный вопрос. Я не знаю как указать вторую точку привязки. Я понимаю что она должна быть и пытался в свою строку ввести вторую точку привязки, но компилятор пишет что "...overload.." типа такого.
Куда мне вписать вторую точку привязки скажите пожалуйста.
Я пытался сделать вот так вот:
Но, на такую строчку мой компилятор ругается. говорит последние два слова лишние.
Я так понял, что где то что то недопонимаю.
Читали про ObjectMove? Ведь в ней все есть для перемещения каждой точки объекта. Угадывать ничего не требуется, только прочитать документацию. Подсказка: параметр №3.
1. Если бы в коде были ошибки, то компилятор об этом заявил бы.
2. Этот код я взял из примеров в документации, просто подставил свой объект.
3. А, цена космическая так как это золото, это я указал в сообщении.
4. На графике есть объект таким именем. На эти грабли я уже наступал. К тому же я написал что прямоугольник на графике управляется программой,только не так полноценно как хотелось бы.
Вы написали в основном разделе MQL5 форума - поэтому и ответ получен для MQL5. Если у Вас вопросы по старому терминалу, пожалуйста используйте специальную ветку для старого терминала: MQL4 и MetaTrader 4.
Перенес тему.Читали про ObjectMove? Ведь в ней все есть для перемещения каждой точки объекта. Угадывать ничего не требуется, только прочитать документацию. Подсказка: параметр №3.
Хорошо, Ваша подсказка мне помогла. Не знаю на сколько грамотно я выполнил эту задачу, но по крайней мере одного результата я добился.
мне пришлось двигать каждую сторону прямоугольника отдельной функцией ObjectMove
вот такой код:
datetime time1 = Time[0];
double price1 = 1277;
datetime time2 = Time[50];
double price2 = 1275;
ObjectMove(current_chart_id,obj_name,0,time1,price1);
ObjectMove(current_chart_id,obj_name,1,time2,price2);
Может это можно выполнить как то одной строкой?
Теперь осталось переместить ту сторону прямоугольника которая ориентированна на бар 0 Time[0]; на несколько свечей правее. Пытался написать Time[-10]; но как то не адекватно мой объект отреагировал
Тут подскажите тоже пожалуйста.
Вы написали в основном разделе MQL5 форума - поэтому и ответ получен для MQL5. Если у Вас вопросы по старому терминалу, пожалуйста используйте специальную ветку для старого терминала: MQL4 и MetaTrader 4.
Перенес тему.За счет этого согласен. Я не зал что форумы отличаются.
Может это можно выполнить как то одной строкой?
Можно, если написать функцию типа MoveRectangle.
Теперь осталось переместить ту сторону прямоугольника которая ориентированна на бар 0 Time[0]; на несколько свечей правее. Пытался написать Time[-10]; но как то не адекватно мой объект отреагировал
Тут подскажите тоже пожалуйста.
Нужно рассчитать время, которое соответствует nBarCount бару, находящемуся правее текущего бара:
Time[0] + PeriodSeconds() * nBarCount
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте Уважаемые программисты!
Имею задачу перемещать прямоугольник на графике вместе с появлением очередного бара соответственно.
Написал следующий код.
Не могу заставить программу работать так как нужно. Все перепробовал, все перечитал. Без подсказки профессионалов не получается.
Проблема в следующем:
1. Двигается только одна вертикальная сторона прямоугольника, а другая стоит на месте - в результате прямоугольник просто расширяется.
2. Нужно чтобы левая сторона прямоугольника находилась левее первого бара на 10 свечей (это получается ), а правая соответственно правее первого бара на 10свечей. (это не получается) (если я перемещаю в ручную не зафиксированную сторону прямоугольника правее первого бара, то соответственно прямоугольник сужается) :(
Объектом пытаюсь манипулировать на графике с золотом, по этому имею такие данные по привязке цены double price1 = 1277;
Прошу объяснить, направить, дать ссылку, совет, помочь кто чем может.
Всем заранее спасибо.
С уважением,
Александр