Особенности языка mql5, тонкости и приёмы работы - страница 168
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Когда Вы получаете сообщение об утечке памяти, это означает, что не было явной команды освобождения этой памяти.
Когда программа завершает работу (а именно на завершении работы Вы получаете такие сообщения), то она в любом случае освобождает всю память, в том числе утёкшую.
Возможно, я слишком вольно импользовал термин "утечка". Смысл в том, что в памяти остается висеть ресурс, имя которого даже не узнать, если объект удален. А если все же знаем его имя, то его не удалить нигде, кроме как из программы, создавшей этот ресурс.
Сейчас очень легко написать скрипт для Маркета, который подвесит (не обязательно предумышленно) Терминал на VPS, забив всю память не удаляемыми после выполнения скрипта ресурсами.
На некоторых торговых серверах могут находиться сразу несколько типов счетов. Например, ECN и стандартный. При этом символы могут не иметь префиксов, т.е. названия совпадают.
В этом случае баровая история (включая текущие значение bid/ask/last на чарте) и тиковая история соответствуют всегда только одному типу счета.
А данные из Обзора рынка - тому, к кому подключен.
Из-за этого легко наблюдать, что Обзор рынка полностью не соответствует чартам и тиковой истории.
Несколько раз нарывался на случайное (руками) изменение символа чарта, где стоит боевой советник.
Защита от смены символа.
Соответственно, беру историю за неделю до момента компиляции. Удобно.
При запуске советника часто нужно определиться со временем, с которого забирать историю цен. Чтобы каждый раз не вводить вручную, сделал так.
Соответственно, беру историю за неделю до момента компиляции. Удобно.
Зачем лишний раз полагаться на оптимизатор? Лучше:
#define WEEK 604800
Функция аварийного прерывания программы, вроде путно получилось
Функция аварийного прерывания программы, вроде путно получилось
штука то нужная - я уже и обрадовался, что свершилось.., вот решали эту задачу с @Vict https://www.mql5.com/ru/forum/318246/page10#comment_12651569
но это:
- не Exit http://www.delphibasics.ru/Exit.php
- не Abort http://www.delphibasics.ru/Abort.php
это Halt http://www.delphibasics.ru/Halt.php
UPD: такой сценарий очень нужен
штука то нужная - я уже и обрадовался, что свершилось.., вот решали эту задачу с @Vict https://www.mql5.com/ru/forum/318246/page10#comment_12651569
но это:
- не Exit http://www.delphibasics.ru/Exit.php
- не Abort http://www.delphibasics.ru/Abort.php
это Halt http://www.delphibasics.ru/Halt.php
UPD: такой сценарий очень нужен
Такой никак пока не получается(((
дык он то и нужОн очень!
если бы разработчики дали exit / abort штатный, тогда бы можно было корректно прерывать обработку данные если, к примеру, не готов ТФ - данные OHLC , для обработки отправки ордера на сервер тоже пригодилось бы... удобно в общем прервать код в любом месте и выйти до следующего тика не распутывая бесконечные return() к выходу из OnTick()
дык он то и нужОн очень!
если бы разработчики дали exit / abort штатный, тогда бы можно было корректно прерывать обработку данные если, к примеру, не готов ТФ - данные OHLC , для обработки отправки ордера на сервер тоже пригодилось бы... удобно в общем прервать код в любом месте и выйти до следующего тика не распутывая бесконечные return() к выходу из OnTick()
Ну не смог, пока...