Тихая Гавань
Тихая Гавань личный блог
20 января 2016, 10:38

Говорящий кивин. тьфу, терминал ))

Здравия друзья и коллеги. 
совсем недавно, буквально 2 дня назад создал тему ВОПРОС К ПРОГРАММИСТАМ 
ответило не много народу, но среди ответивших оказался профессионал своего дела Андрей К   и уже вчера вечером все было готово!

правда произошла небольшая накладка — я озвучивал индикатор в МТ4, а индикаторы при работе с ДЛЛ подвисают терминал, тоесть нет второго потока ((, зато многопоточность есть в советниках, но в советнике создавать теже самые алгоритмы что и в индикаторе и тем самым нагружать компьютер дважды одной и той же работой не айс.. 

не долго думая пришел вот к такой конструкции: 

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

для тех кто захочет воплотить такое же у себя в свои алгоритмы вот как это выглядит у меня: 

в индикаторе:
Говорящий кивин. тьфу, терминал ))
Говорящий кивин. тьфу, терминал ))

и полностью код советника

Говорящий кивин. тьфу, терминал ))

помимо самого текста в файл передается символ и уровень срочности сообщения, но пока не использую фильтр срочности, пока и без него афигенно )) 

правда теперь и за компьютером сидеть особо не обязательно, так что присмотрел себе вот такие наушнички: 

Говорящий кивин. тьфу, терминал ))

можно находиться недалеко от компьютера — в радиусе 10 метров, заниматься своими делами, к примеру заниматься спортом (теже гантельки) и быть в курсе всего происходящего на рынке. 

в советнике подключаемая ДЛЛ производства Андрей К  если кому нужна — обращайтесь к нему. 

невероятно удобная фишка, при условии конечно что у вас есть некий алгоритм определяющий направление тренда, стопы и тд… ))) 

по рынку — интрадею — покупаю продаю профит в корзинку складываю чего и вам всем желаю!
по кубку Роббинсона — вчера подал заявление на участие, жду ответа. 

всем удачи и профитной торговли!

PS — мт4 как стартовая площадка для обкатки идеи, теперь задача озвучить нинзю, но поскольку нинзя плохо работает с таймфреймами, то после нинзи задача создание своего терминала… но наверно это уже после кубка ))
42 Комментария
  • Vlаdimi®
    20 января 2016, 10:46
    Вот так люди и подключаются к Матрице)))
  • НН
    20 января 2016, 10:53
    а ты ничего не путаешь насчет динамических библиотек? Создается впечатление, что слышал звон, да не знаешь где он)))) Вам не мешало бы литературку почитать;) А для озвучки в мт4, не нужны дополнительные инструменты, все есть в терминале, нужно просто только настроить
      • НН
        20 января 2016, 11:00
        Тихая Гавань, и я про то же, что вы ничего не понимаете, а что то при этом заявляете)
    • Андрей К
      20 января 2016, 10:57
      НН, Тихая Гавань возможно не совсем понятно высказался. Индикатор вызывает dll в свой же поток. Поэтому ждет окончания вызова/произношения речи, в отличии от асинхронного режима. Если речь длинная, создается эффект подвисания терминала (ожидание окончания речи).

      Идей как выкрутиться в данном случае не одна. 
      • НН
        20 января 2016, 11:01
        Андрей К, если так, то на кой нужна библиотека?
          • НН
            20 января 2016, 11:08
            Тихая Гавань, ладно, не лезу к вам умным))) разбирайтесь дальше, куда мне до вас))))
        • Андрей К
          20 января 2016, 11:09
          НН, совершенно верный вопрос. Можно решить и путем вызова внешнего exe. Более того, можно было решить углубленно, путем создания потока внутри dll. Но, Тихая Гавань просто опередил и решил все сам быстрее в рамках платформы.

          Решение dll было принято изначально, как наиболее возможно быстрый способо решения. Более того, на c# .net framework решается быстро задача с асинхронностью, там автоматически произношение уходит в новый поток. Но платформа не поддерживает dll на базе framework, а сворачивать с пути не очень хотелось, поэтому просто переписалось все на Delphi.
      • НН
        20 января 2016, 11:02
        Тихая Гавань, поставьте грамотно задачу, получите пример)
    • Андрей К
      20 января 2016, 11:12
      НН, озвучка есть в виде проигрывания wav файлов. Проблема состояла в динамическом синтезировании речи с входящими переменными. Вы же читали прошлую тему.
  • Дмитрий С
    20 января 2016, 11:02
    Лень — двигатель прогресса.
  • moroz
    20 января 2016, 11:18
    Любите вы деньгами разбрасываться
    На алиэкспрессе наушники можно взять за 2500
    Или — это религия такая — «покупаю только фирму, на цену не смотрю..»?
  • Андрей К
    20 января 2016, 11:20
    Смех смехом, а идея динамического озвучивания оказалась достаточно интересна. Мои коды тоже рыщут по рынку и ищут заходы, вываливая результаты в таблицу.
    А ведь можно и озвучить. Зачем пялиться в экран постоянно.
    С использование разнесенных акустических систем по дому, идея воплощается в шикарный инструмент. 

    Трейдеры, которые совмещают основную работу с торговлей. Тоже может подойти такая идея. Я точно знаю.

    «Лень — двигатель прогресса.» Мы немного посмеивались в личной беседе. Ведь можно и голосом делать сделки. Вот это уже настоящий двигатель =)
      • Aberkromb Garell
        20 января 2016, 11:50
        Тихая Гавань, наверное нужно разбить по именам, чтобы при обращение инициализировалось и понимало к кому обращается, а команды могут быть едиными. Библиотечки для распознвоания речи есть вроде у Микрософта =) пробовал баловаться в будущем дома своего Джарвиса завести =)  
        P.S. Если я правильно понял. А там сам задумался к роботам примотать оповещалки
          • Aberkromb Garell
            20 января 2016, 11:54
            Тихая Гавань, а наушники не громозкие? может в одно ухо который, они тоже с микром идут.
              • mt4
                20 января 2016, 12:11
                Тихая Гавань, дядь твой прогноз smart-lab.ru/blog/295686.php опять идеально отработал
                снимаю шляпу
                направь нас неразумных, по ри :) куда дальше то?
        • Андрей К
          20 января 2016, 11:58
          Aberkromb Garell, именно их api и использовались.
  • Дар Ветер
    20 января 2016, 12:53
    как варик еще сообщение дублировать через емэйл на смс, можно быть вне дома вообще, с планшетиком, зашел по смске удаленно и сделал свое черное дело
    • Андрей К
      20 января 2016, 13:04
      Дар Ветер, смс отправлять действительно не сложно. Нужно воспользоваться сторонним сервисом и отправлять на него текст прям с терминала. Я делал так. Но трейдеры — народ разный и я так думаю бывают жадные для лишних мелочных трат.
      А с email на смс у нас в РФ вроде пообрезали такие функции. Все хотят монетизироваться. Но могу ошибаться.

      Можно попробовать упросить. И слать со скайпа на скайп в телефон например. Такие идеи воплощены уже. Можно по аське с роботами общаться. Пишешь им запрос, они отвечают =))
      • Дар Ветер
        20 января 2016, 13:07
        Андрей К, у меня платформа просто шлет емэйл на адрес у оператора а тот транслирует в смс, от начала до конца за десять сек доходит, все бесплатно
        • Андрей К
          20 января 2016, 13:10
          Дар Ветер, я чуть добавил в комменте. У вас же речь не про РФ?
          Я раньше плотно занимался этим моментом. В какой то миг операторы обрезали создавание email адресов с привязкой к номеру и лишили всех этого сервиса. Рад буду, если все возобновилось.
          • Дар Ветер
            20 января 2016, 13:14
            Андрей К, понятно, когда то давным давно у меня в рб точно был тоже бесплатный гейт. но как вы написали варианты есть, гейты разные, плюс смс в том что не нужно обязательно быть онлайн чтобы не пропустить сигнал, но это и понятно.
  • Redline
    20 января 2016, 15:12
    Проблему с потоками можно решить так.
    В MT4 есть возможность слать кастомные сообщения графику и, соответственно, обрабатывать их.
    Когда сформировался сигнал, индикатор может отправить свое сообщение чарту с данными сигнала(код, значение или сразу тестовое сообщение).
    Далее пишется новый советник, который мониторит только наше сообщение и при получении занимается вызовом Speach DLL.
    В результате, в коде индикатора нет лишнего мусора, а все логика выведена в отдельный юнит, который занимается только своей локальной задачей. Плюс это позволит обойтись без файла.

    P.S.
     «Trand» в коде логичнее переименовать в «Trend»

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн