Помещаем индикатор в отдельном подокне, в свойствах ставим галку "показывать последнее значение", появляется метка значения округленная до целого если расчетный тикер (например фьючерс на доллар) с цельночисленным шагом. Можно заставить не округлять???
Код
Settings = { Name = ".test"
}
function Init()
return 1
end
function OnCalculate(index)
return C(index)/100
end
Кроме OnCalculate() что-то можно использовать? Например изменение времени из инфопанели? В этой жесть-документации даже списка коллбэков не смог найти https://euvgub.github.io/QLua_QUIK/index.html
Добавил к графику цены AMA, нашел в настройках сдвиг по оси времени, но не нашел по оси цены. Этого нет или я плохо искал? В Транзаке, например, эта простенькая но часто нужная настройка есть. Если нет, не трудно ли будет разработчикам добавить такую настройку?
несколько недель при отсутствии торговли по счету на срочном рынке наблюдаю в периоды клиринга отрицательную сумму плана чистой позиции. Задал вопрос брокеру ПСБ, посоветовали почистить данные запуском 911.bat Действительно такой показатель мог зависнуть в справочниках? В каком именно файле? Не хочется удалять все справочники. Спасибо.
Добрый день. Это проблема точно не брокеров, а Ваших серверов. - Если стоит стоп-заявка, то на утро лимиты не рекалькулируются с её учетом. - Не снимаются блокировки средств при отмене ордеров. По-крайней мере в случае со стоп-ордерами на валютной секции. Ставим ордер - блокировка Х руб. Снимаем ордер - Х руб остались висеть. Ставим взамен другую на ту же сумму - блокировка удвоилась. Как один из вариантов брокер сказал что ордера повисли на разных серверах. Не верится, сервер был подключен один и тот же. Еще проблема - каким-то зловещим образом валютой учета стала GBP, хотя я это не настраивал и в настройках этого не было видно. В результате я увидел свои средства совсем в ином виде. Чуть инфаркт не хватил.
Добрый день. Захотелось вдруг подписаться на данные, раз уж есть такая возможность. ) И уже сутки борюсь с CreateDataSource будь он (или всё-таки я ?) не ладен! ))) Научите пожалуйста пользоваться CreateDataSource. Проблема: - вот так, из main, запускается подписка
Код
class = "SPBFUT"
sec = "SiM7"
function Run()
message("размер "..ds:Size())
end
is_run=true;
function main()
ds, Error = CreateDataSource(class, sec, INTERVAL_H1)
ds:SetEmptyCallback()
sleep(100)
message(type(ds).." "..(Error or "успешно"))
while is_run do
sleep(50)
end
end
а вот так, вне main - нет...
Код
class = "SPBFUT"
sec = "SiM7"
function Run()
message("размер "..ds:Size())
end
is_run=true;
function main()
while is_run do
sleep(50)
end
end
ds, Error = CreateDataSource(class, sec, INTERVAL_H1)
ds:SetEmptyCallback()
sleep(100)
message(type(ds).." "..(Error or "успешно"))
почему? Собственно задача - подписаться на данные, запустить колбэк на изменения, но в дальнейшем на лету менять интервал графика, инструмент подписки в ту же переменную ds. Можно конечно городить переключатель флагами в main. А вне main никак не подписаться, чтобы упаковать подписку в отдельную функцию с вызовом не из main? Спасибо.
Брокер ВТБе24 обновил версию терминала до 7.9.0.41 Первое, что бросилось в глаза - терминал на старте теперь сам ищет инструменты с истекшими сроками жизни и сам предлагает их заменить их на действующие. Это действительно круто, спасибо. Но почему он это делает при КАЖДОМ старте, с одним и тем же инструментом. Склероз на собственные ноу-хау? )
Запускаем, видим
Нажимаем Да, в следующем окне соглашаемся - Заменить.
Закрываем терминал, настройки как я полагаю сами сохраняются. Запускаю терминал и нестерпимое дежавю, опять тот же вопрос и по тому же инструменту ) И так до бесконечности.
Нужные галки в настройках стоят.
При всём этом я не вижу у себя этого инструмента ни в одной таблице или графике. Может быть виноваты опционы?
Добрый день. Каждая следующая версия QUIK не читает файл настроек предыдущей. Согласитесь, это неудобно, включить утром терминал, получить обновление, запустить терминал с пустым рабочим пространством, отложить торговлю и заняться настройкой рабочего пространства часа на два (у меня например столько времени это занимает). Терять время и деньги. Если это называть не "особенностью", а все-таки проблемой, давайте попробуем её решить? Кажется очевидным, что в новой версии появляются какие-то новые настройки, а некоторые старые упраздняются или заменяются. Здесь на форуме, думаю, многие пишут хотя бы на LUA, и в своих скриптах, как и я, довольно легко решили проблему совместимости настроек скрипта с новыми версиями своих творений. Ведь всё довольно просто: 1. В начале кода (старт софта) создаем дефолтные переменные настроек SetTab={set1="default", set2=0, set3="default", set4=0} 2. Считываем сохраненный файл настроек в таблицу SetTabTemp 3. Перебираем таблицы, подменяя значения в SetTab значениями из SetTempTab, если таковые нашлись. 4. Убиваем SetTempTab. Таким образом не измененные настройки мигрировали, новые в дефолтах, более не применяемые - не считаны. Если это легко описывается на LUA, думаю легко написать на любом языке ниже уровнем. --- Например этим способом можете попробовать решить эту, нет, не "особенность", а именно - проблему? Если да - добавьте в пожелания, пожалуйста.
Система вин7 Три квика от разных брокеров. Во всех квиках в настройках путь к файлу сохранения настроек прописан явно, абсолютные пути. Все работает, пока периодически очередной запускаемый терминал не подхватывает файл настроек другого терминала, и самое гадкое - переписывает на него путь в настройках сохранения. Всё бы ничего, но разные брокеры дают разные версии Квик, а файлы настроек, по уже "доброй многолетней" традиции от разработчиков - не взаимозаменяемы. Гемор. Баг. Как бороться?
Абсолютно рабочий скрипт, запускается у меня без проблем. Дал скрипт другу, у него брокер Открытие, вот такая беда при попытке запуска
Скрипт должен вначале подкачивать доп файл, пару библиотек, создать лог-файлы. Диску C сделали полный доступ от "Все", не помогает. Может быть кто сталкивался?
Собственно проблема в названии. Работаем, переключаемся на другую точку доступа и больше не работаем, причина - "Вы уже работаете в системе". Кажется очевидной проблема с настройками серверов. С этим можно что-то сделать???
Уважаемые разработчики QUIK. Ещё и ещё раз спасибо за возможность работать на LUA. И за развитие QLUA также низкий поклон.
Прошу сделать ещё немного. Добавить в панель инструментов кнопку быстрого вызова доступа к списку скриптов. И назначить сюда же горячие клавиши. По-сути дублирование нажатия вот сюда
Есть функция, возвращающая путь, по которому находится исполняемый скрипт - getScriptPath(). Можно прочитать литеру диска и имена папок. А имя самого файла-скрипта можно как-то получить? Может быть средствами LUA? Спасибо.
Версия терминала 6.16 Настройки в "Доступные соединения" вот такие. http://i.imgur.com/qVOGULE.png Всегда такие. Уже много лет. С терминалом работаю много и долго, не новичок. Но вот начал недавно наблюдать следующее - после выходных, в понедельник застаю терминал без соединения с сервером. При этом он даже не пытается соединяться. Последняя попытка соединения в 9ч47м субботы. Ручной запуск соединения "жмак ключик" тут же запускает соединение. Что делать? Ведь так не должно быть с моими настройками?
Есть подсветка? Перспективы её появления? Почему бы вот такой код
Код
function InputF(s,c)
local base=fut[c]
local x;
x= 0 + (getParamEx(s,c,"LASTCHANGE").param_value or 0); if x==nil then return false end;
base.lastchange=x
x= 0 + (getParamEx(s,c,"DAYS_TO_MAT_DATE").param_value or 0); if x==0 then return false end; base.mat=x
x= 0 + (getParamEx(s,c,"LAST").param_value or 0); if x==0 then return false end; base.last=x
x= 0 + (getParamEx(s,c,"OFFER").param_value or 0); if x==0 then return false end; base.offerf[-1]=x; base.offerf[0]=0
x= 0 + (getParamEx(s,c,"BID").param_value or 0); if x==0 then return false end; base.offerf[1] =x
base.offerfrub[-1] = base.offerf[-1]/base.stepf*base.prstepf; base.offerfrub[0]=0;
base.offerfrub[ 1] = base.offerf[ 1]/base.stepf*base.prstepf
base.inputOK = true
return true
end
не отображать вот так? )
Готов выслать xml файл спецификации подсветки синтаксиса lua+qlua+vclua от HippoEdit если надумаете внедрить подсветку. )