Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 212
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте,
Ищу следующую информацию:
1. О реализации смс-уведомлений при отработке ключевых событий в работе советника
2. О реализации открытия и закрытия торговли с 12-00 ПНД по 18-00 ПТН (с смс уведомлением ессно :) о начале и завершении недельной торговой сессии ).
3. О реализации email уведомления после завершения торговли (18-00 ПТН) - высылка отчёта о работе советника за недельную торговую сессию, в тестере которые с графиком и указанием дат открытия позиций, дат закрытия, цен позиций, профитов/убытков по результатам закрытия позиций. Или там отчёты будут в формате txt ?
Подскажите какие функции или скрипты реализуют это? Как это всё закодить, может была у же тема какая на этот счёт - смс и емейл уведомлений и отчётах.
https://www.mql5.com/ru/articles/1454
Вот что-то типа этого, только чтобы попроще было)))
https://www.mql5.com/ru/forum/53920
Вот на форуме неплохой алгоритм смс уведомления обсуждали- советник высылает емейл, а емейл оператор отправляет смску с текстом письма. Всё гениальное просто. Там только мобильный надо будет зарегистрировать. Уже попроще стало.
Пойду почитаю, нашёл какую то функцию похожую - SendMail() .интересно сложная она?
Всем добрый день!
Сделал вот такой код - удаление всех ордеров разом.
Проблема вот в чём, ордера почти все закрываются. Но остаются не удалёнными 1-2 ордера.
И сколько бы я не обращался к этой функции, эта функция не закрывает оставшиеся ордера.
Ошибка выходит - не правильная цена.
Думал реквоты, но если идёт обращение к данной функции уже 500000 раз, то какой может быть реквот.
И какая может быть неправильная цена?
С другими советниками такой ерунды не было.
Всем добрый день!
Сделал вот такой код - удаление всех ордеров разом.
Проблема вот в чём, ордера почти все закрываются. Но остаются не удалёнными 1-2 ордера.
И сколько бы я не обращался к этой функции, эта функция не закрывает оставшиеся ордера.
Ошибка выходит - не правильная цена.
Думал реквоты, но если идёт обращение к данной функции уже 500000 раз, то какой может быть реквот.
И какая может быть неправильная цена?
С другими советниками такой ерунды не было.
Если ордеров достаточно много, то цена успевает устареть. Добавь RefreshRates() и должно быть нормально.
В том-то и дело, что ордера остаётся один или два.
Сделал цикл обращений к этой функции, пока не удалятся все ордера.
По идее если ордер на бай, то должно закрываться по Bid и не важно какая сейчас цена.
Закрыться должен по Bid по любой цене.
И если уже обратился к этой функции много тысяч раз, то цена должна хоть как закрыться.
Или я что-то не понимаю?
В том-то и дело, что ордера остаётся один или два.
Сделал цикл обращений к этой функции, пока не удалятся все ордера.
По идее если ордер на бай, то должно закрываться по Bid и не важно какая сейчас цена.
Закрыться должен по Bid по любой цене.
И если уже обратился к этой функции много тысяч раз, то цена должна хоть как закрыться.
Или я что-то не понимаю?
Ошибки есть в журнале при удалении?
Цена может уйти на достаточное расстояние во время цикла. Ask и Bid - константы, которые обновляются либо принудительно (при вызове RefreshRates()), либо при обработке нового тика. Так что, после каждого витка цикла вызывайте RefreshRates() и посмотрите, что получится.
В том-то и дело, что ордера остаётся один или два.
Сделал цикл обращений к этой функции, пока не удалятся все ордера.
По идее если ордер на бай, то должно закрываться по Bid и не важно какая сейчас цена.
Закрыться должен по Bid по любой цене.
И если уже обратился к этой функции много тысяч раз, то цена должна хоть как закрыться.
Или я что-то не понимаю?
Попробуйте 1) заменить Print на Alert, чтоб сразу видеть на экране результат - так быстрее 2) Там у Вас получается код ошибка. Выведите его и посмотрите 3) Получите и выведите код ошибки функции OrderSelect и сразу же OrderSymbol(), OpderType(), OrderTicket()
Попробуйте 1) заменить Print на Alert, чтоб сразу видеть на экране результат - так быстрее 2) Там у Вас получается код ошибка. Выведите его и посмотрите 3) Получите и выведите код ошибки функции OrderSelect и сразу же OrderSymbol(), OpderType(), OrderTicket()
Пробовал и RefreshRates(). Ничего не изменилось. Alert - тоже самое, что и принт, выдаёт - неправильные параметры.
Ошибка 3.
Сегодня утром встал, смотрю советник сработал и всю ночь показывал обращение к функции удаления всех ордеров.
Счетчик обращений показал несколько миллионов обращений. То есть ордера не удаляются.
Там есть ещё проверка на удалённость всех ордеров, это как страховка. Если есть ордера, то идёт обращение к
функции удаления. Происходит зацикливание программы. То есть пока не удалятся все ордера , из цикла не выйдет.
И такая фигня на 2 валютных парах. Уже всё голову сломал. Что делать?
Пробовал и RefreshRates(). Ничего не изменилось. Alert - тоже самое, что и принт, выдаёт - неправильные параметры.
Ошибка 3.
Сегодня утром встал, смотрю советник сработал и всю ночь показывал обращение к функции удаления всех ордеров.
Счетчик обращений показал несколько миллионов обращений. То есть ордера не удаляются.
Там есть ещё проверка на удалённость всех ордеров, это как страховка. Если есть ордера, то идёт обращение к
функции удаления. Происходит зацикливание программы. То есть пока не удалятся все ордера , из цикла не выйдет.
И такая фигня на 2 валютных парах. Уже всё голову сломал. Что делать?
А что за функция error()
Не исключено, что в ней проблема.
А что за функция error()
Не исключено, что в ней проблема.
Функция error() - просто выводит надпись с кодом ошибки. С данной функцией проблем нет, она у меня во многих советниках и я её не меняю никогда.
Так что точно не в ней дело.
А сама функция вот она: