Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 419

 
ZZuretc:  Мммм.. Да..., "шляпа" непонятная. Всё истыкал, не понять. Буду принты смотреть, так понятнее.

Пришлите весь код в личку или выложите здесь. Посмотрю. Коррекция на EURUSD вроде кончилась... И сообщите, что надо. Урывками смотрел...

 
ZZuretc:

Мммм.. Да..., "шляпа заоблачная". Всё истыкал, не нашел нужного ответа. Буду принты смотреть, так понятнее.

Вот на скрине момент отладки. Точка останова поставлена на строке 15

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MT5-это терминал для программистов, а не для трейдеров

Alexey Viktorov, 2018.01.09 18:57

Не надо использовать LASTBAR_DATE Вот это я твёрдо уяснил. Всё остальное от лукавого.

iBarSift() возвращает номер бара с указанным временем, индексация начинается с нуля.

Bars() возвращает количество баров от даты до даты. Как и во всех остальных функциях, таких как OrdersTotal() PositionsTotal() и прочих, номер бара с указанным временем будет за минусом 1.

Как видно из примера, функция доступна и в mql4

 
ZZuretc:
Причем здесь LASTBAR_DATE , это не комне

Совсем не при чём. Там слова адресованы вам.

Alexey Viktorov:

Вот на скрине момент отладки. Точка останова поставлена на строке 15

А вообще в справке по метаэдитору всё хорошо описано.

 

Здравствуйте!) Помогите разобраться. Советник рисует по данным из файла два типа объектов - вертикальные и горизонтальные линии. У советника есть три кнопки : 1- удалить все линии, 2-удалить горизонтальные линии, 3-удалить вертикальные линии. Хочу сделать, что бы на отжатии кнопки опять рисовались удаленные при нажатии соответствующей кнопкой линии - 1- все, 2-горизонтальные, 3- вертикальные. В какую сторону двигаться? Писать на каждое отжатие полный цикл While для открытия файла с данными и потом заново создавать соответствующий объект? Не пойму как это правильно сделать. В каком направлении копать?

 
Юра куксов:

Да, а этого нет -до следующего тика и.т.д, пока это условие не будет true, вот тогда выполнится то, что Вы прописали в этом условии. То есть, его тело. Как-то так?!

Юра, продолжай писать тут. Там интересней.

 
WinProject:

Здравствуйте!) Помогите разобраться. Советник рисует по данным из файла два типа объектов - вертикальные и горизонтальные линии. У советника есть три кнопки : 1- удалить все линии, 2-удалить горизонтальные линии, 3-удалить вертикальные линии. Хочу сделать, что бы на отжатии кнопки опять рисовались удаленные при нажатии соответствующей кнопкой линии - 1- все, 2-горизонтальные, 3- вертикальные. В какую сторону двигаться? Писать на каждое отжатие полный цикл While для открытия файла с данными и потом заново создавать соответствующий объект? Не пойму как это правильно сделать. В каком направлении копать?

Я думаю надо копать в сторону свойств кнопки

if(ObjectGetInteger(0, name, OBJPROP_STATE) == true) // кнопка нажата

И, возможно придётся добавить флаг очерёдности. Чтобы можно было сформулировать условие, была отжата стала нажата и наоборот, была нажата стала отжата.

 
Alexey Viktorov:

Я думаю надо копать в сторону свойств кнопки

И, возможно придётся добавить флаг очерёдности. Чтобы можно было сформулировать условие, была отжата стала нажата и наоборот, была нажата стала отжата.


Спасибо, я наверное не совсем удачно сформулировал вопрос.  Не  понятно как рационально перерисовать удаленные нажатием кнопки объекты. А  прикрепить нужный мне код к отжатию кнопки это не проблема. 

 
WinProject:

Здравствуйте!) Помогите разобраться. Советник рисует по данным из файла два типа объектов - вертикальные и горизонтальные линии. У советника есть три кнопки : 1- удалить все линии, 2-удалить горизонтальные линии, 3-удалить вертикальные линии. Хочу сделать, что бы на отжатии кнопки опять рисовались удаленные при нажатии соответствующей кнопкой линии - 1- все, 2-горизонтальные, 3- вертикальные. В какую сторону двигаться? Писать на каждое отжатие полный цикл While для открытия файла с данными и потом заново создавать соответствующий объект? Не пойму как это правильно сделать. В каком направлении копать?

Вместо удаления объекта можно сделать его цвет как фон - он спрячется. Можно прятать их за пределы экрана а потом расставлять. Данные из файла можно сохранить в массив структур. Если файл часто меняется - можно проверять время его создания. Если при отжатии кнопки объект снова появится - он будет отсутствовать только на время нажатия кнопки...

 
WinProject:

Спасибо, я наверное не совсем удачно сформулировал вопрос.  Не  понятно как рационально перерисовать удаленные нажатием кнопки объекты. А  прикрепить нужный мне код к отжатию кнопки это не проблема. 

В таком случае недостаточно информации.

Хотя можно держать в массиве время вертикальных линий и в другом массиве цены горизонтальных. Затем по ним восстанавливать.Только вот цель абстрактна и решение может быть неправильным.

 
Есть функция, которая возвращает тип переменной?

например, пишешь.

int a=10;

потом пишешь:

functia(a);

а она тебе: ИНТ!

:)
Причина обращения: