Кто как решил вопрос уведомления о сделках?

Страницы: 1 2 3 След.
RSS
Кто как решил вопрос уведомления о сделках?
 
Есть какая-нибудь возможность кидать хотя бы е-мейлы через скрипт?
 
Цитата
Николай Бехтерев пишет:
Есть какая-нибудь возможность кидать хотя бы е-мейлы через скрипт?
Здравствуйте,
Способов много, тот же email можно отправлять через http://luaforge.net/projects/luasocket/
 
Цитата
Sergey Gorokhov пишет:
Цитата
Николай Бехтерев пишет:
Есть какая-нибудь возможность кидать хотя бы е-мейлы через скрипт?
Здравствуйте,
Способов много, тот же email можно отправлять через http://luaforge.net/projects/luasocket/
Сергей, Вы сами пробовали использовать эту библиотеку с qlua?
 
Цитата
s_mike@rambler.ru пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
Николай Бехтерев пишет:
Есть какая-нибудь возможность кидать хотя бы е-мейлы через скрипт?
Здравствуйте,
Способов много, тот же email можно отправлять через http://luaforge.net/projects/luasocket/
Сергей, Вы сами пробовали использовать эту библиотеку с qlua?
Михаил,
Да, специально для Вас только что попробовал, работает.
 
Пример:
Код
--gSPath = getScriptPath()
--package.cpath = gSPath .."\\?.dll;" .. package.cpath
--package.path = gSPath .."\\?.lua;" .. gSPath .. "\\?.luac;" ..package.path
local smtp = require("socket.smtp")

   Settings = 
   {
      host = "smtp.TEST.ru",
      port = 25,
      from = "TEST@TEST.ru",
      to = "TEST@TEST.ru",
      subject = "Qlua notification",
      cc = "TEST@TEST.ru",
      rcpt = {
            "<TEST@TEST.ru>"
            }
   }
function smtp_send(settings, msg)
   local mesgt = 
   {
      headers = 
      {
         to = settings.to,
         cc = settings.cc,
         subject = settings.subject or "Qlua Notification",
         ["content-type"] = 'text/plain; charset="windows-1251"'
      },
      body = msg
   }

   r, e = smtp.send{
   from = settings.from,
   rcpt = settings.rcpt, 
   source = smtp.message(mesgt),
   server = settings.host,
   port = settings.port
   }
end

   smtp_send(Settings, "TEST")
 
Сергей, при помощи этой библиотеки можно общаться далеко не со всеми почтовыми серверами.
 
А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать?
Что-то я не нашел его в примере.
 
Цитата
s_mike@rambler.ru пишет:
Сергей, при помощи этой библиотеки можно общаться далеко не со всеми почтовыми серверами.
Значит нужно выбрать тот сервер с которым она работает
Цитата
Дмитрий пишет:
А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать?
Что-то я не нашел его в примере.
Большинство публичных SMTP серверов не требуют пароля.
 
первый толковый пример с LuaSocket.

ещё бы смс также просто отправлять было))
 
Цитата
Sergey Gorokhov пишет:
Цитата
Дмитрий пишет:
А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать?
Что-то я не нашел его в примере.
Большинство публичных SMTP серверов не требуют пароля.
Если требуется с паролем, можно так:

Код
gSPath = getScriptPath()
package.cpath = gSPath .."\\?.dll;" .. package.cpath
package.path = gSPath .."\\?.lua;" .. gSPath .. "\\?.luac;" ..package.path
local smtp = require("socket.smtp")

   Settings = 
   {
      host = "smtp.TEST.ru",
      port = 25,
      from = "TEST@TEST.ru",
      to = "TEST@TEST.ru",
      subject = "Qlua notification",
      cc = "TEST@TEST.ru",
      user = "TEST",
      password = "123",
      rcpt = {
            "<TEST@TEST.ru>"
            }
   }
function smtp_send(settings, msg)
   local mesgt = 
   {
      headers = 
      {
         to = settings.to,
         cc = settings.cc,
         subject = settings.subject or "Qlua Notification",
         ["content-type"] = 'text/plain; charset="windows-1251"'
      },
      body = msg
   }

   r, e = smtp.send{
   from = settings.from,
   rcpt = settings.rcpt, 
   source = smtp.message(mesgt),
   server = settings.host,
   port = settings.port,
   user = settings.user,
   password = settings.password
   }
end

   smtp_send(Settings, "TEST")
 
Цитата
sam063rus пишет:
первый толковый пример с LuaSocket.
ага незачто

Цитата
sam063rus пишет:
ещё бы смс также просто отправлять было))
А это просто. Только это делается через СМС провайдеров, которые иногда могут быть платными.
как правило API таких провайдеров довольно простое, в виде http запросов, разобраться можно.
 
Цитата
Sergey Gorokhov пишет:
Только это делается через СМС провайдеров, которые иногда могут быть платными.
а может у вас там где-нибудь завалялся примерчик с бесплатным смс-провайдером? ))))))))
 
тогда и брокерам за смс-уведомление платить непришлось бы. всё - одно - экономия! ))))))))))
 
Цитата
sam063rus пишет:
Цитата
Sergey Gorokhov пишет:
Только это делается через СМС провайдеров, которые иногда могут быть платными.
а может у вас там где-нибудь завалялся примерчик с бесплатным смс-провайдером? ))))))))
СМС оповещения
 
Цитата
Michael Bulychev пишет:
Цитата
sam063rus пишет:
Цитата
Sergey Gorokhov пишет:
Только это делается через СМС провайдеров, которые иногда могут быть платными.
а может у вас там где-нибудь завалялся примерчик с бесплатным смс-провайдером? ))))))))
СМС оповещения
честно говоря, не совсем понял. Автор пишет:
Цитата
Итак, что для этого нам понадобится:
  1. Сервер рассылки СМС сообщений
  2. GSM модем или мобильный телефон с возможностью подключения к компьютеру.
1. какой сервер? платный/бесплатный??
2. для чего???
-------------------------------------------------------------
честно говоря, ожидал какой-нибудь анонимный односторонний сервер без авторизации: как говорится, "пульнул смс и забыл". Без всяких телефонов, просто зная ip сервера и пару функций из его API.
 
но, как говорится, в любом случае, за ссылку - спасибо. Посмотрю на досуге.
 
Сервер - это программа, которая рассылает смс через модем или телефон, абсолютно бесплатная.
 
Цитата
Michael Bulychev пишет:
Сервер - это программа, которая рассылает смс через модем или телефон, абсолютно бесплатная.
спасибо, это я и так знаю. насчёт "бесплатная" - далеко - нефакт. В каждом конкретном случае - по-разному. Так и штатное API МегаФона можно было бы использовать.
 
/*SMS Server Tools 3Copyright © 2006- Keijo Kasvihttp://smstools3.kekekasvi.com/
Support: http://smstools3.kekekasvi.com/index.php?p=support
Based on SMS Server Tools 2, http://www.meinemullemaus.de/SMS Server Tools version 2 and below are Copyright © Stefan Frings.
This program is free software unless you got it under another license directlyfrom the author. You can redistribute it and/or modify it under the terms ofthe GNU General Public License as published by the Free Software Foundation.Either version 2 of the License, or (at your option) any later version.*/
 
теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
 
Вместо телефона отлично работает вот такая штука


А насчет абсолютно бесплатных сервисов у меня есть большие сомнения.
 
Цитата
Sergey Gorokhov пишет:
Цитата
s_mike@rambler.ru пишет:
Сергей, при помощи этой библиотеки можно общаться далеко не со всеми почтовыми серверами.
Значит нужно выбрать тот сервер с которым она работает
Серверов, не нуждающихся, например, в TLS/SSL, уже мало и количество их уменьшается. Обычно это древние сервера. Дописывать библиотеку для поддержки новых стандартов, как я понимаю, никто не собирается.
 
Цитата
sam063rus пишет:
теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
Да именно так. Халявы не будет. И это уже вопрос не к нам а к сотовым операторам.
Однако, если текст СМС не важен, а имеет значение сам факт его появления, вы можете схитрить. Тот же mail предоставляет услугу оповещения по СМС о письмах, совершенно бесплатно.
Но в смс будет указано только от кого оно пришло, без какого либо текста.
 
Цитата
Sergey Gorokhov пишет:
Цитата
sam063rus пишет:
теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
Да именно так. Халявы не будет. И это уже вопрос не к нам а к сотовым операторам.
Однако, если текст СМС не важен, а имеет значение сам факт его появления, вы можете схитрить. Тот же mail предоставляет услугу оповещения по СМС о письмах, совершенно бесплатно.
Но в смс будет указано только от кого оно пришло, без какого либо текста.
Так как текст смс менять нельзя а можно только адрес отправителя, идея в том что можно отправлять почту с разных адресов в зависимости от ситуации. И в самом адресе указать причину, типа BUY@anydomen.ru или SELL@anydomen.ru
 
Цитата
sam063rus пишет:
теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс.
Тут ведь вопрос ещё в надёжности доставки самого сообщения: доставка e-mail или СМС через интернет менее надёжна, чем GSM.
 
Цитата
Старатель пишет:
доставка e-mail или СМС через интернет менее надёжна, чем GSM.
тут ещё можно поспорить. )))

в общем, чувствю самый оптимальный и бесплатный вариант - e-mail. А на компьютере - поставить, что-то вроде Mailru.Agent или Outlook - и тогда оповещения не потеряются и будут вовремя и на виду.

--------------------------------------------

Кстати, в качестве бесплатной альтернативы СМС, думаю, стоит рассмотреть старую добрую "аську" (ICQ) - надо только сделать под неё толковое API
 
http://wiki.miranda-ng.org/index.php?title=Plugin:CmdLine
 
за ссылку, спасибо


в общем, задача сводится к тривиальной: отправка ICQ-сообщений по интернет с помощью соответствующего бесплатного API. Вот вам и аналог смс-оповещений))))
 
Цитата
sam063rus пишет:
в общем, задача сводится к тривиальной: отправка ICQ-сообщений по интернет с помощью соответствующего бесплатного API. Вот вам и аналог смс-оповещений))))
А если интернет на машине с терминалом отвалился?
Как узнаете об этом прискорбном факте?
Наверное, хотя бы на такие случаи стоит прицепить еще и телефон или модем для отправки смс.
 
Цитата
Дмитрий пишет:
А если интернет на машине с терминалом отвалился?
то и торговля отвалится.

К тому же, можно сделать, что-то watchdog-таймера на основе очерёдности (по времени) прихода "асек". так называемая "побудка" - если вовремя не пришло сообщение - значит "бЯда! полный ахтунг на все 4 колеса"
 
Расскажу как я это делаю.

------------------------------
Объясняю упрощенно:
------------------------------------------
Основная идея в том,
что Вы сажаете скрипт клиент-сервера с динамическим адресом  на КВИК на компе дома.
и скрипт клиент-сервера - на смартфон или планшет или нотебук
---------------------
В результате КВИК сообщит Вам о любых событиях
со скоростью передачи информации по интернет.
--------------------------
Вы можете тоже послать команду КВИКУ.
Все работает быстро и практически бесплатно.
----------------------
 
от мобильных торговых систем такой способ отличается тем, что торгует мощная система QUIK а не ее обрезанный клон на смартфон
Загрузка трафика для смартфона нулевая
 
Цитата
Дмитрий пишет:
http://static.svyaznoy.ru/upload/iblock/544/4096642_1.jpg
есть OnDisconnect() функция обратного вызова.
Понаписали то...
Блин, мне бы и е-мейла хватило, но библиотека забугорная, без русского хелпу. Мне, как непрограммеру долго придётся копаться. Спасибо за примеры!
 
Ой, да... при дисконнекте нифига не отправится)))
 
Цитата
Sergey Gorokhov пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
Дмитрий пишет:
А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать?
Что-то я не нашел его в примере.
Большинство публичных SMTP серверов не требуют пароля.
Если требуется с паролем, можно так:
Код
 gSPath = getScriptPath()
............................................................
end

   smtp_send(Settings, "TEST")
 
День добрый!
Запустил ваш код. Получил

no field package.preload['socket']
no file '\socket.lua'
no file '\socket.luac'
no file '.\socket.lua'
no file '\init.lua'
no file '\socket.dll'
no file '.\socket.dll'
no file '\loadall.dll'

luasoсket предварительно был загружен. Некоторых из указанных файлов в поставке нет. Как быть?
 
Цитата
lergen пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
Дмитрий пишет:
А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать?
Что-то я не нашел его в примере.
Большинство публичных SMTP серверов не требуют пароля.
Если требуется с паролем, можно так:
Код
  gSPath = getScriptPath()
............................................................
end

   smtp_send(Settings, "TEST")
  
День добрый!
Запустил ваш код. Получил

no field package.preload['socket']
no file '\socket.lua'
no file '\socket.luac'
no file '.\socket.lua'
no file '\init.lua'
no file '\socket.dll'
no file '.\socket.dll'
no file '\loadall.dll'

luasoсket предварительно был загружен. Некоторых из указанных файлов в поставке нет. Как быть?
Здравствуйте,
Ошибка означает что скрипт не может найти модуль socket. Он должен быть там же где и скрипт.
 
В том и закавыка. В поставке люасокет небыло socket.dll. Нашел в сети но похоже то что нужно. Простите за безграмотность - скажите где его взять можно?
 
Цитата
s_mike@rambler.ru пишет:
Серверов, не нуждающихся, например, в TLS/SSL, уже мало и количество их уменьшается. Обычно это древние сервера. Дописывать библиотеку для поддержки новых стандартов, как я понимаю, никто не собирается.
Главное не отчаиваться и слишком быстро не сдаваться.
Качаем модуль LuaSec:
Проект: https://github.com/brunoos/luasec
Бинарники можно взять тут: http://love2d.org/forums/viewtopic.php?f=5&t=76728. Нужны 2 файла - ssl.dll и ssl.lua.
Использует библиотеки OpenSSL libeay32.dll и ssleay32.dll. Скачать, если нет, и не забыть обеспечить к ним доступ - через окружение (PATH) или можно кинуть в папку с QUIK.

Подключаем:
Код
package.path = ...
package.cpath = ...
ssl = require "ssl"
Добавляем вот такую функцию:
Код
function sslCreate()
   local conn =
   {
      sock = socket.tcp(),
      connect = function(self, host, port)
         local r, e = self.sock:connect(host, port)
         if not r then return r, e end
         self.sock = ssl.wrap(self.sock, {mode = 'client', protocol = 'tlsv1'})
         return self.sock:dohandshake()
      end
   }

   local fnIdx = function(t, key)
      return function(self, ...)
         return self.sock[key](self.sock, ...)
      end
   end

   return setmetatable(conn, {__index = fnIdx})
end
... и отправляем:
Код
socket.smtp.send
{
   from = ...,
   rcpt = ...,
   source = ...,
   server = "smtp.mail.ru",
   port = 465,
   user = "user",
   password = "password",
   create = sslCreate
}

И еще вкратце, что это за безобразие такое. Вся соль в возможности smtp.send() luasocket'а (см. доки) задать свою функцию создания сокета для отправки сообщения (create = sslCreate), который по умолчанию делается библиотекой просто как socket.tcp(). Мы делаем то же самое, но только обертываем его в подмененном методе connect, где нужно "договориться" с сервером по протоколу SSL. Всё. Еще в этой функции код для доступа к остальным методам сокета, ведь далее luasocket будет работать с ним как со стандартным.

С mail.ru, например, работает без проблем.
 
Никто не обратил внимание на мое решение, а напрасно.
Зачем отсылать что-то на сторонний сервер,
почему не поставить этот сервер на своем компе и забирать эти сообщения у своего сервера?
Быстро, безопасно и бесплатно.
Подумайте  на досуге.
 
Цитата
Николай Камынин пишет:
Никто не обратил внимание на мое решение, а напрасно.
Зачем отсылать что-то на сторонний сервер,
почему не поставить этот сервер на своем компе и забирать эти сообщения у своего сервера?
Быстро, безопасно и бесплатно.
Подумайте на досуге.
Потому что нее у всех дома белый IP-адрес, а выделять за деньги немногие хотят.
Как вариант выбирать подключение к стороннему stun-серверу и т.п.
Но это слишком большой геморрой, чтобы рядовой трейдер морочился с этим.

В развитие идеи могу подсказать поднять домашний сервер на IPv6. например через teredo.
 
где взять luasocket? ссылка на оф сайте недоступна
 
или можно как то выкрутится через использование luacom?
 
Цитата
Валентин пишет:
где взять luasocket? ссылка на оф сайте недоступна
http://files.luaforge.net/releases/luasocket/luasocket
 
"Mail на SMS" Стоимость услуги в МТС =0руб Еще в 2008 подключил. Компьютер может СМСки слать на телефон. 7912ххххххх@sms.ural.mts.ru (для некоторых регионов отличается)

http://www.mts.by/mobile/messaging/e-mail/email/            МТС
http://svr.megafon.ru/services/communicate/sms_and_e-mail.html#27858      Мегафон


В Autoit уже готовый пример есть.
 
пробовал мучить луасокет для отправки почтовых сообщений.
в итоге самый простой вариант - консольная программа для отправки почты (cmail, blat) и команда os.execute
 
sms.ru
5 СМС в сутки - бесплатно.
Далее 25 коп/СМС
Вполне себе вариант.
 
фаил.vbs - может голосом произносить.
Код
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak "trade done"
 
 
Пример говорилки на Lua для QUIK
http://quik2dde.ru/viewtopic.php?pid=1383#p1383
 
Всем привет!

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

Принцип такой:
  1. Создаем бота в телеграм: https://core.telegram.org/bots
  2. В квике запускаем lua-скрипт, который от имени бота шлёт сообщения о заявках и/или сделках, на указанный в настройках скрипта аккаунта в Телеграм.
Вот ссылка на то, как я это реализовал для себя:
https://github.com/gihar/quik-telegram-bot.git

 
Есть хорошая обёртка для отправки писем lua-sendmail: https://github.com/moteus/lua-sendmail
Ей потребуется luasec, который в уже собранном виде можно взять из ссылки из третьего поста вот такого топика: http://lua.2524044.n2.nabble.com/Luasec-for-Windows-td7671151.html
Там несколько скомпилированных ssl.dll - для Lua 5.1, 5.2 и 5.3.
Файлы libeay32.dll и ssleay32.dll пришлось на одном компе ( WinXP ) положить в C:\Program Files\Lua\5.1\clibs и заработало,
а на других компах ( Win8, Win10 ) удалось только копированием в папку с Quik'ом, иначе прилетала такая ошибка:
"error loading module 'ssl.core' from file 'C:/Program Files  (x86)/Lua/5.1/clibs/ssl.dll': Не найден указанный модуль"

С помощью sendmail можно слать письма и с серверов, требующих ssl/tls ( порт по-умолчанию 465 )
Вот примеры для mail.ru и gmail.com:

Код
local sendmail = require("sendmail")

local result,error = sendmail{
    from = 'from@mail.ru',
    to = 'to@some.domen',
    server = {
        ssl = {
            protocol = "sslv3",
            verify   = {"none"},
            options  = {"all", "no_sslv2"},
        },
        address  = 'smtp.mail.ru';
        user     = 'from@mail.ru';
        password = '***';
    },
    message = { subject = "Тема", text = "текст", },
}

local result,error = sendmail{
        from = 'from@gmail.com',
        to = 'to@some.domen',
        server = {
            ssl = {
                protocol = "tlsv1",
                verify   = {"none"},
                options  = {"all" },
            },
            address  = 'smtp.gmail.com';
            user     = 'from@gmail.com';
            password = '***';
        },

        message = {
            subject = "Тема",
            text = [[ 
                Some
                Text
            ]],
            file = 'C:\some.file',
        }
    }
Страницы: 1 2 3 След.
Читают тему (гостей: 1)
Наверх