(QUIK Lua) Здравствуйте, я знаю что вас задолбали такие как я) но прошу помочь с кодом, конкретно нужен код для получения цены открытой позиции,цена нужна для выставления точного стоп ордера.
Спасибо
(QUIK Lua) Здравствуйте, я знаю что вас задолбали такие как я) но прошу помочь с кодом, конкретно нужен код для получения цены открытой позиции, цена нужна для выставления точного стоп ордера.Спасибо
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
Есть функция. Она бегает по «trades» циклом и ищет последнее значение. На вход функция получает SEC_CODE, например RIH8, SiH8. Возвращает она цену последней ВАШЕЙ сделки.
function getLastPrice(sec)
for i = 0,getNumberOf(«trades») do
local pr = getItem(«trades», i)
if pr ~= nil and type(pr) == «table» then
if pr.sec_code == sec and i == getNumberOf(«trades»)-1 then
return pr.price
end
end
end
end
В вашей main функции создайте локальную переменную, которая в необходимый момент будет дергать эту функцию. Не забудьте передавать в параметрах код инструмента.
Здравствуйте, спасибо вам за ответ, я попробовал сделать как вы сказали, но что то пошло не так
подправьте пожалуйста где ошибка?
p_classcode=«SPBFUT» --Код класса
p_seccode=«RIH8» --Код инструмента
is_run = true
function getLastPrice(sec)
for i = 0,getNumberOf(«trades») do
local pr = getItem(«trades», i)
if pr ~= nil and type(pr) == «table» then
if pr.sec_code == sec and i == getNumberOf(«trades»)-1 then
return pr.price
message (pr.price)
end
end
end
end
function cb(index)
local t = ds:T(index)
local str = «свеча № »..tostring(index-1).." из "..tostring(ds:Size()).." open="..ds:O(index-1)
str = str.." close="..tostring(ds:C(index-1))
---high="..tostring(ds:H(index)).." low="..tostring(ds:L(index))
local lastPrice = getLastPrice(p_seccode)
message (lastPrice)
ООО "Л-Старт" подготовил ответы на ключевые вопросы инвесторов
🟢 ООО «Л-Старт» подготовил ответы на ключевые вопросы инвесторов относительно текущего финансового состояния, операционной деятельности, судебной практики и планов развития компании Полная версия...
Треть опрошенных заемщиков считает, что получить заем в МФО стало сложнее
Мы узнали у клиентов, как они оценивают доступность кредитов и займов в этом году. Делимся результатами исследования. 🔸 Займы в МФО. Каждый третий опрошенный (31,9%) отмечает, что получить заем в...
Рынок акций последние полгода находится в нисходящем тренде: за это время Индекс МосБиржи потерял более 17%. Но даже в такой обстановке есть бумаги, которые стабильно держатся лучше остальных. Мы...
Нефть на страхе Трампа перед хуситами ( решил не атаковать их) отбилась от 99$ и уже растёт выше 102$
США, Россия и Украина могут в конце сентября провести переговоры на 81 сессии ГА ООН. Ну и конеч...
64% россиян положительно оценили цифровой рубль — 18% уже им платили Россияне оценили цифровой рубль: 64% выступили за массовое внедрение64% россиян положительно относятся к массовому внедрению цифров...
Валюта резко перестала быть кому-то нужной. Интересно, почему?
А я расскажу — все поняли, что сейчас экспортёры будут огромные кучи валюты менять на рубли и дохляр в ближайшие 2-3 месяца можно будет...
Армения может стать одним из крупнейших центров американской ИИ-инфраструктуры с более чем 70 тыс. чипов Nvidia — BBG Армения наращивает роль в глобальной инфраструктуре искусственного интеллекта. К к...
alexborx, Б2 по размеру больше чем Б1 и Б8 вместе взятые. Конечно она получше смотрится имхо чем Б4 и Б5 (и тем более последующие) ну ну на фих по нынешним временам, поменял на Б1 и Б8 (получилось ...
Утренний обзор, 22 сентября 2026 года. Рынок США. Утренний обзор, 22 сентября 2026 года. Рынок США.
🕯Техническая картина
—Долгосрок: месяц закрылся внутри верхней свечи -пятый месяц роста, быки...
Есть функция. Она бегает по «trades» циклом и ищет последнее значение. На вход функция получает SEC_CODE, например RIH8, SiH8. Возвращает она цену последней ВАШЕЙ сделки.
function getLastPrice(sec)
for i = 0,getNumberOf(«trades») do
local pr = getItem(«trades», i)
if pr ~= nil and type(pr) == «table» then
if pr.sec_code == sec and i == getNumberOf(«trades»)-1 then
return pr.price
end
end
end
end
В вашей main функции создайте локальную переменную, которая в необходимый момент будет дергать эту функцию. Не забудьте передавать в параметрах код инструмента.
local lastPrice = getLastPrice(SEC_CODE)
Ну как-то так.
Здравствуйте, спасибо вам за ответ, я попробовал сделать как вы сказали, но что то пошло не так
подправьте пожалуйста где ошибка?
p_classcode=«SPBFUT» --Код класса
p_seccode=«RIH8» --Код инструмента
is_run = true
function getLastPrice(sec)
for i = 0,getNumberOf(«trades») do
local pr = getItem(«trades», i)
if pr ~= nil and type(pr) == «table» then
if pr.sec_code == sec and i == getNumberOf(«trades»)-1 then
return pr.price
message (pr.price)
end
end
end
end
function cb(index)
local t = ds:T(index)
local str = «свеча № »..tostring(index-1).." из "..tostring(ds:Size()).." open="..ds:O(index-1)
str = str.." close="..tostring(ds:C(index-1))
---high="..tostring(ds:H(index)).." low="..tostring(ds:L(index))
local lastPrice = getLastPrice(p_seccode)
message (lastPrice)
end — конец функции
function main()
ds=CreateDataSource(p_classcode, p_seccode, INTERVAL_M1)
ds:SetUpdateCallback(cb)
while is_run do
sleep(10)
end
end
function OnStop(stop_flag)
is_run=false
end