Организуйте очередь. Помещать в очередь могут все.
Читать- только один скрипт (зацикленный эксперт), который для входа дает номер своего окна-
при попытке войти другим окном- сбой.
Если долго (2-3 секунды) не было обращений с проверкой есть ли задания в очереди- сообщение.
Скрипт (эксперт) будет посылать из одного потока.
На длль очередь- это просто.
Тогда возможно стоит найти компонент для отправки почты из самой dll.
(для php точно есть, причем с SMTP аутентификацией, в т.ч. на gmail)
Насколько я понимаю нет возможности проверить статус SendMail() ?
(успешным ли было отправление емайла или нет)
.
jartmailru, Спасибо!
void SendMail( string subject, string some_text)
Посылает электронное письмо по адресу, указанному в окне настроек на закладке "Почта".
Отсылка может быть запрещена в настройках, также может быть не указан адрес электронной почты. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Посылает электронное письмо по адресу, указанному в окне настроек на закладке "Почта".
Отсылка может быть запрещена в настройках, также может быть не указан адрес электронной почты. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Integer:
void SendMail( string subject, string some_text)
Посылает электронное письмо по адресу, указанному в окне настроек на закладке "Почта".
Отсылка может быть запрещена в настройках, также может быть не указан адрес электронной почты. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
void SendMail( string subject, string some_text)
Посылает электронное письмо по адресу, указанному в окне настроек на закладке "Почта".
Отсылка может быть запрещена в настройках, также может быть не указан адрес электронной почты. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Т.е. будет достаточно добавить проверку: (?)
if(AlertEmail==true) { SendMail(...); if(Fun_Error(GetLastError())==1) { continue; } }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Торговые сигналы образуются по открытию баров и часто бывает что приходят несколько сигналов одновременно (по нескольким валютам). Если речь о 2-3 сигналах то вроде бы проходит без проблем, но если больше то в журнале появляется ошибка:
Некоторые емайлы доходят, но далеко не все.
Я так понимаю что причина в том что происходит попытка сконнектиться с почтовым сервером параллельно со всех валют и если не удается то на этом все и заканчивается (кажется не отправленные емайлы приходят с открытием нового бара, т.е. с огромной задержкой в Period() - основательными проверками этого я пока не занимался).
- Хотел узнать можно ли проверять статус SendMail() ? - Например, если неудачно то можно повторить попытку.
- Как вообще решить эту проблему в рамках существующих ограничений? - чтобы наверняка не было пропущенных сигналов.
Спасибо!