Изпращане на SMS от експертен съветник чрез Skype - MQL4 статии

Кой има нужда и защо?

Каква информация би била полезна за получаване?

  1. ток, който не засяга нищо и практически дублира регистрационния файл;
  2. полезно, което ще бъде наистина полезно за търговеца в момента на получаване.

Нека разгледаме примери за актуална информация:

  • Състояние на поръчките. Когато се отвори, на каква цена, в коя посока, стоп стойности. Когато се затвори, по каквато и да е причина, на загуба или на печалба;
  • Различни условия на пазара. Например пресичане на индикатори, промяна на посоката на тенденцията.

Как работи в Skype?

  • SMS съобщения. Функцията, разбира се, е платена. Всичко изглежда както обикновено: набирате абонатния номер, съобщение и натискате бутона за изпращане.
  • Редовни съобщения. Напълно безплатно. Просто изберете потребител, напишете съобщение и натиснете бутона за изпращане.

Как да го направя от експерт?

Намерих два начина и и двата използват DLL файлове:

Първо, ние подготвяме макро файл, т.е. файл, който при стартиране ще прихване контрола върху клавиатурата и мишката на компютъра. По този начин, като използваме последователност от действия, трябва да активираме Skype, да намерим елемента за изпращане на SMS в менюто, след това в прозореца, който се появява, да наберем номера на абоната и да поставим от клипборда текстово съобщение, което преди това е било вмъкнато там от експерт. Можете да практикувате и да усъвършенствате действия предварително. По този начин ние подготвихме файл, който е асоцииран документ и може да бъде стартиран като нормално приложение. Между другото, има много приложения, които записват и възпроизвеждат макро файлове, следователно конкретни екземпляри няма да бъдат разгледани в статията.

След това трябва да разработим DLL, чиято работа ще се състои от две малки стъпки. Първият е да поставите текста, прехвърлен от експерта, в клипборда и, второ, да стартирате предварително дефиниран макро файл. Ако всичко е добре конфигурирано предварително и всички прозорци и бутони ще се появят на техните места, тогава не би трябвало да има проблеми, съобщението ще бъде изпратено.

Това обаче е зловещ начин. Интуицията ми подсказваше, че ако мозъците започнат да измислят нещо подобно, тогава е необходимо да се търси по-елегантно решение или да се откаже напълно от тази идея. И тогава една мисъл се промъкна - може би Skype има API? И със сигурност сайтът има както голи API, така и ActiveX интерфейс. Супер! Нека разгледаме втория начин за работа със Skype от експерт.

Значението е същото. Абонатният номер и текстът за изпращане се прехвърлят от експерта в DLL и DLL вече се изпраща чрез COM обекта Skype.

Прилагане на втория метод.

Нека започнем с DLL. Основната част от работата ще бъде посветена на подготовката на DLL за взаимодействие с експерта. Първо ще напишем библиотека, която да работи, когато няколко експерта я извикат. За съжаление няма да е достатъчно само да напишете функция и да я извикате. Ние използваме ActiveX, така че е препоръчително да създадете отделна нишка за него и да извършите цялата работа в него. Стандартният инструмент за паралелизиране на функциите на Mutex няма да помогне. Ще се наблюдават сривове и не се проследяват. Ние изпълняваме последователността на обажданията чрез системата от потребителски съобщения.

DLL изходен код

Търговски съветник за тестване

Експертът е прост, основната му цел е да изпрати SMS съобщение и редовно съобщение чрез библиотеката, която сме написали. Той извършва всички действия във функцията за инициализация, така че можете да тествате и през уикендите.

Инсталирайте Skype

Можете да го изтеглите от http://www.skype.com/. Препоръчително е да инсталирате най-новата версия на програмата, тъй като в предишните версии на COM интерфейса интерфейсът не се поддържа, има само API. Но, за съжаление, API не поддържа изпращане на SMS съобщения.

И така, Skype е инсталиран. Сега трябва да изтеглим COM библиотеката. Той се намира на сайта за разработчици https://developer.skype.com/ в раздела за изтегляне. Проверяваме наличността на средства по сметката, които ще бъдат използвани за изпращане на SMS. Ако няма такива, тогава акаунтът може да бъде попълнен чрез програмата чрез Интернет. Ако в сметката няма пари, няма да работи изпращането на SMS, но обикновените съобщения са без проблеми.

експертен

За да може терминалът да има достъп до API на Skype, трябва да го регистрирате. Можете да проверите дали имате разрешение за работа с API чрез Инструменти-> Опции-> Поверителност-> Управление на достъпа на други програми до менюто на Skype. Тя трябва да изглежда по следния начин:

съветник

Терминалът е регистриран при първия опит за използване на библиотеката. Това не може да се направи ръчно. Следователно, когато инсталирате библиотеката за първи път, трябва да изчакате съобщението да бъде изпратено, за да потвърдите разрешение за използване на Skype API. Skype ще покаже следния диалогов прозорец:

изпращане

След потвърждение системата започва да работи в автоматичен режим.

Инсталиране на библиотеката на SkypeLib

За да инсталирате библиотеката SkypeLib.dll, трябва да я копирате в папката expert/libraries в директорията на терминала. Също така трябва да копирате библиотеката на Skype4COM.dll там. Сега трябва да конфигурирате терминала да работи с DLL. За да направите това, когато инсталирате експертния съветник, в раздела Безопасност поставете отметка върху Разрешаване на импортирането на DLL, както е показано по-долу:

експертен

Сега можете да използвате библиотеката.

Някои важни моменти

След малко тестване и опит в изпълнението бяха забелязани малки тънкости. Трябва да се има предвид, че ако имате достатъчно пари в сметката си и сте изпратили SMS съобщение на несъществуващ номер, тогава няма да има грешка, функцията ще работи успешно и състоянието на съобщението ще бъде настроено на "изпращане. ”. Следователно е необходимо ясно да конфигурирате входните параметри на функциите. Също така трябва да се уверите, че версията на Skype е поне 3.0.

Много рядко COM обект не се инициализира и няма да се изпращат съобщения. Само преинсталирането на Skype помага. Интерфейсът отпред е сравнително нов, с някои грешки, поради което се случва такъв неприятен момент. В паметта ми имаше само два такива случая. Да се ​​надяваме, че по-късните версии ще работят по-стабилно.

Трябва също да се отбележи, че може да са необходими допълнителни библиотеки, за да работи SkypeLib.dll. Въпросът е особено остър след пускането на първия сервизен пакет за Visual Studio 2005. Най-добрият изход е създаването на инсталационен файл. Всички необходими библиотеки ще бъдат автоматично включени там. Можете също да включите файла Skype4COM.dll.

Файлове, приложени към статията

  • SkypeLib.dll - библиотеката е компилирана в Visual C ++ 6.0. Не се нуждае от допълнителни файлове с изключение на Skype4COM.dll.
  • SkypeLib.zip - изходен код на библиотеката.
  • SkypeExample.mq4 - експертен съветник за тестване на библиотечните възможности.

Предимства и недостатъци.

Недостатъци на използването на Skype SMS

  • SMS струва пари
  • Не можете да изпратите съобщение до себе си, трябва да имате друг акаунт в Skype, за да получавате съобщения.
  • Телефонът трябва да поддържа мобилната версия на Skype. Когато използвате компютър за получаване на съобщения, този недостатък изчезва.

Предимствата на този метод:

  • Сигнал в реално време
  • Понастоящем незаменяема функция. Това всъщност не е добродетел, а по-скоро факт.

Научихме как да изпращаме SMS и обикновени съобщения чрез Skype. По този начин получихме може би не най-удобния, но незаменим интерфейс за уведомяване за текущи събития в терминала. Какво следва? Но в Skype можете не само да изпращате съобщения, но и да получавате.