dk777
dk777 личный блог
03 февраля 2011, 12:32

qpile

Есть робот написанный на qpile, проблема такова, иногда работает как часы, выставляет заявки заявки все ок. Но иногда заявки тупо не выставляются, мистика какая то, отвожу время назад в винде, и заявка становится. Но почему тогда не встала хз.

Вопрос может кто сталкивался с такой проблемой?
Интернет не косячит, в алгоритме тоже все ок) 
14 Комментариев
  • Тимофей Мартынов
    03 февраля 2011, 12:36
    Блин, куда не глянь — везде роботорговцы теперь!
    И как выжить теперь в этом жестоком рынке?
  • Mike
    03 февраля 2011, 12:43
    Надо строить робота — анти робота, устраивать кибернетические войны!!!
  • meteop
    03 февраля 2011, 12:53
    я везде где нужно получать текущее время вместо GET_DATETIME использую GET_INFO_PARAM(«SERVERTIME») чтобы не зависеть от локального времени в компе, впрочем при выставлении заявок это никак не должно влиять, попробуй сохранить рез-т отправки транзакции в файл (пример из справки):
    trans_result = SEND_TRANSACTION (30, trans_params)
    WRITELN («qpile_trans.log», «Result: » & get_value (trans_result, «RESULT») & ", Result_ex: " & get_value (trans_result, «RESULT_EX») & ", OrderNum: " & get_value (trans_result, «ORDER_NUMBER») & ", Description: " & get_value (trans_result, «DESCRIPTION»))
  • Александр Романов
    03 февраля 2011, 13:26
    Надо время Московское на компе поставить и всё заработает. У меня так было )
  • td4robot
    03 февраля 2011, 14:44
    походу надо анализировать что возвращает функция SEND_TRANSACTION.
  • ЮН
    03 февраля 2011, 16:12
    може просто не успевает обработать команду, так как комп перегружен
  • td4robot
    03 февраля 2011, 18:00
    бывает, просто брокер возвращает статус «заявка отклонена» без объяснения причин…
    связано может быть с перегрузкой серверов брокера??? да фиг пойми.
    округление цены до нужного кол-ва знаков после запятой в заявке делаешь?
    ну, как вот так скажешь, надо смореть анализы (моча там, кал, кардиограмма) :)))))))))))
  • lambreken
    03 февраля 2011, 22:56
    Посмотри значение RESULT_EX.
    вот какие значения может принимать:

    «0» — транзакция отправлена серверу,
    «1» — транзакция получена на сервер QUIK от клиента,
    «2» — ошибка при передаче транзакции в торговую систему, поскольку отсутствует подключение шлюза ММВБ, повторно транзакция не отправляется,
    «3» — транзакция выполнена,
    «4» — транзакция не выполнена торговой системой, код ошибки торговой системы будет указан в поле «DESCRIPTION»,
    «5» — транзакция не прошла проверку сервера QUIK по каким-либо критериям. Например, проверку на наличие прав у пользователя на отправку транзакции данного типа,
    «6» — транзакция не прошла проверку лимитов сервера QUIK,
    «7» — транзакция клиента, работающего с подтверждением, подтверждена менеджером фирмы,
    «8» — транзакция клиента, работающего с подтверждением, не подтверждена менеджером фирмы,
    «9» — транзакция клиента, работающего с подтверждением, снята менеджером фирмы,
    «10» — транзакция не поддерживается торговой системой. К примеру, попытка отправить «ACTION = MOVE_ORDERS» на ММВБ,
    «11» — транзакция не прошла проверку правильности электронной подписи.
    Код для получения доступа к параметрам массива возвращаемого функцией SEND_TRANSACTION:
    Code
    result = SEND_TRANSACTION (30, transact)
    N = get_value (result, " ORDER_NUMBER ")
    M = get_value (result, «RESULT_EX»)

    Тогда хоть понятней станет чего заявки в стакан не уходят

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

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