-- Для правильной обработки русских строк -- "Russian_Russia.1251", "Russian_Russia", "Russian" local RusLocale = "Russian_Russia.1251" os.setlocale(RusLocale, "ctype")
Пожелания по развитию форума
Пользователь
Сообщений: Регистрация: 31.01.2015
23.05.2024 13:30:44
Как отключить почтовые уведомления на подписанные темы?
Ускоряем скрипт и выкидываем sleep
Пользователь
Сообщений: Регистрация: 31.01.2015
01.05.2024 11:30:29
Эту возможность надо в квик добавить.
Если бы я был архитектором QUIK, Что стоило бы изменить в QUIK по-крупному
Пользователь
Сообщений: Регистрация: 31.01.2015
17.03.2024 10:01:34
Цитата
nikolz написал: - запуск коллбеков всех Lua-скриптов пользователя;Мое мнение:Колбеки не запускаются, а вызываются. Вызываются они в основном потоке, потому что иначе они не могут вызываться. Они и есть реакция на события в этом потоке.Вы знаете иной механизм вызова колбеков? Расскажите .
Как я понимаю человек предлагает вызывать колбеки в потоке Lua-скрипта.
Схема торговой программы
Пользователь
Сообщений: Регистрация: 31.01.2015
09.03.2024 13:29:26
Цитата
nikolz написал: Цитата Constantin написал:Мне вот интересно - каждый пишет свою обвязку для роботов? Это не рационально. Нет общей?
Вы правы. Но бесплатных торговых систем для бирж не существует в мире.
Я тоже свою систему написал. Правда не торгую.
Схема торговой программы
Пользователь
Сообщений: Регистрация: 31.01.2015
02.03.2024 11:06:53
Мне вот интересно - каждый пишет свою обвязку для роботов? Это не рационально. Нет общей?
Как запретить брокеру изменять настройки quik?, Обезличенные сделки
Пользователь
Сообщений: Регистрация: 31.01.2015
20.02.2024 12:52:43
Цитата
И Г О Р Ь написал: самое дебильное, что за пять лет что я трахаюсь с этими галками, добавили "умный заказ данных" при котором открывая стакан опциона весь квик виснет от 10 секунд до минуты. нельзя совершать сделки и т. п. Умный заказ - шляпа.
Вообще не понятно почему Quik так много качает данных с сервера. И лог у него большой.
Сравнение языков программирования
Пользователь
Сообщений: Регистрация: 31.01.2015
23.12.2023 12:25:35
А для Lua без Jit'а какой результат?
Как правильно удалить элемент из массива со "сдвигом влево"
Пользователь
Сообщений: Регистрация: 31.01.2015
02.12.2023 22:07:02
Можно перезаписать последним элементом массива, если порядок не важен.
Все индикаторы на Lua
Пользователь
Сообщений: Регистрация: 31.01.2015
01.10.2023 19:33:12
У вас какая-то странная формула у скользящей средней SMMA. Не могли бы вы её расшифровать, а то я запутался в её смысле.
Take profit, Take profit
Пользователь
Сообщений: Регистрация: 31.01.2015
15.09.2023 21:39:55
Цитата
Karina Dmitrieva написал: Если же, со своей стороны, Вы хотите предложить изменения в работу данного алгоритма - просим Вас более подробно описать, как именно должна работать условная заявка типа "Тейк-профит" с Вашей точки зрения.Заранее благодарим.
ИМХО, надо чтобы цена выставлялась не ниже чем: цена тейк-профита минус отступ минус спред, при любом движении цены.
Ведь когда тейк-профит выставляется пользователем, то он хочет дождаться этой цены и получить цену не сильно ниже тейк-профита. А это может случиться при одномоментном сильном движении цены против него.
Текущий алгоритм подходит для стоп-лосса, но не для тейк-профита. На мой взгляд.
Take profit, Take profit
Пользователь
Сообщений: Регистрация: 31.01.2015
06.09.2023 15:06:26
Цитата
написал: Алгоритм нормальный.
Не нормальный. Если я хочу продать от 18 100, то не надо продавать существенно ниже этой цены. А это произойдет, если сразу будет сделка на 40 пунтов ниже.
Take profit, Take profit
Пользователь
Сообщений: Регистрация: 31.01.2015
05.09.2023 21:06:05
Установил тейк-профит 18 100, отступ 2, спред -2. На открытии был взлёт и падение цены. Заявка выставлена по 18 063 и исполнена по 18 084. Не лучший тут алгоритм.
ИМХО, надо чтобы цена выставлялась не ниже чем тейк-профит минус отступ минус спред. Это в случае если цена резко скакнёт против. В остальном случае будет как сейчас.
Это еще блин че такое на графике Яндекса (YNDX) ???
Может в вашем Quick данные сборные, скачаются от брокера по новой. Удалить только по этому инструменту.
Это еще блин че такое на графике Яндекса (YNDX) ???
Пользователь
Сообщений: Регистрация: 31.01.2015
28.02.2023 19:46:23
Для начала надо у себя архив с данными по этому инструменту удалить в Quik в папке archive. Потом посмотреть график.
Это еще блин че такое на графике Яндекса (YNDX) ???
Пользователь
Сообщений: Регистрация: 31.01.2015
27.02.2023 21:45:26
Ещё надо у себя архив с данными по этому инструменту удалить в Quik.
Это еще блин че такое на графике Яндекса (YNDX) ???
Пользователь
Сообщений: Регистрация: 31.01.2015
27.02.2023 21:40:37
Цитата
Quikos_1 написал: А как точно можно узнать на чьей стороне косяк ?
Обычный график вывести на экран и посмотреть свечи. Если есть проблемы, то данные у брокера испорчены.
Это еще блин че такое на графике Яндекса (YNDX) ???
Пользователь
Сообщений: Регистрация: 31.01.2015
26.02.2023 23:05:21
Скорее всего это проблемы с данным у брокера.
Потоки
Пользователь
Сообщений: Регистрация: 31.01.2015
25.02.2023 20:05:04
И ещё вопрос: доступ к полям таблицы из разных потоков возможен?
Заранее спасибо за ответ.
Потоки
Пользователь
Сообщений: Регистрация: 31.01.2015
24.02.2023 17:02:33
Цитата
nikolz написал: Могу сообщить , что делаю запись в лог из колбеков, из main,и еще из 90 (краш-тест терминала) потоковкоторые выбираются из пула потоков (максимум 512 потоков) и проблем нет
Си библиотека буферезует запис в файл, по умолчанию.
Потоки
Пользователь
Сообщений: Регистрация: 31.01.2015
22.02.2023 21:31:43
Пункт 3 важен, если делать запись в лог из коллбаков и из main.
Потоки
Пользователь
Сообщений: Регистрация: 31.01.2015
22.02.2023 21:27:43
Цитата
nikolz написал: 3) ошибаетесь, запись в файлы синхронизирована на уровне ОС. Но с этим к Майкрософт.
Но там же должен быть буфер на уровне си библиотеки, ещё до ОС.
Потоки
Пользователь
Сообщений: Регистрация: 31.01.2015
22.02.2023 16:54:00
Несколько вопросов по потокам.
1. В main можно обращаться к методам DataSource?
2. В main можно вызвать функцию getQuoteLevel2()?
3. Полагаю, что запись в файл не синхронизирован между потоками? Как?
OnTransReply
Пользователь
Сообщений: Регистрация: 31.01.2015
20.02.2023 22:43:56
Цитата
Михаил написал: Так в OnTransReply() я и ловлю успешность выполнения заявки отправленной с помощью sendTransaction(). sendTransaction() исполняется, а ответа в OnTransReply() нет.
OnTransReply() - это ответ на транзакцию. OnOrder() - для заявки.
main()
Пользователь
Сообщений: Регистрация: 31.01.2015
12.09.2022 20:10:35
Цитата
nikolz написал: Мой оппонент привел пример локальной переменной вне функций, т е это тоже не по теме, но эти локальные переменные являются копией глобальных
Не являются копией глобальных. Объясняю, что chank оформляется как как функция, после чего выполняться. То есть мой предыдущий пример "компилируется" по смыслу в следующий код:
Код
function init_chank()
local Stopped = false
_G["main"] = function()
while not Stopped do
end
end
_G["OnStop"] = function()
Stopped = true
end
end
init_chank()
Ema lua
Пользователь
Сообщений: Регистрация: 31.01.2015
12.09.2022 19:45:57
Цитата
Дмитрий Бланк написал: Благодарю.Оставлю эту формулу себе под этим правильным названием, раз уж сравнивал их.
EMA и MMA (SMMA) вообще то разные функции.
EMA(i) = a * P(i) + (1 - a) * EMA(i-1) или эквивалент EMA = (P(i) - EMA(i-1)) * a + EMA(i-1) где a = 2 / (N - 1)
SMMA (i) = (PREVSUM - SMMA (i - 1) + CLOSE (i)) / N или эквивалент SMMA (i) = (SMMA (i - 1) * (N - 1) + CLOSE (i)) / N
main()
Пользователь
Сообщений: Регистрация: 31.01.2015
10.09.2022 21:35:01
Цитата
nikolz написал: Замыкание связывает код функции с её лексическим окружением (местом, в котором она определена в коде). Лексические переменные замыкания отличаются от глобальных переменных тем, что они не занимают глобальное пространство имён. От переменных в объектах они отличаются тем, что привязаны к функциям, а не объектам.
Правильно. Всё тело файла кода, в луа, считается chunk. Переменные, помечены как local внутри chunk, захватываются функциями, когда эти функции определяются в chunk, и эти переменные разделяются между ними.
Stopped = false
function main()
while not Stopped do
end
end
function OnStop()
Stopped = true
end
Здесь переменная глобальная и обе функции к ней обращаются через _G.
Вариант 2
Код
local Stopped = false
function main()
while not Stopped do
end
end
function OnStop()
Stopped = true
end
Здесь переменная захвачена обеими функциями и доступ к ней идёт через другой механизм. Вот он учитывает, что функции выполняются в разных потоках?
main()
Пользователь
Сообщений: Регистрация: 31.01.2015
05.09.2022 20:32:24
nikolz
Так захват переменной, он же closure.
main()
Пользователь
Сообщений: Регистрация: 31.01.2015
05.09.2022 20:06:45
Цитата
nikolz написал: так как вы не сможете обратиться к локальным переменным майн из колбека и наоборот.
Так "глобальная" переменная, объявленная с local вне функций, захватывается разными функциями и становится для них "локальной".
main()
Пользователь
Сообщений: Регистрация: 31.01.2015
04.09.2022 14:54:51
Подскажите:
1. В main() можно использовать функции получения данных от Квика, которые обычно используются в колбаках? Такие как getParamEx(), getLevel2Quotes() и т.д.
2. QLua нормально синхронизирует обращение к переменным, помеченным как local, если к ним идет доступ и из потока колбаков, и из потока main?
Android X
Пользователь
Сообщений: Регистрация: 31.01.2015
23.06.2022 12:38:42
1) Может в выставлении заявки на вкадке "Лимитная заявка" как-то разделить Лимитную заявку и Тейк-профит? А то они сейчас одновременно болтаются и сразу не понятно, что мы отсылаем на выполнение - очень много полей ввода.
2) И глюк программы - из графика бумаги (там отображаются активные заявки) снял пару тейк-профит заявок. После этого невозможно было зайти на владку "Заявки" со списком заявок - показывало информацию по снятой заявке.
Тейк-профит и стоп-лимит по заявке Quik Android X, Сделать тейк-профит и стоп-лимит по активной лимитированной заявке, используя смартфон
Пользователь
Сообщений: Регистрация: 31.01.2015
23.06.2022 12:20:57
Этот функционал уже лет 10 как регистрируют.
QUIK 7.16, Таблица котировок
Пользователь
Сообщений: Регистрация: 31.01.2015
22.05.2022 14:27:28
Евгений, в СБЕРЕ на срочке опционы доступны? Включая их продажу?
Пожелания по развитию моб. приложения
Пользователь
Сообщений: Регистрация: 31.01.2015
19.05.2022 14:30:09
1. Добавить Lua и возможность писать роботов, как в дескоп-версии. (Под вопросом, нужно ли это пользователям в телефоне/планшете).
2. Доска опционов по инстументу. (Это необходимо).
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
Пользователь
Сообщений: Регистрация: 31.01.2015
30.03.2020 15:00:34
А как быть с 32-разрядной версией Квика?
Подскажите по использованию функции getParamEx и её параметру param_name
Пользователь
Сообщений: Регистрация: 31.01.2015
13.02.2020 15:33:30
Давно уже можно было бы указать в документации QLua GetParamEx сноску, где смотреть названия параметров! А то люди не находят и здесь спрашивают постоянно.
Таблица с использованием getParamEx. Не подтягивает цену открытия., В таблице расчетов использую цену открытия, последнюю, HIGH/LOW. По акциям всё идёт хорошо, но по фьючерсам в цене открытия стоит 0
Пользователь
Сообщений: Регистрация: 31.01.2015
27.09.2019 18:13:17
Евгений, в другом руководстве, в секции про QPILE.
Запись в файл из разных потоков скрипта
Пользователь
Сообщений: Регистрация: 31.01.2015
27.09.2019 17:05:25
, спасибо. Имеется в виду нельзя одновременно писать из нескольких потоков? А не одновременно можно?
Еще один вопрос, теоретический. Где-то было написано, что в QLua доступ к глобальным переменным синхронизирован для потоков. Я не ошибаюсь? А вот если глобальная переменная объявлена как local, то этот случай тоже правильно отработается или лучше такие переменные как local не помечать?
Запись в файл из разных потоков скрипта
Пользователь
Сообщений: Регистрация: 31.01.2015
27.09.2019 14:18:05
В QLua main выполняется в своем потоке, а callback-функции в основном потоке Квика.
Вопрос. Если я буду открывать лог-файл (io.open()) в одном потоке, а писать в него буду в другом потоке и там же его закрывать, то все будет нормально работать? Так можно делать?
1) Надо ставить стоп-лосс заявку на покупку при цене 20 300. 2) Сейчас в Квике это никак не сделаешь. Люди давно просят сделать стоп-заявку на другую стоп-заявку, но разработчики не делают это.
Что не так с функцией message??, проблемы с вызовом message из глобальной таблицы
Пользователь
Сообщений: Регистрация: 31.01.2015
30.08.2018 14:14:14
Цитата
Павел Валин написал: message("message test: "..sz(ds)) -- отрабатываем message("message test: "..sz()) -- тут падаем))))
Ну там у вас строки команд отличаются - во втором случае не передается нужный параметр.
Снятие всех заявок в Lua, Какой брать параметр trans_id?
Пользователь
Сообщений: Регистрация: 31.01.2015
31.01.2018 13:07:21
Цитата
Sergey Gorokhov написал: TRANS_ID - это произвольный номер Вашей транзакции, "снятие заявки" - это тоже транзакция и ей надо придумать номер. Номер может быть любым в диапазоне от «1» до «2 147 483 647»
А номер транзакции должен быть уникальным или не обязательно? Если, например, запускаются несколько роботов и они нумеруют свои транзакции с единицы.
Как получить текущие BID и ASK, Как получить текущие BID и ASK
Пользователь
Сообщений: Регистрация: 31.01.2015
23.01.2018 12:42:11
В ТТП, где выводятся данные по этой бумаге, добавлены эти параметры?
работа с фьючерсами
Пользователь
Сообщений: Регистрация: 31.01.2015
21.12.2017 13:36:02
Цитата
алексей ратов написал: если я правильно все понял валютные фьючерсы можно торговать среднесрочно, прибыль идет в пунктах шага цены. При выходе из позиции доход просто может уменьшиться из-за укрепления рубля.
Среднесрочно, конечно, можно торговать. Только надо понимать, что доход/убыток будет начисляться каждый день в клиринг, а не только при выходе из позиции.
Установка в C:\Program Files\, Сделайте нормальную установку в стандартное место
Пользователь
Сообщений: Регистрация: 31.01.2015
08.12.2017 14:20:32
Цитата
A.T. написал: Флажок «Хранить рабочие файлы в папке пользователя», и чтоб по умолчанию стоял, и пользователи даже о нём и не знали, и всё работало без танцев с бубнами.
Лучше в каком-либо файле настроек можно было бы прописать путь к папке, где хранятся данные. Если не прописано, то в текущей папке, как это сделано сейчас.
Зачем нужен PrintDbgStr
Пользователь
Сообщений: Регистрация: 31.01.2015
07.11.2017 13:27:01
Цитата
Let_it_go написал: пользуюсь переменной step до того как ей присвоено значение (частая ошибка у кодеров-самоучек, а я самоучка) Жду от этой функции что она мне что то покажет, но она молчит.
Выполнение до этой функции не доходит, т.к. происходит ошибка в предыдущей строке кода.
Тут явное не понимание, что такое ошибки в программе и что происходит когда они случаются.