Если мошенники из STForex (СТФорекс) и Вас тоже обманули, то сообщите об этом нам Пишите на эту почту: [email protected]
Напишите нам
Для Вас сообщение …
Жаль, но специалист в данный момент не на месте, в связи с этим очень просим Вас указать Ваш e-mail в форме связи далее
Оператор [ИМЯ] уже в чате.
Специалист [ИМЯ] - сейчас Вам напишет.
Оператор ответит в течении трех минут
Напишите пожалуйста Ваш e-mail в форме далее, чтобы мы смогли Вам написать.
Ваша информация принята, очень скоро с Вами свяжутся - ДЕНЬГИ НЕ ПЕРЕДАВАЙТЕ !!!
Напишите пожалуйста Ваш e-mail в форме далее, чтобы мы смогли Вам написать.

Помощь начинающему системному трейдеру

TSLab. Невозможное возможно. Отправка SMS.

Приветствую всех алготрейдеров, а так же тех, кто планирует пойти по пути системного трейдинга. В данной статье мы рассмотрим отправку sms из скриптов, а так же откроем серию статей и видеороликов «TSLab. Невозможное возможно» в которых я попробую рассказать как делать простые (и не очень простые) вещи невозможные в визуальном редакторе. В качестве примера используем банальный торговый алгоритм, который позволит абстрагироваться от реализации торгового робота и сосредоточиться на целевой задаче. Используем версию программы 1.2.7.36 или выше. На версиях ниже указанной, некоторые элементы могут не работать, так как были добавлены по моей просьбе.

Задача наша будет состоять из нескольких этапов:

Написание простенького торгового робота, который будет совершать сделки. Главное условие, чтобы сделки он совершал часто, и мы могли проверить работу sms уведомления в реальном режиме.

Выяснение возможных механизмов отправки sms из работающего скрипта TSLab. Выбор наилучшего способа.

Написание кода отправки sms уведомления.

Тестирование в реальном времени полученной схемы.

Написание торгового робота.

Для целей тестирования, подойдет очень простой алгоритм, генерирующий плотный поток сделок. Я предлагаю сделать совершенно синтетическую логику, сильно оторванную от реальности. Наш скрипт будет входить в позицию на четном баре, удерживать позицию 2 бара и затем выходить из нее. На следующем четном баре вся история повторяется. Естественно, ожидать какой либо прибыльности от робота не приходится, но это и не является задачей статьи.

Вариантов реализации такого скрипта минимум два:

через визуальный редактор

через TSLab API.

Мы пойдем по простому пути и напишем код нашего торгового робота через TSLab API. Конечно, вы можете со мной не согласиться в том, что TSLab API проще визуального редактора, но я смею утверждать обратное. Для меня визуальный редактор штука сложная и куда менее понятная чем C#, так что будем ваять скрипт на API.

Итак, после пяти минут наш «супер прибыльный» торговый робот готов. На истории он создает огромное количество сделок и это дарит надежду на удачный исход нашего тестирования.

Ссылка на код торгового робота SmsSmartlabRobot

Результат работы синтетического торгового роботаРезультат работы синтетического торгового робота

Рисунок 1. Результат работы синтетического торгового робота.

Выбор способа отправки SMS из скриптов TSLab.

В этом разделе статьи, можно долго теоретизировать на тему разных вариантов реализации системы sms уведомления. На форуме TSLab неоднократно данная тематика поднималась пользователями программы, где каждый выдумывает свои схемы, подходящие под личные реалии и предпочтения. В итоге, мы находимся в ситуации отсутствия некоего универсального способа, который подошел бы всем и работал бы у всех, при этом еще не выглядел кривой пристройкой к программе TSLab.

Ну а зачем собственно нужно это sms уведомление? Ну, есть же уведомление по почте, звуковое уведомление, уведомление всплывающим окном которые уже давно реализованы внутри платформы TSLab. Зачем воротить еще какой-то способ, который возможно и не нужен вовсе? Тут опять же выхожу на сцену я, как автор статьи и бывалый программист торговых роботов, и утверждаю: «Sms уведомление нужно. Это, что говорится, “must have”». Если вы не сидите, все время, перед экраном компьютера и при этом хотите быть в курсе возникающих у ваших торговых роботов проблем, к тому же хотите получать информацию оперативно, то без sms уведомлений не обойтись. Пользовался, пользуюсь и пользоваться буду. Ни один другой способ не дает такого технически простого и быстрого механизма передачи полезной информации от вашего робота до вас. Да здравствуют операторы сотовой связи! Даешь интернационал! Ой, что-то я отошел от темы.

Один из вариантов реализации нашей задачи состоит в использовании связки «Электронная почта – сервисы отправки sms». Ваш скрипт генерирует некое сообщение, почтовый нотификатор TSLab подхватывает его и генерирует электронное письмо на сервис отправки sms. Далее данный сервис конвертирует наше письмо в sms и отправляет нам на телефон. Все очень неплохо, но сервисы обычно платные и это главный минус такой схемы. В остальном, все получается очень неплохо и без каких-либо трудозатрат. Одна беда – в визуальном редакторе невозможно генерировать пользовательские сообщения в лог, поэтому отправить уведомление о выходе из позиции, о просадке счета в 10% и т.д. не получится. Придется использовать TSLab API. Да и оплата за услугу накладывает некоторые требования на память. Можно забыть внести средства и получить отказ в обслуживании в самый неподходящий момент. Собственно, все плохое происходит чаще всего в этот самый неподходящий момент. Сложно представить человека, который думает про себя: «Ну вот, сейчас самый момент для плохого. Я готов».

Другой вариант довольно экзотичен и требует прокачанных навыков программирования вместе с пониманием модемных команд AT. Берем сотовый телефон, подключаем его кабелем к вашему ПК и получаем систему отправки sms «на дому». Далее нам придется написать кучу кода, с помощью которого мы будем передавать наши сообщения из торгового робота в телефон. Система имеет плюсы и минусы. Плюсы в том, что нам не нужны сторонние сервисы, мы используем свой телефон и ничего более. На этом плюсы, пожалуй, закончились и мы «плавно» переходим к минусам. Нужно написать много кода, мы не можем использовать эту схему, если наши роботы находятся на удаленных серверах, нужно найти телефон, поддерживающий правильный набор АТ команд. Этих пунктов уже достаточно, чтобы забраковать этот вариант и оставить его для тех, кто любит программировать на досуге для получения удовольствия. Если вы решитесь реализовать такую схему, то знайте, есть уже готовые библиотечки для общения с GSM девайсами через COM порт, так что изобретать велосипед не придется.

Ну и, наконец, третий способ, который мне больше всего нравится. Мы используем бесплатный сервис sms уведомлений. Такой сервис на самом деле есть и он прекрасно работает. Google Calendar позволяет к запланированным мероприятиям подключать sms уведомление и это как раз то, чем мы будем пользоваться. Помимо sms уведомлений мы получаем бонусом возможность просматривать историю сообщений, которые были посланы нашими торговыми роботами. В общем, практически идеальный вариант, но проблемы имеются и здесь. Нам нужно написать нечто, что будет добавлять задачи в Goggle Calendar. Так же необходимо реализовать генерацию сообщений из скрипта TSLab. Этим мы займемся позже, а сейчас попробуем подключиться к сервису Google Calendar.

Регистрируемся в Google

Создание аккаунта GoogleСоздание аккаунта Google

Рисунок 2. Создание аккаунта Google.

Успешная регистрацияУспешная регистрация

Рисунок 3. Успешная регистрация.

Выбираем сверху пункт меню «Календарь» и попадаем в Google Calendar

Первый вход в Google CalendarПервый вход в Google Calendar

Рисунок 4. Первый вход в Google Calendar.

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

Переходим в настройки календаряПереходим в настройки календаря

Рисунок 5. Переходим в настройки календаря.

После того как мы попали в настройки календаря, нужно перейти к пункту «Настройка для мобильных устройств». Вводим номер нашего телефона, жмем кнопку «Отправить проверочный код». После получения кода, вводим его в окно ниже и жмем кнопку «Завершить настройку» и далее в самом низу «Сохранить». Настройка окончена.

Подключаем телефонПодключаем телефон

Рисунок 6. Подключаем телефон.

После всех этих манипуляций, мы можем создать запись в календаре и назначить для нее уведомление по sms. Создадим тестовую запись о мероприятии и назначим уведомление за 10 минут до его начала. Выглядеть это будет так:

Тестовое мероприятие в календареТестовое мероприятие в календаре

Рисунок 7. Тестовое мероприятие в календаре.

Написание кода отправки SMS.

Мы уже в середине пути, осталось только подключить TSLab к сервису Google. Я для себя нашел самый простой и верный способ такой связки – написать стандартный нотификатор. Мы напишем небольшую библиотеку, поместим в нужную папку TSLab и потом будем использовать новый нотификатор обычным способом, как любой другой уже существующий в программе. В конце получим следующую картинку:

Внешний вид готового sms нотификатораВнешний вид готового sms нотификатора

Рисунок 8. Внешний вид готового sms нотификатора.

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

Есть разные версии данных библиотек и последняя версия №3. Понять что-либо в этой версии я не смог, поэтому использовал версию №1, которую в прошлом использовал. Тут вступает в действие принцип: Зачем тратить время на изобретение решения, если есть работающее решение. Этим принципом и будет руководствоваться, благо работает старая схема до сих пор отлично на старых библиотеках.

Ссылка на библиотеки Google

Самый простой способ сделать что-то стандартным способом, это изучение уже созданного. Для этого исследовались классы стандартных нотификаторов TSLab и был сделан вывод, что необходимо реализовать свой класс нотификатора от NotificationHandler.Главной деталью класса будут атрибуты, через которые TSLab подключит нотификатор правильным образом. Описывать процесс написания кода большого смысла не имеет, поэтому сразу смотрим готовый код.

Ссылка на готовый код нотификатора RusAlgo.Notification

Для подключения созданной нами библиотеки RusAlgo.Notification.dll к TSLab нужно создать в папке, где хранятся все данные программы, создать папку Notification и в нее поместить нашу библиотеку. Выглядит все это следующим образом:

Создание папки NotificationСоздание папки Notification

Рисунок 9. Создание папки Notification.

Все библиотеки лежат там, где им положено бытьВсе библиотеки лежат там, где им положено быть

Рисунок 10. Все библиотеки лежат там, где им положено быть.

После того как вы создали папку Notification и поместили туда нашу библиотеку RusAlgo.Notification.dll вместе со всеми библиотеками Google можно запускать TSLab. В менеджере уведомлений будет картинка идентичная изображенной на рисунке 8. А мы переходим к кульминации, к тестированию реализованной схемы.

Тестирование в реальном времени полученной схемы.

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

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

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

Ссылка на финальный код торгового робота SmsSmartlabRobotFinal

Ура, все готово и можно приступать к боевому тестированию. Подключаем полученный скрипт в виде Агента и запускаем его. Все настройки делаем такие же, какие вы обычно делаете для ваших торговых роботов. После запуска получаем следующую картинку:

Вид программы TSLab с запущенным скриптом тестирования smsВид программы TSLab с запущенным скриптом тестирования sms

Рисунок 11. Вид программы TSLab с запущенным скриптом тестирования sms.

Надеюсь, вы поставили таймфрейм 1 минута? Да? Отлично, это позволит нам за 5 минут проверить отправку сообщения при входе в позицию и при выходе. Ждем пока скрипт войдет в позицию и выйдет из нее, получаем sms на телефон и выключаем агента. Если зайти в Google Calendar, то вы увидите все сообщения, которые были посланы вам из вашего торгового робота. У меня же картинка следующая:

Сообщения, посланные из скриптаСообщения, посланные из скрипта

Рисунок 12. Сообщения, посланные из скрипта в календаре google.

Сообщения, посланные из с�рипта в �алендаре googleСообщения, посланные из с�рипта в �алендаре google

Рисунок 13. Содержание сообщения пришедшего по входу в позицию.

Итоги.

В сухом остатке у нас есть sms нотификатор, работающий стандартным способом. У нас есть пример отправки sms сообщения из любого вашего торгового робота, написанного через TSLab API.

Отправить sms сообщение из скрипта собранного через визуальный редактор тоже можно, но для этого нужно сделать кубик, отправляющий сообщение по сигналу. Создание такого кубика тема отдельной статьи, А СЕЙЧАС ВСЁ.

Команда RusAlgo и я лично желаем вам успехов в трейдинге и освоении платформы TSLab.


Обратная связь официального веб-ресурса STForex COM

Юр лицо лохотрона: StForex Ltd, телефон STForex в России: 8 (800) 775-09-22 (развод на деньги круглосуточный, БЕССПЛАТНО !!!)
ОФИЦИАЛЬНЫЙ АДРЕС STForex (ООО "СТФ"): Россия, 123112, г. Москва, Пресненская Набережная дом 6, строение 2
Загружаю карту...
Лицензия у СТФорекс (StForex Ltd) - ОТСУТСВУЕТ !!! Лохотрон разводит людей на деньги жителей России НЕЗАКОННО !!!
Если так произошло и SCAMеры из STForex (StForex Ltd) Вас развели, тогда обязательно пишите о данном факте нам на официальную почту: [email protected]

Официальные е-майл адреса:
[email protected] (группа технической поддержки, Безматерных Анатолий)
[email protected] (направление обработки жалоб на информационный веб-сервис stforex.info, Саламатина Ольга)
[email protected] (администратор сервиса stforex.info, Гончарова Любовь)

Следите за нами в социальных сетях:
Наш официальный видео канал на YouTube
Группа в ВКонтакте
Вступайте в нашу группу в Одноклассниках
Мы в Твиттере
Наша группа в Мой Мир
Мы в Instagram

© 2017 - 2024 stforex.info
Карта сайта