Отправка торгового сигнала через RSS канал
Введение
В данной статье мы рассмотрим возможность отправки торговых сигналов от Ваших лучших индикаторов или экспертов любому члену Вашего сообщества через RSS-канал. В наше время RSS является очень популярным способом связи с членами сообщества. На многих профессиональных сайтах в правой части адресной строки находится значок RSS. Они содержат не только оранжевый значок, но и ссылку на самом сайте. Многие думают, что установка значка RSS на сайте производится только веб-разработчиками. А в реальности создать RSS очень просто. Давайте разберемся, как.
RSS
Прежде всего, ознакомимся с определением RSS.Другие значения RSS см. RSS (disambiguation).
Определение RSS каналов от Wikipedia см. Wikipedia:Syndication. (Из англоязычной Википедии - Wikipedia, the free encyclopedia - Перевод MetaQuotes Software Corp.)
RSS - семейство форматов web feed используемая для публикования обновленной информации, такой как записи блогов, заголовки новостей или подкастинги. Документ RSS, называемый "RSS-каналом", "RSS-лентой" или "RSS-фидом", содержит краткое содержание соответствующего сайта или полный текст. RSS дает возможность постоянной связи с любимыми веб-сайтами в автоматическом режиме, заменяя ручную проверку.
Для чтения содержимого RSS-канала используется программное обеспечение, называемое "feed-reader" или "RSS-агрегатор". Подписаться на RSS-канал можно, перейдя по ссылке или нажатием значка RSS в браузере, который запускает процесс подписки. Агрегатор регулярно проверяет пользовательские каналы на обновления и загружает их.
В разных версиях аббревиатура RSS имеет разные расшифровки:
-
Really Simple Syndication (RSS 2.0) - очень простое приобретение информации
-
RDF Site Summary (RSS 1.0 and RSS 0.90) - сводка сайта с применением инфраструктуры описания ресурсов
-
Rich Site Summary (RSS 0.91) - обогащённая сводка сайта
RSS относится к XML форматам.
Что понадобится
Для отправки RSS сообществу Вам понадобится следующее:- собственный веб-сайт или блог с разрешенным ftp доступом
- основные знания о функциях работы с файлами в MQL4
- собственный текст BUY/SELL
|
---|
Все, что Вам необходимо, - изменить указанные строки под Ваш собственный сайт.
Без этого текста RSS-канал не будет настроен. Допустим, Вы их изменили. Переходим к следующему шагу.
Работать с файлом в MT4 достаточно просто
Следуя простым указаниям ниже, Вы без труда сможете отправлять RSS членам Вашего сообщества. Начнем.Шаг 1. Объявление RSS файлов.
Перед объявлением RSS файлов, проверьте их наличие.
int handlerss = FileOpen("test.rss", FILE_READ, ';');//проверка наличия test.rss
Если RSS-файл уже существует, значение "handlerss" будет 1. Если нет, не расстраивайтесь. Вы можете создать его с помощью следующего кода:
if(handlerss < 0)//означает отсутствие "test.rss" { handlerss = FileOpen("test.rss", FILE_WRITE, ';');//объявить его handlerss = FileOpen("test.rss", FILE_READ, ';');//и снова проверить }
После того, как RSS-файл был создан, значение "handlerss" должно быть 1. Его можно проверить в папке "Program Files\MetaTrader 4\experts\files".
После этого необходимо настроить текстовые сигналы BUY и SELL - переходим ко второму шагу.Шаг 2. Настройка сигнальных слов BUY и SELL.
string BuyStrrss = "GBPJPY 1.0 lots @ " + DoubleToStr(MarketInfo("GBPJPY", MODE_BID), MarketInfo("GBPJPY", MODE_DIGITS)) + " || " , SellStrrss = "EURJPY 1.5 lots @ " + DoubleToStr(MarketInfo("EURJPY", MODE_BID), MarketInfo("EURJPY", MODE_DIGITS)) + " || ";
Выше приведен пример моего сигнала. По желанию его можно изменить на любое слово.
После того, как Вы закончите свой собственный сигнальный текст, время переходить к самому главному - созданию Вашего собственного RSS-файла.Шаг 3. Собственный RSS файл.
Для того, чтобы понять, как это делается, пожалуйста, внимательно прочтите комментарии.
if(handlerss>0) // RSS-файл уже существует { if(FileSize(handlerss)==0) // проверяется, был ли файл написан { // 0 означает, что файл не был написан handlerss=FileOpen("test.rss", FILE_WRITE, ';'); // откройте файл для кодировки FileWrite(handlerss // начало XML. Не требуется никаких изменений, // кроме текста сигналов BUY/SELL ,"<?xml version=\"1.0\"?><rss version=\"0.91\"><channel><title>"+YourRSSTitle+"</title>" +"<link>"+YourDomain+"</link>" +"<image>"+YourIMG_Path+"</image>" +"<description>"+YourBrifeDesc+"</description>" +"<item>" +"<title>"+YourSigTitle+TimeToStr(TimeCurrent(),TIME_DATE)+"</title>" +"<link>"+YourDomain+"</link>" +"<description>" +"BUY : " +BuyStrrss +"SELL : " +SellStrrss +FinishingText // вставить текст +"</description>" +"</item></channel></rss>" ); FileClose(handlerss); // окончание стартового сигнала } else // если сигнал не стартовый { string rss=FileReadString(handlerss); // строка взята из test.rss string rssHeader= "<?xml version=\"1.0\"?>" // заголовок XML +"<rss version=\"0.91\"?>" +"<channel>" +"<title>"+YourRSSTitle+"</title>" +"<link>"+YourDomain+"</link>" +"<image>"+YourIMG_Path+"</image>" +"<description>"+YourBrifeDesc+"</description>" ; int len=StringLen(rss); // сколько знаков он содержит string rss1="<item>" // Ваш последний сигнал +"<title>"+YourSigTitle+TimeToStr(TimeCurrent(),TIME_DATE)+"</title>" +"<link>"+YourDomain+"</link>" +"<description>" +"BUY : " +BuyStrrss +"SELL : " +SellStrrss +FinishingText +"</description>" +"</item>" ,rsst=StringSubstr(rss,0, len) // получаем XML заголовок длиною "len" знаков ,rssb=StringSubstr(rss,230,0) // получаем остальной (старый) код, всё после заголовка ; handlerss=FileOpen("test.rss", FILE_WRITE, ';') ; // Теперь открываем файл для вставки нового сигнала FileWrite(handlerss,rsst+rss1+rssb); // Соединяем XML заголовок, новый сигнал и остальное FileClose(handlerss); // Закончили. Новый сигнал добавлен } }
Это все, что касается RSS. Теперь Ваш test.rss находится в директории "Program Files\MetaTrader 4\experts\files".
Вот сейчас можно отправлять Ваш собственный сигнал.
Шаг 4. Отправьте его на Ваш собственный сервер.
SendFTP("test.rss", NULL);
Узнать подробнее о настройке ftp параметров вы можете по ссылке http://articles.mql4.com/ru/articles/1416.
Шаг 5. Укажите ссылку на Вашем сайте.
Члены сообщества не узнают о том, что у Вас появился RSS сервис, если вы им об этом не сообщите.
Существует 2 способа сообщить членам сообщества, что у Вас появился RSS сервис.
1. Укажите ссылку на Вашей веб-странице.
Вставьте указанный выше код там, где должна появиться ссылка, но внутри тега "BODY".
Появится такая ссылка:
2. Пусть браузер сам распознает RSS, после этого значок RSS автоматически появится справа от адресной строки.
Вставьте указанный выше код в часть "HEAD" . После этого в правой части адресной строки автоматически появится оранжевый символ RSS.
Это будет выглядеть так:
Теперь члены сообщества и посетители сайта будут знать, что Вы передаете сигналы через RSS сервис.
Теперь при нажатии на этот значок или при переходе по ссылке, посетители будут автоматически попадать на страницу подписки.
Ваша RSS страница подписки будет выглядеть так (данная страница будет появляться, когда файл "*anyname.rss" будет опубликован на Вашем веб-сервере.)
Давайте посмотрим.
Заключение
В этой статье дана пошаговая инструкция по созданию собственного RSS-сервиса с использованием индикатора(ов) или советника(ов) MT4.
Все что Вам надо сделать, это:
- Скопировать примеры кодов из RSSXample.mq4, прикрепленных к данной статье, в любой индикатор/эксперт по желанию.
- Изменить строки в XML заголовке. Расположено здесь.
- Настроить сигнальный текст BUY/SELL. Расположено здесь.
- Отошлите его. Проверять здесь.
- Создайте ссылку на него. Проверять здесь.
Это все.
Сейчас для Вас не составит труда создать собственный RSS-сервис. Надеюсь, данная статья окажется полезной. Наслаждайтесь новым способом передачи сигналов.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная статья: https://www.mql5.com/en/articles/1480
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Согласно RSS спецификации (см. https://ru.wikipedia.org/wiki/RSS), можно добавить тег <lastBuildDate> в заголовок канала - дата последнего обновления канала. На неё многие RSS ридеры (readers) ориентируются, было ли обновление содержания канала с даты его последнего прочтения.
Вообще в спецификции RSS 2.0, если ориентироваться на неё, достаточно много тегов и атрибутов.
Спасибо за идею.
Сигналы Советника (первоначально советник использовался для передачи сигналов на свой сотовый телефон) с помощью спецификации RSS публикуются на FTP – страничке.
Опробовано в качестве рассылки. Через вспомогательные сайты (опробованы rss2email.ru и zssn.org.ua) сообщения конвертируют в e-mail для Agent mail.ru - на компьютер, для SMS – сообщений через pochta.ru.
В прикрепленном файле Советник RSS_Signal.mq4
Спасибо за идею.
Сигналы Советника (первоначально советник использовался для передачи сигналов на свой сотовый телефон) с помощью спецификации RSS публикуются на FTP – страничке.
Опробовано в качестве рассылки. Через вспомогательные сайты (опробованы rss2email.ru и zssn.org.ua) сообщения конвертируют в e-mail для Agent mail.ru - на компьютер, для SMS – сообщений через pochta.ru.
В прикрепленном файле Советник RSS_Signal.mq4