Блог им. akaRem |Неочевидные особенности QPILE

    • 22 ноября 2012, 15:52
    • |
    • akaRem
  • Еще
Пишу робота, в процессе выясняются некоторые фишки языка, не зная которых можно нарваться на большие проблемы.

Решил поделиться.

1. Все переменные преобразуются в верхний регистр (относительно очевидная штука) .
Пример.
MYVALUE и myValue — это одни и те же переменные

2. У переменных нет «области видимости» — любая переменная является глобальной в классическом понимании.… и даже «RESULT». Фактически функции — не функции, а блоки кода, которые подставляются в указанные места.

Пример:
FUNC Fn()
 FOR i from 1 TO 5
 ....
FLAG = False
END FUNC 

' тело программы
....
flag = True
FOR i FROM 1 TO 10
 value = Fn() 'теперь i=5, flag = False
....

Следствие
а) либо четко контролировать, где какая переменная используется, либо давать им имена-префиксы, делая переменными уникальными (что сильно усложняет отладку)

( Читать дальше )

Блог им. akaRem |Вопрос о стандартных задержках в обновлении данных QUIK/QPILE

    • 15 ноября 2012, 09:12
    • |
    • akaRem
  • Еще
Хочу написать торгового робота на языке QPILE, но торговый алгоритм несколько критичен к системным задержкам и рассогласованиям.
(Не ХФТ, но нужно четко контролировать позиции по инструментам, активные и исполненные заявки, а так же совершенные сделки с наименьшими «тормозами»)

Подскажите, пожалуйста, какие задержки являются нормальными (понятно, что они всегда есть, интересуют их «обычные» величины — от… до… )
— между двумя последовательными итерациями скрипта (и что будет, если его зациклить на постоянный пересчет?) (1)
— между моментом передачи скриптом заявки на сервер и моментом получения ответа от сервера о результате (2)
— (приостанавливается ли выполнение скрипта до момента получения ответа от сервера)? (2, да)
— между моментом передачи скриптом заявки на сервер и моментом появления заявки в таблице заявок (т.е. моментом начала возможности проверять наличие и статус заявки в системе) 

( Читать дальше )

....все тэги
UPDONW
Новый дизайн