АвторСообщение





Сообщение: 122
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 14.04.14 09:56. Заголовок: Я в шоке! Подскажите.


Всем привет!
Я в шоке! Выпал из рынка на 3,5 месяца, а тут такие перемены. Игорь подскажи, где можно ознакомиться с изменениями в MQL4?
Хотел перенести все данные на новый комп, но некоторые индикаторы после компиляции перестают работать. Вот один из них.
http://gfile.ru/a8cCP
Хотя не перекомпилированные файлы работают.
Компиляция ошибок в коде не выявляет. Но при отладке выдается ошибка формирования массива стр.67. Но в чем ошибка не пойму.
Буду благодарен, если найдешь время исправить.



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 203 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]







Сообщение: 267
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 17.04.15 10:23. Заголовок: 1. В объектах типа O..



Как в объектах типа OBJ_EDIT ограничить ввод текста только форматом double?

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1489
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 20.04.15 16:00. Заголовок: Пока приходит в голо..


Пока приходит в голову только вариант со своим полем ввода.
То есть использовать OBJ_LABEL (или OBJ_TEXT), для которого подписаться на события нажатия клавиш (обработчик OnChartEvent, событие CHART_EVENT_KEYDOWN). В обработчике проверяется код нажатой клавиши (из параметра lparam) и, если это цифра или точка, то символ копируется в объект. Иначе- пропускается. Но для такого поля ввода не совсем понятно, как сделать, чтобы был виден курсор, да еще и мигал.

Для других вариантов нужно смотреть класс CButton (MQL4\Include\Controls\Button.mqh) и думать, есть ли варианты по наследованию и переделке класса.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 268
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 20.04.15 17:30. Заголовок: Scriptong пишет: По..


Scriptong пишет:

 цитата:
Пока приходит в голову только вариант со своим полем ввода.


Спасибо. В целом идея понятна.

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 277
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 05.05.15 18:08. Заголовок: Есть ли варианты! Ну..


Есть ли варианты! Нужно чтобы созданные индикатором объекты (вертикальные линии) не перерисовывались при смене ТФ, но удалялись при удалении индикатора с графика. Хочу задать диапазон расчета индикатора, который бы устанавливался перетаскиванием линий и не менялся при смене ТФ.

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1526
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 06.05.15 08:57. Заголовок: Нужно анализировать ..


Нужно анализировать причину деинициализации:

 цитата:
void OnDeinit(const int reason)
{
if (reason != REASON_CHARTCHANGE)
{
// Удалить объекты
}
else
{
// Не удалять объекты
}
}



Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 278
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 06.05.15 20:48. Заголовок: Scriptong пишет: Ну..


Scriptong пишет:

 цитата:
Нужно анализировать причину деинициализации:



Спасибо! Все получилось.


 цитата:

void OnDeinit(const int reason)
{
//----
if (reason==REASON_REMOVE)
{
ObjectDelete(SIGN_RLINE);
ObjectDelete(SIGN_LLINE);
}
DeleteAllObjects();
//----
return;
}



С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1529
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 07.05.15 13:01. Заголовок: Sergey пишет: Спаси..


Sergey пишет:

 цитата:
Спасибо! Все получилось.


М-м. Этот код удаляет объекты в любом случае. Или у Вас какая-то специальная версия функции DeleteAllObjects?

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 280
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 07.05.15 18:25. Заголовок: Scriptong пишет: Ил..


Scriptong пишет:

 цитата:
Или у Вас какая-то специальная версия функции DeleteAllObjects?


Скорее наоборот. DeleteAllObjects отбирает объекты по префиксу, а у вертикальных линий их нет.

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1535
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 08.05.15 13:36. Заголовок: Sergey пишет: Скоре..


Sergey пишет:

 цитата:
Скорее наоборот. DeleteAllObjects отбирает объекты по префиксу, а у вертикальных линий их нет.


То есть индикатор создает объекты с префиксом. Эти объекты нужно удалять при каждой деинициализации. Также индикатор создает два объекта без префикса. Такие объекты нужно удалять только в случае удаления индикатора с графика.
Такая вот логика выходит.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 282
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 08.05.15 18:27. Заголовок: Scriptong пишет: То..


Scriptong пишет:

 цитата:
То есть индикатор создает объекты с префиксом. Эти объекты нужно удалять при каждой деинициализации. Также индикатор создает два объекта без префикса. Такие объекты нужно удалять только в случае удаления индикатора с графика.


Верно. Вроде все просто, но по функционалу получилось круто. Огромное спасибо за помощь!

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 284
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 15.05.15 07:30. Заголовок: Иногда сталкиваюсь с..


Иногда сталкиваюсь с проблемами, когда при компиляции ошибок не выдается, но индикатор не работает должным образом или сильно тормозит комп. (при смене ТФ, смене символа, перезагрузки компа). Причины могут быть разные - не верно заданные размеры массивов, нехватка глубины исторических данных и много чего еще. Такие ошибки я ищу с помощью меток (Alert). Существует ли другая технология поиска скрытых ошибок? Как пользоваться "Отладкой" - слово обнадеживающее, а функционал не понятен. Где обо всем об этом можно узнать?

С уважением! Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1547
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 15.05.15 14:45. Заголовок: Sergey пишет: Сущес..


Sergey пишет:

 цитата:
Существует ли другая технология поиска скрытых ошибок?


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

Sergey пишет:

 цитата:
Как пользоваться "Отладкой" - слово обнадеживающее, а функционал не понятен. Где обо всем об этом можно узнать?


Первоисточник описания всегда следует искать в том месте, где находится функционал, требующий описания. Так как отладчик является частью Meta Editor, то необходимо зайти в пункт меню "Справка" ME, нажать "Вызов справки", а затем просмотреть содержание. В данном случае путь к описанию таков: MetaEditor -> Разработка программ -> Отладка. Там дана первичная информация, так сказать, общее описание.
Более подробно пример работы с отладчиком описан в статье "Отладка программ на MQL5". Отладка в МТ4 и МТ5 - процесс практически идентичный.

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

Спасибо: 1 
ПрофильЦитата Ответить





Сообщение: 285
Зарегистрирован: 05.03.13
Репутация: 1
ссылка на сообщение  Отправлено: 15.05.15 18:06. Заголовок: Scriptong пишет: Те..


Scriptong пишет:

 цитата:
Технология одна и та же - как можно подробнее вывести в журнал значения переменных и проследить по этим сообщениям маршрут выполнения программы...


Спасибо! Давно собирался задать этот вопрос, но все не решался.

С уважением! Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 3
Зарегистрирован: 26.10.14
Репутация: 0
ссылка на сообщение  Отправлено: 17.05.15 19:58. Заголовок: На данный момент проблема отладки - невозможность использования ее в тестере.


В МТ5 уже доступна отладка на исторических данных, видимо будет и на МТ4.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1549
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 17.05.15 20:21. Заголовок: Linker пишет: В МТ5..


Linker пишет:

 цитата:
В МТ5 уже доступна отладка на исторических данных, видимо будет и на МТ4.


Да, как раз недавно анонсирована. Так что ждем...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 203 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 5
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет