Нужен скрипт для КВИК вычисляющий среднюю цену фьючей в позиции!
Друзья и коллеги, всем привет! Кто сможет написать или достать скрипт (на lua?) считающий среднюю цену фьючей в моей позиции?!
412 |
Читайте на SMART-LAB:
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО "БРУСНИКА" подтвердил А-(RU) прогноз "Негативный", АО «МОНОПОЛИЯ» и ООО «КОНТРОЛ лизинг» присвоен статус "Под наблюдением")
🟢ПАО «Группа ЛСР»
Эксперт РА подтвердил кредитный рейтинг на уровне ruA. ПАО «Группа ЛСР» — диверсифицированная крупная строительная...
Что общего у фиксированного купона и флоатера?
Правильно: это типы облигаций! Главные отличия собрали в карточках, а подробный гайд по выбору облигаций читайте в статье . #всенабиржу...
Роснефть: SDN санкции, низкие цены на нефть + маржа ушла в переработку - проходим дно цикла, но нужна девальвация, отчет за 3-й квартал 2025 года
Роснефть неделю назад отчиталась за 3-й квартал 2025 года, спад всех показателей год к году
Думаю для вас это не сюрприз,...
quikluacsharp.ru/landing/
Сам не обращался, но у них всякие примеры подсматриваю периодически.
это в какой таблице?
Все что ниже в отдельный файл с расширением lua:
function main()
local avgprice = 0
local pos = 0
function myFind(C,S) return C == «SPBFUT» and S == «SiM3» end
local tradeTable = SearchItems(«trades», 0, getNumberOf(«trades»)-1, myFind, «class_code,sec_code»)
for n = #tradeTable, 1, -1 do
trade = getItem(«trades», tradeTable[n])
if bit.band(trade.flags, 0x4) == 0 then
avgprice = avgprice — trade.value
pos = pos + trade.qty
elseif bit.band(trade.flags, 0x4) ~= 0 then
avgprice = avgprice + trade.value
pos = pos — trade.qty end end
avgprice = avgprice/-pos
message(«avgprice = »..tostring(avgprice))
end
function main()
local avgprice = 0
local pos = 0
local tradeTable = SearchItems('trades', 0, getNumberOf('trades')-1, myFind, 'class_code,sec_code')
for n = #tradeTable, 1, -1 do
trade = getItem('trades', tradeTable[n])
if bit.band(trade.flags, 0x4) == 0 then
avgprice = avgprice-trade.price
pos = pos + trade.qty
elseif bit.band(trade.flags, 0x4) ~= 0 then
avgprice = avgprice+trade.price
pos = pos-trade.qty end end
avgprice = avgprice/-pos
message('avgprice = '..tostring(avgprice))
end
function myFind(C,S) return C == 'SPBFUT' and S == 'GDM3' end
попробуй этот вариант, я заменил двойные кавычки на одинарные, либо Расширенный символ с кодом 171 в таблице символов это кавычка вида «. Менять вид кавычек на " (код 187). (с форума поддержки квика)
В двух местах при копипасте минус заменился на дефис.
Также заменил вытаскиваемое значение с объема на цену (trade.value на trade.price)
...
local tradeTable = SearchItems('trades', 0, getNumberOf('trades')-1, myFind, 'class_code,sec_code')
if tradeTable == nil then message('not found trades', 2); return end
for n = #tradeTable, 1, -1 do
...
можно добавить строчку выделенную жирным