Петр Петров
Петр Петров личный блог
25 октября 2015, 11:38

Робот на С++ или C#

У меня инженерное образование. Окончил университет по специальности «Программное обеспечение ВТ». Так вышло, что по специальности не работал ни дня. Есть мысли по автоматизации процесса торговли. Нужна информация по стыковке (экспорту) данных из Quik. Может быть кто ссылочку кинет на ресурс с информацией  или, в идеале, скинет в личку рыбу робота (проект в Visual studio) или библиотеку классов. Буду очень благодарен за помощь. 
120 Комментариев
  • Саня
    25 октября 2015, 11:53
    moroshkin.com/store/quikcs.zip
  • Алексей Ван <o-s-a.net>
    25 октября 2015, 11:54
    Приветствую.
    Если охота самому повозиться с коннектором, можно начать с этого:
    sib-algo.ru/open-source/экспорт-котировок-из-quik.html
    sib-algo.ru/open-source/выгрузка-свечей-на-chart-v-2.html
    Есть вроде где-то исходники с примерами выставления заявок через Transe2Quik.dll.
    А вообще, СтокШарп же есть. К квик вообще там вроде бы всё открыто, без сертификаций. github.com/stocksharp/stocksharp
    • А. Г.
      25 октября 2015, 12:02
      Алексей Ван,

      Примеры кодов на С++ выставления заявок посредством T2Q и получения коллбэков об их исполнении есть на самом сайте Квика.
      • Счастливый Конец
        25 октября 2015, 12:14
        А. Г., и не только на C++, но и на C# есть пример использования trans2quik.dll, сам пользую уже многие годы. Рекомендую C#, граблей нет.
        • А. Г.
          25 октября 2015, 12:34
          Счастливый Конец,

          В 2012-м ещё не было на С#, а сейчас мне уже не надо — мне ещё в тот год помогли с переносом на С#. И траблов у написанного привода нет. Поэтому менять не хочется.
  • А. Г.
    25 октября 2015, 11:56
    Я видел в сети программу Николая Морошкина вывода таблиц из Квика по DDE на С#. Там вроде все просто было, даже я разобрался. Чего не скажу о проекте StockSharp, где решены те же задачи, но слишком сложно для меня.
    • Евгений
      25 октября 2015, 11:59
      А. Г., в этих программах давно нет ДДЕ. Используется Луа.
      • А. Г.
        25 октября 2015, 12:04
        Евгений,

        Никуда DDE из Квика не делся. Просто для роботов я качаю данные нужных мне таблиц в базу по ODBC и дальше на С# работаю с базой. А DDE по прежнему использую для закачки в Excel, но не доя роботов, а для аналитической работы. А для работы с заявками использую упоминавшийся здесь T2Q, для которого знающие люди мне сделали «класс» на С#, на основе примеров кодов из файлов с сайта Квика на С++.
        • Евгений
          25 октября 2015, 13:00
          А. Г., прочитайте внимательнее мое сообщение. ДДЕ в КуСкальпе и СтокШарпе выключили.

          Работать с Квик через базу данных — месье знает толк в извращениях.
          • А. Г.
            25 октября 2015, 13:01
            Евгений,

            Я не использую ни то, ни другое, а работаю напрямую с квиком. Какое мне дело, что в каких доппрограммах их выключили?

            В 2012-м, когда я знакомился Стокшарпом, он там был, но я с ним не разобрался и Стокшарпо привёл, как пример библиотек на С#, решающих задачу закачки данных из Квика и отправки заявок в него.
            • Евгений
              25 октября 2015, 13:03
              А. Г., видимо махнули с утра?

              Вы написали про них в своем сообщении. Не знаю, какое вам дело.
              • А. Г.
                25 октября 2015, 13:09
                Евгений,

                Я только написал, что там решались те задачи, о которых пишет автор в корневом топике. В чем я не прав? А закачка по DDE от Морошкина — это пример одного решения одной из задач, заявленных автором корневого топика. Надо внимательнее читать корневой топик и понимать, что я отвечал на его текст, а не писал сам по себе.
                • Евгений
                  25 октября 2015, 13:13
                  А. Г., я внимательно вас прочитал, постарайтесь и мои сообщения прочитать не хуже. Я прокомментировал то, что прокомментировал. А вы начинаете додумывать за меня. Решили, что я сужу о вашей правоте, хотя я вас не знаю и вряд ли вы мне интересны.

                  Я прокомментировал про ДДЕ. Приведенные вами программы от него отказались. Не просто так же. А вы советуете его, пишите про него.
                  • А. Г.
                    25 октября 2015, 13:20
                    Евгений,

                    Ну так бы и написали, что Стокшарп от него отказался. Потому что то, что Lua появился в Квике, я знаю. Как я должен был понять, что под «этими программами» подразумевается только один Стокшарп?
                    • Евгений
                      25 октября 2015, 13:23
                      А. Г., потому что вы опять читаете меня невнимательно.

                      КуСкальп отказался от ДДЕ.

                      Прежде чем бежать писать на сайте, заявляя лишний раз о себе (раз нет результатов на ЛЧИ), лучше бы подучили матчасть. Стыдоба.
                      • А. Г.
                        25 октября 2015, 13:24
                        Евгений,

                        А где в моем сообщении про кускальп?
                        • Евгений
                          25 октября 2015, 13:25
                          А. Г., программа Морошкина — это КуСкальп. Стыдно не знать и этого.
                          • А. Г.
                            25 октября 2015, 13:30
                            Евгений,

                            То, с чем я разбирался — это был отдельный файл с кодом на С# для закачки таблиц из Квика по DDE за авторством Морошкина, о чем я корректно и написал в своём сообщении. Какое мне дело до других программ автора кода, если я отвечаю про своё знание на вопрос, заданный в корневом топике?
                            • Евгений
                              25 октября 2015, 13:32
                              А. Г., вы привели код, который автор не использует теперь в своей программе.

                              Действительно, какое вам дело. Вам же просто отписаться. Лучше бы на ЛЧИ зарегистрировались, и показали, как умеете трейдить.
                              • А. Г.
                                25 октября 2015, 13:36
                                Евгений,

                                Таким, как мы, никакого смысла участия в этом шоу нет. Я уже публиковал наши результаты, завтра опубликую ещё один топик. Там нет сотен процентов годовых и не будет. Зато эти проценты получены на капитале, которого нет ни у кого в ЛЧИ.
                                • Евгений
                                  25 октября 2015, 13:38
                                  А. Г., показали бы еще и ваш капитал. А то все слова, отмазки.
                                  • А. Г.
                                    25 октября 2015, 13:41
                                    Евгений,

                                    Завтра все увидите и поймёте какой капитал нужен для содержания компании и получения прибыли для владельцев при заявленных доходностях. О порядке я писал ни раз -ХХХ млн. руб.
                                    • Евгений
                                      25 октября 2015, 13:47
                                      А. Г., хоть XXXXX. Мне интересно шоу и подтверждение биржей заявленных слов некоторых завсегдатаев на сайте. А написать вы можете что угод. И какой угодно документ нарисовать. Думаете это интересно?
                                      • А. Г.
                                        25 октября 2015, 13:55
                                        Евгений,

                                        Когда у Вас клиенты на ДУ, только идиот будет публиковать нереальные результаты. Это трудно понять?
                                  • А. Г.
                                    25 октября 2015, 13:51
                                    Евгений,

                                    А как мы торгуем, транслируя сделки с большого счёта на маленький с увеличенным в полтора раза плечом есть в сети

                                    www.zerich.com/internet-trading/trade-robots/forum-strategy.html

                                    Это не по теме ветки, но Вы спросили, я ответил
                                    • Евгений
                                      25 октября 2015, 14:03
                                      А. Г., выше вы писали о простоте решения. Теперь вы решили предложить решение, противоречущее вашим же словам.

                                      Я не буду открывать счет в церихе и подписываться на ваши сигналы (или что вы там раздаете) только для того, чтобы проверить, что вы умеет управлять деньгами, а не очередной бабабол ввиде Писчикова и других, кого тут активно пиарят.

                                      Нет результата в публичных конкурсах? Не смертельно, но доверия вашим словам еще меньше, чем если бы вы даже свои результаты не публиковали нигде.
                                      • А. Г.
                                        25 октября 2015, 14:25
                                        Евгений,

                                        Не вижу противоречия. Я рассказал то, как сам программирую торговых роботов. Как программирует IT-отдел ту же автотрансляцию сделок, я просто не знаю. Вернее знаю, что это делается посредством использования протоколов FIX и Плаза2, но не думаю, что автор корневого топика спрашивал об этом. Зачем я буду писать то, чего точно не знаюи о чем не спрашивали. А счёт в Церихе полностью подтверждён брокерскими отчётами. С «мокрыми печатями» и т. д… Это подтверждение куда более достоверное, чем результат на ЛЧИ. Но он же показывает, почему нам нет смысла участвовать в шоу под названием ЛЧИ. Быть там на 30-40-50 месте? Какой смысл? Первая десятка нам «светит» только за счёт удачи, на которую рассчитывать глупо.
                                        • Евгений
                                          25 октября 2015, 14:29
                                          А. Г., все с вами понятно. Другого ответа и не ожидал.
                                          • А. Г.
                                            25 октября 2015, 14:34
                                            Евгений,

                                            Какого ответа? Заявку на участие в ренкинге управляющих мы подали сразу, как только о его тестировании объявила ММВБ. То, что с этим ренкингом биржа не решила технические вопросы, это вопрос не к нам.
                                        • Karmanoff Fedya
                                          25 октября 2015, 23:16
                                          А. Г., нее, смысл очевиден!!! Если все как говорите, то для 99% ЛЧИ это своеобразный стандарт… да даже если деньги не сильно слили-это уже неплохо! А если немного заработали, то супер!
                                      • LENIN-VOSSTAL
                                        25 октября 2015, 17:32
                                        Евгений, и еще теорвер пропогандирует, когда его применять надо уметь, теорвер работает для независимых событий, так специалисты пишут, но я терией вероятностей сильно не интересуюсь, но уверен что на смарталабе специалистов по теории вероятностей нет… и на рынке их очень мало (значит это не то)…
                                        • Евгений
                                          25 октября 2015, 18:25
                                          FXTrading, да пусть применяет что угодно. Если трейдер не показывает свою торговлю в конкурсах с публичными результатами — это говорит о многом.

                                          Тервер, матстат — это все 10-ое.
                                  • Karmanoff Fedya
                                    25 октября 2015, 23:11
                                    Евгений, перечитываю топик и соглашусь, почему бы не показать АГ?
                          • Karmanoff Fedya
                            25 октября 2015, 23:09
                            Евгений, нуу, Женя, елы палы, ну АГ сделал так, его устраивает, так бы переписал уже. Ну чего вы ругаетесь? Ведь у АГ есть что почитать, уж лучше, чем читать 99,99% помоев смарт лабовских
          • Mr. Bean
            25 октября 2015, 13:19
            Евгений, а как еще кроме как через бд…
            • Евгений
              25 октября 2015, 13:24
              Mr. Bean, через Луа. Морошкин и СтокШарп как-то сделали. Говорят, так быстрее и надежнее. Я не пробовал.
              • Mr. Bean
                25 октября 2015, 13:35
                Евгений, не, просто квик же не все данные хранит, всякие волатильности, ленты сделок, заявки. это всё надо куда то складировать (если нужна такая история).
                • Евгений
                  25 октября 2015, 13:37
                  Mr. Bean, я не знаю ЛУА. Но думаю можно и волатильность, и ленту сделок и заявок.
          • Lafert
            25 октября 2015, 15:34
            Евгений, интересно, неужели луа производительней выходит?
          • Андрей К
            25 октября 2015, 16:09
            Евгений, в чем может быть проблема quik + бд? Через odbc или lua скидывать данные, которые нужно сохранять.
        • Karmanoff Fedya
          25 октября 2015, 13:03
          А. Г., ну а тслаб стоит всего 3000₽.там же все есть. Зачем терять время и деньги на велосипед?
          • А. Г.
            25 октября 2015, 17:11
            Karmanoff Fedya,

            Это специфика моих роботов. Работа с Timeseries существенно тормозит их работу и очень громозка по кодированию, когда из них надо загнать кусок данных разной длины в конечный массив, чтобы вычислять нелинейную функцию от него. Мне проще сразу качать данные в этот массив из базы данных и не париться с теми кодами, про которые написал.
            • Karmanoff Fedya
              25 октября 2015, 22:48
              А. Г., понятно одно, что когда тс лаб накроется, то у вас все будет работать:-)
              • А. Г.
                26 октября 2015, 02:00
                Karmanoff Fedya,

                Если Квик накроется, то и у меня ничего работать не будет. Было такое, когда у брокера свет в офисе вырубили и в компании было, когда арка кривой апгрейд нашего сервера сделала (мы там на аутсорсинге). В первом случае полдня не работало, во втором 40 минут.
  • aka
    25 октября 2015, 11:59
    … на сайте арки в разделе файловый архив (http://arqatech.com/ru/support/files/ ) смотрите файлы:
    — API импорта транзакций 1.2 (для версии 6.3 и выше)rar, 164.1 КБ или
    — API импорта транзакций 1.3 (для версии 7.0 и старше)rar, 166.3 КБ
    … — там есть примеры работы с trans2quik.dll… не робот конечно, но уже помощь…
  • Счастливый Конец
    25 октября 2015, 12:24
    в общем, работаю наверное со всеми возможными вариантами работы с квиком. Прямо сейчас работает так:

    1. Из квика, стакан и котировки из таблиц ловятся скриптом Lua и пишутся на RAM диск в виде файлов. Работает все очень быстро, ведь это же RAM Disk в памяти, 7ГБайт/сек обмен. DDE тут бесполезен (медленно). Как вариант, видел работу через сокеты — не пробовал.
    2. Из квика портфель (сколько контрактов) и деньги передаются через DDE, т.к. там нет особенных скоростей. Квик кидает данные в мою программу на C# через DDE. Моя программа является сервером DDE (использовал NDDE библиотеку из сети).
    3. Из программы заявки ставятся через trans2quik.dll и слушаются ответы (callback) о статусах (исполнена, сколько налили и т.д.) — пример работы на C# есть в сети.

    Это если вам нужен квик. У меня еще есть брокер ITInvest.ru, там они предлагают библиотеку SmartCom для работы с их серверами. Пример есть на C# (на их же сайте). Можно открыть тестовый доступ и помацать пример.
    • Karmanoff Fedya
      25 октября 2015, 13:03
      Счастливый Конец, а ты программист что ли?
      • Счастливый Конец
        25 октября 2015, 13:10
        Karmanoff Fedya, Да. MCSD с 2000 года.
        • Karmanoff Fedya
          25 октября 2015, 22:44
          Счастливый Конец, ну тогда вам сам Бог велел зарабатывать с биржи!
    • Mr. Bean
      25 октября 2015, 14:06
      Счастливый Конец, а почему именно через файлы а не бд в рэм?
      • Счастливый Конец
        25 октября 2015, 15:29
        Mr. Bean, БД в памяти это еще расходы на парсинг запрсов SQL. Ну на быстрых компах это не так уж заметно, но зачем? Проще из скрипта кинуть стакан в файл
        local f2 = io.open(«g:\\StakanEDZ5.txt», «w»)
        f2:write(«S|12345|E»)
        f2:flush()
        f2:close()

        к тому же скрипт в lua надо исполнять максимально быстро, он в основном потоке квика исполняется.
        На самом деле мне нужен был просто сервер сообщений, кинул в него — и забыл, пришло-не пришло. Можно в БД кидать, можно через сокет — но это все требует наличия ответной части, коннекта к ней. С файлами этого нет. Быстро и сердито. А из .Net поймать файл элементарно, там есть FileSystemWatcher чтоли (давно делал, уже не помню точно как называется класс). Его можно создать, сказать — слушай эту директорию и если есть изменения — вызови мой метод. Кстати метод вызывается асинхронно, так что программа на C# делает обработку каждого инструмента отдельно в своем потоке. Я складываю стакан и котировки каждого инструмента в свою директорию. Работает очень быстро, до 500 изменений в директории в секунду. Это перекрывает скорость поставки данных из квика.
        • Андрей К
          25 октября 2015, 16:15
          Счастливый Конец, а вы делали замеры работы с файлом и sql? не ожидал, что с файлом быстрее
          • Счастливый Конец
            25 октября 2015, 16:24
            Андрей К, нет, прямых замеров с экспортом из quik в sql базу не делал (не было времени). Но я по своей работе использую MSSQL, поэтому знаю что никаких преимуществ перед файлами в памяти у него не будет из-за накладных расходов на движок базы (парсинг, индексация и т.д.). А сейчас и подавно нет смысла — текущий вариант (через файлы в RAM диске) — работает просто отлично. Все еще использую DDE по той причине, что не успел еще все перевести. Я точно замерял как быстро C# программа получает сообщение о новом файле — 500раз в секунду для одного FileSystemWatcher
            • Андрей К
              25 октября 2015, 16:32
              Счастливый Конец, спасибо за опыт
        • bocha
          25 октября 2015, 21:25
          Счастливый Конец, main() в отдельном потоке. Все колбэки — в основном, в квиковском потоке. Для каждого отдельного QLUA-скрипта с отдельным main() теоретически выделяется еще один отдельный поток.
          quik2dde.ru/viewtopic.php?id=16
          • Счастливый Конец
            25 октября 2015, 22:10
            bocha, совершенно верно. main в отдельном, а события в основном потоке квика «Обратите внимание, что все функции обработки событий, в отличие от функции main(), выполняются в рамках основного потока терминала QUIK, а значит время их работы должно быть сравнительно небольшим, иначе будут заметны „подвисания“ в работе терминала.»
            Но дело в том, что все интересное происходит в событиях, OnQuote (стакан), OnParam (котировки) — и их надо быстро-быстро исполнять. В main вообще нет никакой логики в моих скриптах, там просто sleep в цикле.
        • Karmanoff Fedya
          25 октября 2015, 22:57
          Счастливый Конец, после этого коммента зашёл посмотреть на Зехэппиэнд 2014! Ну нормально! А побольше процентаж никак впаять можно?
          • Счастливый Конец
            25 октября 2015, 23:06
            Karmanoff Fedya, меня устроит процент выше банковского, но я не гонюсь за суперпроцентами, это риск. С тех пор сумма увеличилась в несколько раз… На жизнь хватает и я давно живу с биржи. Очень приятное ощущение, что работаешь именно головой, а не играешь в угадайки.
    • AlexeyTikhonov
      25 октября 2015, 23:13
      Счастливый Конец, сколько сделок в час?
      • Счастливый Конец
        25 октября 2015, 23:19
        AlexeyT, раз на раз не приходится. Иногда целый день тухляк, иногда за день несколько тысяч контрактов
        • AlexeyTikhonov
          26 октября 2015, 08:10
          Счастливый Конец, несколько тысяч — пусть 10 000, рабочий день, ну 10 часов, за час — 1000 сделок, за минуту 16 сделок,
          одна сделка за 4 секунду.
          Зачем вам тогда суперскорости, если и DDE отработает?
          • Счастливый Конец
            26 октября 2015, 10:08
            AlexeyT, у меня торгуется синтетический фьючерс. Если сработала одна сделка — мне нужно совершить еще каскад как можно быстрее. В секунду 2-4 сделки в лучшем случае. Если мою первую сделку жуют по кусочкам, то там может и до 10 сделок в секунду идти (как только callbacl от T2Q придет о сделке — тут же стартует следующая). Поэтому DDE мне действительно показался тормознутым, скоро совсем от него отойду.
    • Изя 3%
      25 октября 2015, 23:37
      Счастливый Конец, да норм все с дде. работает оно вполне быстро. чего его ругают все не понятно.
      • Счастливый Конец
        25 октября 2015, 23:47
        Изя Квикович, неа. не быстро оно работает. Раз 10 в секунду. А если с qlua, то у меня до 100раз в секунду бывало стакан шел в движухах. Короче, есть разница. К тому же, несколько инструментов сильно тормозят, если с DDE работать.
        • Изя 3%
          26 октября 2015, 00:34
          Счастливый Конец, у меня 10 фьючерсных стаканов + несколько со спота, все сделки, котировки (ТТП), портфель, лимиты, позиции, заявки, сделки, стопы. плюс довольно жирные расчеты реалтайм в один поток, плюс графики. вот хотите верьте хотите нет, но поверите ничего не тормозит. кажется просто все кто говорит о тормозах дде просто неправильно с ним работают )
          • Счастливый Конец
            26 октября 2015, 01:57
            Изя Квикович, значит у вас уникальный робот. Как следует из переписки выше, stocksharp и qscalp отказались от DDE. Видимо не зря. Я тоже постепенно отказываюсь, но еще не переделал до конца.
            • Изя 3%
              26 октября 2015, 20:48
              Счастливый Конец, конечно уникальный, как же иначе! он настолько пи№; ат, что нигде ничего подобного не видел )
  • evgen000
    25 октября 2015, 12:47
    Если не коннектитесь напрямую к бирже то нет никакого смысла заморачиваться с с++
    • Счастливый Конец
      25 октября 2015, 13:30
      evgen000, просто коннект к бирже (типа плаза2), стоит 5тр. Обычно не все начинают с плазы, а для начала чего попроще делают, чтобы обкатать стратегию.
      • werwrw
        26 октября 2015, 03:04
        Счастливый Конец, ну ребята ВЫ даете. Я старый програмер, правда на VB и могу со 100% уверенностью сказать что от DDE отказались все перечисленные тут люди (Морошкин и СтокШарп) не из-за скорости или ещё какого либо большого кода. дело в том, что давным давно Микрософт совершенно официально предупредило почему ОНО само отказалось от DDE и в замен перешло на ОDBС. И не из -за чего-либо а из-за того что эта связка по DDE не надежная и все. Чтобы вам не морочить словами голову, возьмите для понятия причин, в Си своем, напишите свой ЕХЕ и откомпелируйте его на открытия и чтения из тхт файла инфы. Потом в Си напишите ещё прогу и откройте файл тхт причем с доступом для других прог, и держите его открытым, а потом запустите свой ехе файл и посмотрите сможет ли он прочесть открытый файл другой прогой.… А что бы вы воочию увидели всю пакость DDE связей, загрузите свой проц на 100% и попробуйте по DDE связать 2-е проги на чтение/запись файла, вот тогда увидите почему Микрософт и выше авторы отказались от DDE.
        Я об этом тут всех Квиковцев предупреждал года 3 назад, и даже тогда когда сами Морошкин и СтокШарп ещё продолжали восхвалять свой DDE.
        • Mr. Bean
          26 октября 2015, 14:05
          werwrw, а просто файловый ввод/вывод не имеет таких проблем?
          • werwrw
            26 октября 2015, 14:50
            Mr. Bean, давайте я вам расскажу, а вы уже сами решайте. Я уже для себя решил, давно, причем с ещё большей уверенностью, когда Микрософт отменил свою fat32 в ОС > 4гб (предупреждая о её не надежности), хотя она могла работать с дисками > 32гб… У нас были CPU486 и наш програмер на С++ (борланд) прогу читающую из txt данные, и одновременно пишущую туда данные сотворил (не волнуйтесь- неделю проверяли все и все режимы, препробовали все ключи и флашки)… короче из-за того что проц был хилый мы смогли засечь причину зависания машин при режиме когда юзеры (на работе) одновременно запустив эту прогу (она по технологии нужна на производстве) игрались в игрушки… И нагрузили знамо дело свой проц на все сто. И тут прога споткнулась на чтении и зависла… Т.е. из 1000 раз писания/чтения может возникнуть режим одновременного чтения/записи и вот тут сбой… А у вас деньги. А Микрософт не биржа и то отказалась от такого режима… Я знаю уйму народа которые наплевали на предупреждения Микрософта насчет fat32 и вся их инфа уже тютю с флешек… У вас деньги а не игры, вам решать.
            • Mr. Bean
              26 октября 2015, 15:28
              werwrw, ну т.е.проблема не в самом DDE, а именно в одновременной записи/чтении файла? и на каком решении остановились?
              • werwrw
                26 октября 2015, 18:43
                Mr. Bean, Мы просто запретили использовать эту прогу- производство стратегического значения.… хм… как не понятно что DDE у Микрософта использует файлы а не память для связывания данных… Сами то проги в памяти, а вот их данные файлы, вона у ворда например всегда делается темповый файл, вот он то и служит данными… А вот ODBC уже не файловый интерфейс.
                Но выбирайте сами.
                rem. Например у alor-а (брокера) есть свой терминал, он использует для доступа к его данным COM интерфейс, а не какой-то сраный DDE.
                • Mr. Bean
                  26 октября 2015, 19:01
                  werwrw, вот и странно, неужель ДДЕ-сервер не может обеспечить нормальный доступ. я кстати там выше спрашивал почему файл а не БД, говорят так быстрее.
                  • werwrw
                    26 октября 2015, 19:22
                    Mr. Bean, Хотите верьте разработчикам DDE, Микрософту, или здешним «супперумельцам» дело ваше. Деньги то ваши, а не мои и не их и уж тем более не разработчиков квика. А по правде говоря, моё мнение такое, эти разработчики квика «сраныепрограмеры», если только и смогли при современных средствах сделать доступ по DDE. Я так понял они супперпупер по графике а не по взаимодействию.


                    • Mr. Bean
                      26 октября 2015, 20:35
                      werwrw, да я верю, прост думал что конфликт возникает из-за чтения файлов роботом напрямую, в обход дде-сервера.
                      • werwrw
                        26 октября 2015, 22:58
                        Mr. Bean, Могу посоветовать следующую комбинацию. 1- запускаем в квике dde сервер акцесс. 2- В ячейку (думаю поле типа мемо или тхт)ляпает данные из квика, 3-и на уровне акцесса делается запрос с помощью или SQL или ADO библиотеки. рем(SQL предпочтительнее, но наверное вам сложно будет с ним работать). Таким образом уровень доступа к ячейки будет 100% обеспечен без конфликтов чтения/записи.
                        Проще и понятнее. 1- квик пишет данные в ячейку акцесса.
                        2- в акцессе для чтения данных из этой ячейки запускается каждый раз sql запрос (или объектный код ADO библиотеки к доступу ячейки) и т.о. акцесс даст вам со 100% гарантией не конфликт с записью в эту ячейку. REM. знаете почему сбойнет у вас dde (в стандартном варианте)? Потому что у DDE есть буфер который заполняется пока есть конфликт с доступом к записи. Как только буфер заполниться DDE или сбойнет или потеряет данные.



                        И учтите, это ваши деньги а не тех людей, включая меня, которые вам советуют. Пробуйте.Удачи.



                        • Mr. Bean
                          26 октября 2015, 23:18
                          werwrw, спасибо за инфу, как раз экспериментирую.
                    • Изя 3%
                      26 октября 2015, 21:02
                      werwrw, извините, а вы «супперпупер» в чем?
                • Изя 3%
                  26 октября 2015, 20:58
                  werwrw, какая связь между файлами и dde вообще? лол )
        • Изя 3%
          26 октября 2015, 20:56
          werwrw, никто не от чего не отказался. в последнем офисе 365 dde замечательно работает в Excel
      • Артемий Вяземский
        26 октября 2015, 19:35
        Счастливый Конец, можете посоветовать самоучитель по с++?
        • Счастливый Конец
          26 октября 2015, 19:55
          tdell, не рекомендовал бы C++ для изучения если вам только для торговли. Но вообще C++ знать надо, на нем некоторые быстровыполняемые вещи писать удобно, типа dll и потом подключать к высокоуровневым языкам типа C#. Смотрите firststeps.ru/ Сайт не обновляется, но оно ему и не нужно. Слева C Sharp & .Net, ну или С++ если все же захотите его.
          • Артемий Вяземский
            26 октября 2015, 20:24
            Счастливый Конец, спасибо за информацию.
            Я думал, что с++ как раз подходит для широкого профиля.
            Помогите с выбором, если не затруднит:
            Язык выбирал для широкого профиля.
            Писать маленькие программы для себя, в том числе и для торговли.
            В тоже время, чтобы выученный язык помогал писать макросы в екселе.
            Чтобы с этого языка можно было развивать навык программирования дальше.
            • Счастливый Конец
              26 октября 2015, 20:41
              tdell, по прежнему — идеальный выбор это C#. Просто начните смотреть. C# по синтаксису похож на C++. Программист на C# может найти работу, т.к. .Net это mainstream, наряду с java
              Макросы для excel как я помню, пишутся на visual basic. Ну тогда можно Visual Basic.Net смотреть, но это уже немножко не то.
    • А. Г.
      25 октября 2015, 17:27
      Петр Петров,

      Плюсанул его второй топик (первый плюсанул сразу, как прочел). Решения интересные для тех, кому важна скорость. Мне просто секунда не принципиальна при работе с базой. Я вообще торгую по минутным барам, так как вероятность двух сделок на одной минуте у любого из моих роботов близка к нулю. Единственный «прибамбас»: минутные бары по всем эмитентам формируются при появлении сделки из следующей минуты, хотя бы в одном из эмитентов (исходный поток — это таблица всех сделок квика по выбранным эмитентам). Других потоков я не использую.
    • LENIN-VOSSTAL
      25 октября 2015, 17:37
      Петр Петров, у вас задача стоит:

      1. Разработать математику и где-то ее «покуртить повертеть» как можно быстрее и с наименьшими затратами труда. Что-бы графики отрисовались для загруженных исторических данных и т.п. На глаз оценили — все ок, то следующий этап:

      2. Нужно протестировать на истории, протестировали, если все ок, двигаемся дальше

      3. Определяем платформу через которую торгуем, если определили, делаем советник робота и коннектим к нему dll скомпилированную софтиной в которой делали этап 1

      4. Запуск торговли.

      И без матлаба, мэпла или математики, у вас «супер умных роботов, индикаторов и советников» не будет! А прибыльных простых стратегий — это единичные экземпляры (на среди 5000 индикаторов на сайте mql5 нет практически ни одного.



      Бугага.

      Have a fun!
        • А. Г.
          25 октября 2015, 20:30
          Петр Петров,

          Правильный ход мыслей. Только одного положительного матожидания недостаточно. Нужен еще параметр риск и по соотношению доходность-риск надо обойти лучшую из пассивных стратегий (Лонг, шорт или аут). И вторая не менее важная часть — это не допустить переподгонки.
  • crazyFakir
    25 октября 2015, 18:23
    вопрос у тебя тупой. язык это инструмент, а не самоцель

    пиши на луа, если знаешь что ты хочешь

    потом уже отрабатывай узкие места
      • crazyFakir
        25 октября 2015, 18:45
        Петр Петров, без математики системной идеи не родить — это тебе последний подарок.
  • П М
    25 октября 2015, 21:02
    ссылка на топик смартлаба где я выложил код по экспорту данных из Quik есть в моём профиле.

    в двух словах — в Lua скрипте из Quik создаётся named pipe, через которую в Lua (Quik) засылаются запросы и получаются ответы.
    named pipe можно читать/писать из любого языка. серверную часть на Lua можно дополнять любыми новыми запросами.
    код немного староват, но новый никто не просил. с некоторой модификацией работает в бою у меня.
    из серьёзных недостатков пока осталось использование lua-ffi обёртки, однопоточность и сериализация/парсинг данных в строковый формат при положении в pipe. эту часть можно упростить и гонять через pipe не текстовое представление цифр, а бинарные цифры.
    немного длинно получилось. но так понятнее.

    скорости получения стакана, свечек и ГО — доли миллисекунд.
    сетевые тормоза и квиковские — гораздо больше, чем те что даёт робот. дальше только DMA и колокация. из квика HFT не вылепить.
    ну, читайте топик из профиля :)

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

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