Постов с тегом "qlua robostroy": 4

qlua robostroy


Алготрейдинг. QLUA округление данных (round)

function round(number, znaq) -- функция округления числа num до знаков znaq
local num = tonumber(number)
local idp = tonumber(znaq)

	if num then
		local mult = 10 ^ (idp or 0)
		if num >= 0 then return math.floor(num * mult + 0.5) / mult
		else return math.ceil(num * mult - 0.5) / mult
		end
	else return num
	end
end

Роботы на qlua: разбираемся с новыми возможностями Quik

Некоторое время назад в Quik появился встроенный язык программирования qlua, который расширяет возможности пользователей в плане создания торговых роботов под эту платформу. Сравним возможности qlua с возможностями qpile и напишем простого робота.
Случайно узнал, что в Квике появился новый язык программирования, на котором можно писать торговых роботов – qlua. Если честно, мне никогда особо не нравился qpile по следующим причинам:
  • Отсутствие нормального отладчика, что делает процесс отглючивания роботов весьма и весьма муторным и трудоемким.
  • Непохожесть многих конструкций qpile на такие распространенные языки, как C, Pascal и их множественные диалекты. Из-за этого сам процесс программирования становиться очень неудобным и трудоемким. То, что легко написать, к примеру, на Pascal, на qpile пишется через «танцы с бубнами».

  • В qpile для того чтобы добавить в коллекцию элемент нужно вызвать функцию добавления в коллекцию и результат этот функции присвоить коллекции. Это неудобно и провоцирует ошибки, которые потом из-за плохого отладчика трудно находить.
  • Очень неудобно отсутствие локальных переменных. В свое время я находил выход из этой ситуации – если в какой-то функции надо использовать внутренние переменные, которые не должны испортить общие данные, то такую переменную обозначал префиксом, сокращенным от имени процедуры. Хотя это тоже очень неудобно. Согласитесь, это извращение, называть переменную aoI (если она внутри функции AddOrder) или  robCurrentPrice (если функция называется ReadOrderBook). Но другого выхода, к сожалению, нет.

Разбираемся с qlua и делаем простого робота http://robostroy.ru/community/article.aspx?id=653

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