Возможно ли данную команду запустить в фоновом режиме? Или к примеру переключить на использование VLC.exe проигрывателя? Интересует именно фоновый режим.
мне тоже интересно, как в фоне запускать. Кстати огромное спасибо, проблема со звуком в целом решена.
Roman Azarov, подскажите пожалуйста, а можно ли получать больше свечек этой функцией, или какой-либо еще? Встала проблема получения минутных свечей за месяц, а CreateDataSource возвращает от силы 500 минуток
Запустили описанный вами скрипт у себя, все работает корректно.
Во-первых, для работы CreateDataSource по параметру (bid в Вашем случае), необходимо, чтобы были включены следующие настройки в пункте меню Система/Настройки/Основные настройки/Программа/Сохранение данных: - "Данные, отражающие текущее состояние и всю историю изменений" - "Получать пропущенные данные"
Также, заметим, что 0 это все еще результат, а не ошибка. Рекомендуем построить график по данному параметру и проверить, есть ли на нем свечи.
Эти настройки включены. График по параметру "лучшая цена спроса" построил, есть там свечи. Но скрипт не работает. На другом форуме подсказали, неправильно прописан инструмент. Надо строго соблюдать регистр. Теперь все работает.
Виктор написал: ds = CreateDataSource("SPBFUT", "SIZ0", INTERVAL_M1) ds:SetEmptyCallback()
В скрипте больше ничего нет. Выдает ошибку attempt to index a nil value (local 'ds') Почему так? Что-то изменилось в терминале?
так работает, но выдает 0 Скрытый текст Скрытый текст Скрытый текст function main() Скрытый текст ds, Error = CreateDataSource("SPBFUT", "SIZ0", INTERVAL_M1,"bid") Скрытый текст if ds == nil then Скрытый текст message('Ошибка подключения: '..Error) Скрытый текст end Скрытый текст ds:SetEmptyCallback() Скрытый текст sleep(60000) Скрытый текст message(tostring(ds:Size())) Скрытый текст end
Уважаемая Администрация. Скажите пожалуйста, как отредактировать свое сообщение?
Владимир написал: Виктор, Задавайте имена полей таблиц как натуральные числа и не мучайтесь. У меня весь скрипт так построен - и нет проблем. Вот, например, оператор аж из двойного цикла: if a[8][j]~=0 then k=CF[a[9][j]+5];
И вам спасибо, точно же, он со строками даже число элементов не возвращает. В итоге получился алерт на объемы, неидеальный, но пока пойдет
Код
--скрипт надо сохранить в кодировке Windows-1251, иначе будут кракозябры
require "bot4sale64" --надо скачать и вставить в папку со скриптом, или удалить строку, но тогда звука не будет
local ind =
{
[1] =
{
ind_sub = "si_vol", --идентификатор отслеживаемого графика. Проставляется в настройках графика.
need_volume = 10 --требуемый объем выше которого будет сигнал
}, --не забыть запятую после вставки еще одного блока
[2] =
{
ind_sub = "ri_vol",
need_volume = 10
}
}
was_alert = {ind = ""}
IsRun = true
function main()
while IsRun do
for i,tab_data in pairs(ind) do
true_alert = true
candles = getNumCandles(tab_data.ind_sub);
tab, n, l = getCandlesByIndex (tab_data.ind_sub, 0, candles-1,1)
local O = tab[0].open; -- Получить значение Open для указанной свечи (цена открытия свечи)
local V = tab[0].volume; -- Получить значение Volume для указанной свечи (объем сделок в свече)
if V>tab_data.need_volume then
msg_alert = string.format("Повышенные объемы:%d;Символ:%s;цена открытия:%s",V,tab_data.ind_sub,O)
for i,alert_data in ipairs(was_alert) do --проверка на то, был ли уже такой алерт, чтобы повторно не срабатывало
if alert_data == msg_alert then
true_alert = false
break
end
end
if true_alert == true then
bot4sale64.PlaySound("Ахтунг.wav") --прописать свой звуковой файл и положить его в папку со скриптом
message(msg_alert,1)
table.insert(was_alert,msg_alert)
end
end
if #was_alert>(#ind*60) then --блок очистки памяти, так как этот список будет постоянно пополняться
while #was_alert~=#ind*60 do
table.remove(was_alert, 1)
end
end
end
end
sleep(1000); --задержка между проверками в милисекундах
end
function OnStop()
IsRun = false;
end
Виктор написал: в переменной подтаблицу, соответственно Si и Ri.
В переменную две подтаблицы Si и Ri ? или как надо? Я не понял.
одну. в цикле перебираю ind, в переменную сначала си, потом ри. Чтобы их уже в свою очередь разобрать. Цель:иметь возможность быстро добавить другой символ без переделки и утяжеления скрипта
Уточните пожалуйста текущую версию терминала (указана в заголовке окна), а также уточните - описанный эффект наблюдается только при экспорте из таблиц "Доска опционов", или при экспорте из других таблиц тоже?
Сейчас, можем предположить что причина проблемы, наиболее вероятно, в файле настроек окон *.wnd. В качестве возможного решения - предлагаем пересоздать проблемные таблицы и проверить не воспроизведётся ли эффект. Если воспроизводится, то вероятно, проблема ошибка распространяется на весь файл wnd и все создаваемые в нём окна и таблицы. В этом случае - предлагается выполнить запуск терминала с чистым файлом настроек *.wnd и проверить повторится ли ошибка. Для запуска с чистым файлом настроек необходимо закрыть терминал QUIK, в папке с файлами программы найти используемый файл настроек (по умолчанию - info.wnd) и переименовать его, например так "info1.wnd", запустить терминал, подключиться к серверу, создать таблицы и повторить попытку экспорта.
Просьба уточнить запрошенную информацию, выполнить предложенные рекомендации и сообщить результат. Заранее большое спасибо.
Надо пройтись по ней циклом, и получить в переменной подтаблицу, соответственно Si и Ri. Как это можно реализовать? Такая конструкция нифига не работает for i,tab_data in ipairs(ind) do
Уточните пожалуйста текущую версию терминала (указана в заголовке окна), а также уточните - описанный эффект наблюдается только при экспорте из таблиц "Доска опционов", или при экспорте из других таблиц тоже?
Сейчас, можем предположить что причина проблемы, наиболее вероятно, в файле настроек окон *.wnd. В качестве возможного решения - предлагаем пересоздать проблемные таблицы и проверить не воспроизведётся ли эффект. Если воспроизводится, то вероятно, проблема ошибка распространяется на весь файл wnd и все создаваемые в нём окна и таблицы. В этом случае - предлагается выполнить запуск терминала с чистым файлом настроек *.wnd и проверить повторится ли ошибка. Для запуска с чистым файлом настроек необходимо закрыть терминал QUIK, в папке с файлами программы найти используемый файл настроек (по умолчанию - info.wnd) и переименовать его, например так "info1.wnd", запустить терминал, подключиться к серверу, создать таблицы и повторить попытку экспорта.
Просьба уточнить запрошенную информацию, выполнить предложенные рекомендации и сообщить результат. Заранее большое спасибо.
Версия 8.8.4.3 Описанный эффект наблюдается при экспорте только одной доски. Две другие доски в этот же момент совершенно нормально экспортируются. Все доски совершенно одинаковы. Проблемная доска создана копированием беспроблемной доски с помощью нажатия CTRL-n. Все поля в ней идентичны. Отличается только контракт. Безпроблемный нынешний контракт, проблемный мартовский, Si. Я попробую с чистым wnd, но вы скорее всего не туда роете
Вывожу три доски опционов по dde. Две выводятся нормально, третья при выводе наглухо вешает quik. В ней изменен только ба на следующий контракт Содержание таблиц одно и то же, но две выводятся нормально, третья вешает, да так, что квик только из процессов вырубать Причем вывод начинается, идет нормально, но потом почему-то слетает. В чем может быть дело?
Egor Zaytsev написал: Добрый день. К какому именно параметру и по какому инструменту обращаетесь?
В таблице текущих торгов нет параметра "Цена базового инструмента", параметр есть в таблице "доска опционов" Если обращение идет к BID, OFFER то именно цену спроса и предложения должна система выдавать. Если у Вас по другому, то просьба выложить скриншот таблицы текущие торги, чтобы было видно инструмент, параметр спроса и предложения, скрипт который запускаете и результат, который получаете.
Видите, "расчетная цена" идет цена БА, что и вызвало проблему. Попробовал переделать скрипт, сделал первые трудные шаги в луа. Добавил обращение к bid и offer Получилось вот что: До этого пробовал обращаться к last, то же самое. Обращение идет к Optionbase,вроде все правильно. Ничего не понимаю
Есть гипотеза, что такого инструмента нет в терминале. Проверьте, видите ли Вы значения по этому инструменту в терминале, когда ошибка проявляется. И еще проверьте, что возвращает result = getParamEx("SPBOPT","GD1550BL9",BID).
Скажите, вместо цены опциона, скрипт выдает цену БА. Можно как-нибудь пофиксить на цену собственно инструмента?
Виктор написал: Создал таблицу mysql в workbench,настроил, связал. Квик все видит, жму начать вывод, но ничего не выводится в базу По совету с другого форума создал лог файл в папке квика, но он не пишет туда вообще ничего. Как это можно победить?
Добрый день.
Нужно смотреть ошибки. Проверьте в таблице сообщений пункт меню Создать окно/Таблица сообщений, есть ли записи о выводе. Что касается файла, то файл должен быть таким: quik_odbc.log Последовательность действий такая: Создайте в папке с программой Quik файл с именем quik_odbc.log После перезапуска Quik, туда начнется записываться логи ODBC экспорта.
Большое спасибо. Проблему решило создание таблицы. Одно поле не соответствовало по типу. Теперь правда, отдает одну строку в базу. Буду ковыряться в настройках.
Создал таблицу mysql в workbench,настроил, связал. Квик все видит, жму начать вывод, но ничего не выводится в базу По совету с другого форума создал лог файл в папке квика, но он не пишет туда вообще ничего. Как это можно победить?
Данный статус означает, что в настоящем Вы не подключены. Как только Вы подключитесь - состояние изменится на "Активно".
Цитата
Виктор написал: У меня не работает квик под линукс. Версия квика 8.3.Linux Mint 19 Работаю через кроссовер Во-первых, запускает с кракозябрами Во вторых, не авторизует по логину и паролю, пишет "файл не найден". Брокер Сбербанк
Касательно шрифтов - просьба уточнить, для каких элементов интерфейса имеет место нечитаемое отображение шрифтов? По умолчанию, в рабочем
Касательно не найденного файла – если в качестве метода шифрования (Система/Настройки/Основные настройки/Программа/Шифрование)
Кракозябры только в сообщения брокера, они еще и в строке дублируются нормально. Так что с этим можно и потом разобраться. Хуже со вторым, в сбере не удалось зарегаться по ключам.
Sergey Gorokhov написал: Здравствуйте, Вопрос к Microsoft так как кэширование папки Program Files в папку VirtualStore делает операционная система, а не QUIK В интернете есть куча информации на эту тему.
Только папку VirtualStore я не нашел. Подскажите пожалуйста, как решить аналогичную ошибку в windows 10 эмулируемом в wine?
Sergey Gorokhov написал: Здравствуйте, Вопрос к Microsoft так как кэширование папки Program Files в папку VirtualStore делает операционная система, а не QUIK В интернете есть куча информации на эту тему.
Виктор написал: Работаю через кроссовер Во-первых, запускает с кракозябрами Во вторых, не авторизует по логину и паролю,
работаете? - вы глупостями маетесь. и во-первых, и в-трицатьпервых. квик это прога для виндовз. на других ос это не будет работать, только если случайно. но это уже не работа, не так ли? :)
Да вы ничего не знаете о том, чем я занимаюсь. Так что глупость с вашей стороны писать не по существу и тоже глупость. К вашему сведению, вине вполне заменяет виндовс. И у многих работает, отсюда и тема. Думаете, приятно гонять лагающую виртуалку отжирающую львиную долю оперативы, когда вполне можно обойтись без нее?
У меня не работает квик под линукс. Версия квика 8.3 .Linux Mint 19 Работаю через кроссовер Во-первых, запускает с кракозябрами Во вторых, не авторизует по логину и паролю, пишет "файл не найден". Брокер Сбербанк
Пара USDRUB. Поставил заявку на продажу, цена 67. Пишет: для выбранного финансового инструмента цена должна быть не больше 66.3575. Как это "не больше"? Точнее, почему это? Создал ниже, попытался переместить: то же самое. Что делать, как победить?
Ну, например, золота тодэй нет в списке у моего брокера, индексов американских и прочее. А видеть их без сторонних приложений оченьхотелось бы. Есть сторонние котировки от Яху, очень хотелось бы их использовать..