Примеры: СМС-извещения о состоянии Советника

 

New article СМС-извещения о состоянии Советника has been published:

Организация системы СМС-извещений о статусе торгового Советника, чтобы удаленно всегда знать о критических ситуациях

Author: Дмитрий

 
не подумал бы никогда что джаву примешают к терминалу...
 

Мда. Забыли дистрибутив джавы приложить ;-)

 

не разобрался как етим пользоваться... гугл шлет смски по событиям? в чем польза?

 

не разобрался как етим пользоваться... гугл шлет смски по событиям? в чем польза?

систему СМС-извещений о критических ситуациях, будь-то отключение света или если компьютер не смог "проснуться" после выходных

В самом начале статьи было сказано, как и зачем жизнь привела к созданию такого решения. Если вы сидите перед терминалом ежеминутно, то такое решение вам не нужно.

 
SendMail рулит (в той или иной степени)
 
notused:
SendMail рулит (в той или иной степени)
Чтобы SendMail рулил, нужен где-то вынесенный сервер, на котором его развернуть, а тогда уж много чего еще рулит, например, Nagios тоже подойдет. Да и если представить, что сервер взят у провайдера, то все проблемы с питанием и отсутствием связи с интернетом - забота самого провайдера и он начнет с этим разбираться, не нагружая трейдера. Гугл календарь в этом смысле заменяет внешний сервак, который делает пинг терминалу.
 

Спасибо автору, никогда бы не догадался об смс из Google Calendar. Пользовался вместо этого услугой email2sms своего провайдера, но там лишь приходил факт того что email пришел, без темы. 

 Решил повозится с календарем, но не хотелось грамоской явы, и так и не понял зачем bat файл.

 Вобщем погуглил и написал консольную утилитку на C#. Принимает на вход Логин Пароль Текст сообщения

 

Соответственно из советника вызывается так

//импорт где-нибудь в начале
#import "shell32.dll"      
int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd); 
//-----
ShellExecuteA(0,"Open",TerminalPath()+"\gcsms\gcsms.exe", "Логин Пароль "+text, "",1);
Что-бы небыло проколов со временем ставлю в винде синхронизацию времени с time.nist.gov



 
marketeer:
notused:
SendMail рулит (в той или иной степени)
Чтобы SendMail рулил, нужен где-то вынесенный сервер, на котором его развернуть, а тогда уж много чего еще рулит, например, Nagios тоже подойдет. Да и если представить, что сервер взят у провайдера, то все проблемы с питанием и отсутствием связи с интернетом - забота самого провайдера и он начнет с этим разбираться, не нагружая трейдера. Гугл календарь в этом смысле заменяет внешний сервак, который делает пинг терминалу.
Я о процедуре mql, а Вы о чём?
 
notused:
marketeer:
notused:
SendMail рулит (в той или иной степени)
Чтобы SendMail рулил, нужен где-то вынесенный сервер, на котором его развернуть, а тогда уж много чего еще рулит, например, Nagios тоже подойдет. Да и если представить, что сервер взят у провайдера, то все проблемы с питанием и отсутствием связи с интернетом - забота самого провайдера и он начнет с этим разбираться, не нагружая трейдера. Гугл календарь в этом смысле заменяет внешний сервак, который делает пинг терминалу.
Я о процедуре mql, а Вы о чём?

Ах, вот как все просто. ;-) Давайте распишем подробнее. Может, я действительно чего-то недопонимаю.

Дело в том, что встроенные средства МТ4 по отправке почтовых сообщений не позволяют качественно анализировать работоспособность терминала для оперативного уведомления. Если сломается связь или тем более питание компа, на котором выполняется терминал, то отправка уведомления, если и произойдет, то уже после того как все починится каким-либо образом, причем без участия трейдера, т.к. он все то время был не в курсе проблем. Если Вы предлагаете отсылать сообщения каждые, например, 5 минут и на основании этого судить о работе терминала - пожалуйста, но такое решение позвольте назвать "методом грубой силы". Я слабо себе представляю, какой трейдер согласится каждые 5 минут принимать SMS с уведомлением о том, что все в порядке, вместо того, чтобы 1 раз получить уведомление, если вдруг что-то поломалось. Отправка почты встроенным SendMail-ом имеет смысл имхо в том случае, если терминал стоит у хостера (который сам заботится о связи и питании), а трейдер уведомляется о проблемах коннекта к ДЦ (я такой скрипт для себя писал). Во всех остальных случаях требуется пинг с внешнего сервера. Вот поэтому я и понял под SendMail-ом известный почтовый сервер ;-))). Можно и на нем настроить аналогичную пинговалку, анализирующую входящие сообщения.

 

Я слабо себе представляю, какой трейдер согласится каждые 5 минут принимать SMS с уведомлением о том, что все в порядке, вместо того, чтобы 1 раз получить уведомление, если вдруг что-то поломалось.

Простите, ровно это предложение доказывает, что вы не разобрались в вопросе. Если взять цитату из текста статьи, то ответ будет таков:

Если вкратце объяснить принцип работы, то выйдет так: если до 9:59 (по скриншоту) ничто не удалит данное событие, то есть если Терминал не выйдет на связь с Сервером Google и не заменит это событие на следующее, то на телефон отправится СМС с "тревогой".

Данная система работает так:
1. отправляем запрос на событие "отправить через 8 минут смс, что сервер упал".

( если в течении 8 минут, терминал не выйдет на связь и не удалит это событие, то смс отправится)

2. но через 5 минут терминал вышел на связь. он видет, что есть старое событие, готовое через 3 минуты выслать смс. система удаляет это событие. система создает новое событие с таймаутом в 8 минут.

3. через 5 минут терминал не смог выйти на связь (смс будет оправлена на 8 минуте), но смог выйти на связь через 10 минут. система видет, что событие уже просрочено. система удаляет событие. создает 2 события: 1-ое о том что терминал поднялся с таймаутом в 1 минуту, 2-ое опять с таймаутом в 8 минут для случая если терминал опять упадет.

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