Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

В проекте есть библиотека TRANS2QUIK.dll, при помощи которой происходит обмен данными с QUIK.

Юнит QuikExt является интерфейсом для работы с этой библиотекой.

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

Основная логика работы примерно следующая. Используя функцию Quik.SendASyncTransaction( TransStr ) по API в QUIK отправляется сделка, далее в интерфейс QuikExt приходят асинхронные ивенты от QUIK в 4 функции (ConnectionStatusCallbackClass, TransReplyStatusCallbackClass, OrderStatusCallbackClass, TradeStatusCallbackClass), в которых происходит формирование классов с данными от полученных ивентови добавление их в Queue.List (TThreadList). Далее, после каждого ивента, отправляется PostMessage для обработки обновленного листа в procedure TQuik.WMInsertQueue(var Message: TWMSysCommand), в котором полученные классы отправляются дальше (в цикле пробегая лист) в основное приложение.

Проблема в отсутствии синхронизации: ивенты приходят асинхронно и лочат лист, и процедура обработки листа делает тоже самое. Может прийти несколько ивентов практически одновременно.

Проект прилагается.

Для тестирования работы проекта понадобится программа QUIK-Junior, её версию, настроенную под проект, вышлю позже.

Так же в проекте используется SmartInspect 3.2.3 для логирования (в uses SiAuto) - есть на рутрекере.

11 лет назад
Ariloum
Денис 
44 годаРоссия
15 лет в сервисе
Был
10 лет назад
  • Похожие заказы
  • $1000

    Необходим плагин-переводчик для ворда 2010. Вкратце - поиск и перевод из базы переводов совпадающих пар, а также поиск похожих до определенной степени выражений на русском. Всё должно происходить в рабочем поле ворда. Также по максимуму должно совпадать ...

    Закрыт
    10 лет назад
  • $1000

    1. Знание Delphi/С++/С# или какого либо одного. 2. Опыт написания различной сложности парсеров, чекеров, брутеров. 3. Знание протоколов TCP/IP 4. Знание *nix систем 5. Разбираться в web-серверах Необходимо уметь быстро переключаться от одной задачи к другой. Постоянный онлайн в ...

    Закрыт
    11 лет назад
  • Необходимо реализовать программу, с помощью которой: можно будет выбирать область, и ставить ей разные статусы: зарезервировано или продано. Соответственно при выборе области заполняешь поля: Статус (продано или резерв), ФИО, телефон, емейл, адрес, цена. Комментарий. При присвоении ...

    Закрыт
    11 лет назад
  • Надо сделать так, чтобы скрипт опозновал одинарный сигнал и двойной. при двойном сигнале должна нажиматься кнопка "случайная статья"\random article в википедии... при одинарном сигнале страница должна прокручиваться вниз. Это возможно?

    Прикладное ПОнет заявок
    Закрыт
    11 лет назад
  • $2500

    Требуется Delphi или C++ разработчика с опытом от 3 лет, с хоть каким-то нормальным портфолио (парсеры\чекеры\граберы не в счет). Основные требования: - пример того что вы должны уметь написать: регулярки, инсталятор\анинсталлер, разбить\склеить файл, модифицировать готовый exe, запаковать\распаковать - ...

    Закрыт
    11 лет назад
  • $62

    срочно, отчёт по практике на С++, всего 10 заданий(Разработка интерфейса приложения, Изучение средств графического представления данных, Построение отчетов, Изучение компонентов-полей и визуальных компонентов для работы с таблицами, ...

    Закрыт
    11 лет назад
  • Добрый день! Нужно реализовать один проект, в принципе есть аналог который мог бы вам показать, чтобы стало понятно что именно нужно будет сделать. Нужно разработать ПО, которое бы дистанционно вело статистику и учёт устройств ...

    Закрыт
    11 лет назад
  • $50

    Написать простую программу телесуфлера на любом языке программирования. Функции программы: - Зеркальное отображение текста. - Авто прокрутка текста. - Управление скорости прокрутки текста. - Белые буквы на черном фоне. Необходимо до завтра, 1 октября, до 17:00 по Москве.

    Прикладное ПО1 исполнитель
    Завершен
    11 лет назад
  • Есть фронтенд (см. рисунки). Под него нужно придумать backend на MS Dynamics CRM 2011. Дополнительные требования: Простота развёртывания. Решение будет инсталлировано на несколько экземпляров CRM 2011.

    Прикладное ПОнет заявок
    Закрыт
    11 лет назад
  • Добрый день! Нужно сделать электронное табло для системы учета времени на картинге. Программа производителя отдает информацию в сети по протоколу telnet. В переданной строке: номер датчика на машинке, время последнего круга и лучшее время круга. Подробное ...

    Закрыт
    11 лет назад