(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)
AUD/USD: Покупатели сохраняют стратегический контроль
«Австралиец» сейчас в самом разгаре тестирования уровня сопротивления 0.7184. При успешном формировании «бычьего флага» и пробое горизонтали покупателям может открыться дорога к 0.7500....
Софтлайн обжалует определение суда об обеспечительных мерах
❓ Что произошло? В рамках одного из судебных процессов Арбитражным судом г. Москвы были приняты временные обеспечительные меры, которые затронули счета ряда физических и юридических лиц, включая...
Русснефть: полицейский разворот прибыли в нефтянке - все видно в 1-м квартале по РСБУ
Русснефть — не самый интересный актив на просторах российского нефтегаза. Мутный мажоритарий, не платит дивиденды, но многих привлекает график, где котировка иногда делает маршрут от 100 до 300...
Сергей П, искренне рад за Форбс, они нашли журналиста, умеющего читать, и смогшего дочитать аудиторское заключение так далеко, что аж мурадику пришлось «переобуваться в прыжке» Теперь во всем винов...
Нефть пошла на 120 видимо ..., но наши в шортах т.к. всё равно же всё упадёт… хе, уже на 60% выросла, а они всё ждут… Трамп ужасный всех запугал своими эксцентрическими пуками ..., а Россия будет всег...
🏦 Сбербанк – островок стабильности
После прошлого разбора в конце марта (пост 👉 smart-lab.ru/blog/tradesignals/1282829.php) картина в $SBER в целом не изменилась – бумага продолжает двигаться в вос...
Смотрим на сектор. Электрогенерация Все компании из сектора «Электрогенерация» отчитались за 2025 год, предлагаю сделать общий обзор по сектору, а также отмечу основные нюансы по каждой компании на ос...
Смотрим на сектор. Электрогенерация Все компании из сектора «Электрогенерация» отчитались за 2025 год, предлагаю сделать общий обзор по сектору, а также отмечу основные нюансы по каждой компании на ос...
Северсталь без дивидендов: что происходит с металлургами? СЕВЕРСТАЛЬ БЕЗ ДИВИДЕНДОВ: ЧТО ПРОИСХОДИТ С МЕТАЛЛУРГАМИ?
❌ Дивидендов в этом году не будет.
В целом, это было и так понятно заранее. ...
Эффективный трейдинг Приветствую всех!
✔️ Нефть накануне достигла уровня 108$ и теперь два варианта — или вверх на 112$ или вниз на поддержку 104$. Продолжается эскалации вокруг Ирана и по всей ...
Есть функция. Она бегает по «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