Отправка СМС

 

Добрый день.

Подскажите пожалуйста как отправить СМС на телефон из советника.

Пробую так, не получается, никаких ошибок не выдает:

Есть библиотека messenger.dll. В ней есть функция Sendmsg. У нее четыре строковых параметра: логин и пароль, которые нужно получить, зарегистрировавшись в сервисе смс рассылок smsc.ru, следующий параметр это номер телефона в формате 79876543210 и последний параметр - текст самого сообщения.

В самом начале кода прописываешь
#import "messenger.dll"
string Sendmsg(string login, string password, string phone, string message);
#import

Затем вставляешь Sendmsg с нужными параметрами туда куда нужно.

Только не забудь dll-ку скопировать в experts\libraries

Вложения:
messenger.dll (20.0 Кб, 12 просмотров)
 
Это вопрос, или реклама сайта, на котором необходимо зарегистрироваться, чтобы попытаться на вопрос ответить? 
 

  

Выкинь свою нокиа 3310 

 

 

и купи немного андроида

 https://www.metatrader5.com/ru/mobile-trading/iphone/help/push 

 
tara:
Это вопрос, или реклама сайта, на котором необходимо зарегистрироваться, чтобы попытаться на вопрос ответить? 

это вопрос.

нужно чтобы советник после открытия позиции отправлял смс на телефон.

можно и другим путем подсказать, если есть варианты.

я в инете только этот нашел

 
Stells:

это вопрос.

нужно чтобы советник после открытия позиции отправлял смс на телефон.

можно и другим путем подсказать, если есть варианты.

я в инете только этот нашел

А что именно не получается? СМС платное удовольствие вобще-то, да и не всегда вовремя приходят, а иногда и вовсе может не дойти.

Не лучше ли, как выше советовали, уведомление посылать в мобильный терминал? Правда, постоянно работающий терминал сажает батарейку, у меня через 3-4 часа уже требует жрать, хотя без терминала держит больше суток...

 
evillive:

А что именно не получается? СМС платное удовольствие вобще-то, да и не всегда вовремя приходят, а иногда и вовсе может не дойти.

Не лучше ли, как выше советовали, уведомление посылать в мобильный терминал? Правда, постоянно работающий терминал сажает батарейку, у меня через 3-4 часа уже требует жрать, хотя без терминала держит больше суток...


Думаю не лучше.
Был ещё вариант на емэйл посылать письмо, а от туда уже уведомление на телефон.
Вроде как есть такая услуга на почтовых ящиках. 
Но с этим не разобрался пока. 
 
Stells:

Думаю не лучше.
Был ещё вариант на емэйл посылать письмо, а от туда уже уведомление на телефон.
Вроде как есть такая услуга на почтовых ящиках. 
Но с этим не разобрался пока. 
Можно даже подключить модем - https://www.mql5.com/ru/articles/797 - на случай пропадания интернета и всяких внештатных ситуаций, когда смартфон с терминалом сел/потерялся/сломался и т.п. Но эта статья — на любителя и требует немало усилий, чтобы всё наладить.
 
Awwl:
Можно даже подключить модем - https://www.mql5.com/ru/articles/797 - на случай пропадания интернета и всяких внештатных ситуаций, когда смартфон с терминалом сел/потерялся/сломался и т.п. Но эта статья — на любителя и требует немало усилий, чтобы всё наладить.

Понятно. Что ничего не понятно. ))
Как это с СМС связанно и с терминалом мт4 ?

 
Stells:

Понятно. Что ничего не понятно. ))
Как это с СМС связанно и с терминалом мт4 ?

Дык СМС напрямую посылает, в той же мобильной сети. Статью-то прочитали?
 
Awwl:
Можно даже подключить модем - https://www.mql5.com/ru/articles/797 - на случай пропадания интернета и всяких внештатных ситуаций, когда смартфон с терминалом сел/потерялся/сломался и т.п. Но эта статья — на любителя и требует немало усилий, чтобы всё наладить.

По-моему, автор перемудрил, сделать напрямую через winapi гораздо проще. У меня huawei e173, сообщения отсылаю примерно так (c++, подредактировал оригинал):

#include <string>
#include <windows.h>

void send_sms(const char *com_port,
              const char *phone_number,
              const char *message,
             )
{
    HANDLE port = CreateFileA(com_port, GENERIC_READ | GENERIC_WRITE, 0,
                              NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if(port == INVALID_HANDLE_VALUE)
        return;

    DWORD written;
    std::string at_command = "at+cmgf=1\r";
    WriteFile(port, at_command.c_str(), at_command.size(), &written, NULL);

    at_command = "at+cmgs=\"";
    at_command += phone_number;
    at_command += "\"\r";
    WriteFile(port, at_command.c_str(), at_command.size(), &written, NULL);

    at_command = message;
    at_command += '\x1A';
    WriteFile(port, at_command.c_str(), at_command.size(), &written, NULL);

    CloseHandle(port);
}

int main()
{
    send_sms("com4", "+7924...", "message");
}

 Если кому-то очень хочется, то можно перевести на чисты мкл.

 
Pavlick:

По-моему, автор перемудрил, сделать напрямую через winapi гораздо проще. У меня huawei e173, сообщения отсылаю примерно так (c++, подредактировал оригинал):

 Если кому-то очень хочется, то можно перевести на чисты мкл.

Вы забыли сообщить маленькую деталь. Нужен еще один мобильник подключенный к компу. 

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