🧠 Ресейл и поколение Z: почему молодёжь выбирает разумное потребление
📱 Поколение Z относится к потреблению прагматичнее, чем остальные. Для них важны не громкие слова и статус, а понятная ценность покупки — сколько она стоит, как долго прослужит и насколько...
5 идей в российских акциях. Индекс МосБиржи снова на грани 2700
Индекс МосБиржи опять торгуется на грани значимого уровня 2700 п. Сейчас не исключен очередной отскок от указанного уровня. Кроме того, рынок находится на 12% ниже пятимесячного максимума. Это...
Сделки в портфеле ВДО
Если Индекс ОФЗ (RGBI) пробьет вниз 116,69 п., то в портфеле PRObonds ВДО увеличиваем короткую позицию во фьючерсе на него с ~1,5% до 2,5% от активов.
Телеграм: @AndreyHohrin
Не...
Хэдхантер. Ситуация на рынке труда в декабре идет ко дну - хуже не было никогда
Вышла статистика рынка труда за декабрь 2025 года, которую Хедхантер публикует ежемесячно, что же там интересного: Динамика hh.индекса с 2021 года:
-- Функция предназначена для получения КОЛИЧЕСТВА ЛИНИЙ в графике (индикаторе) по выбранному идентификатору getLinesCount(tag); -- Возвращает число -- tag - (STRING) идентификатор графика (индикатора), о котором писалось выше -- Функция предназначена для получения информации о КОЛИЧЕСТВЕ СВЕЧЕЙ по выбранному идентификатору getNumCandles(tag); -- Возвращает число -- tag - (STRING) идентификатор графика (индикатора), о котором писалось выше -- Функция предназначена для получения информации о свечах по идентификатору (заказ данных для построения графика функция не осуществляет, поэтому для успешного доступа нужный график должен быть открыт) t, n, l = getCandlesByIndex (tag, line, first_candle, count); -- Параметры: -- tag – (STRING) строковый идентификатор графика или индикатора -- line – (NUMBER) номер линии графика или индикатора. Первая линия имеет номер 0 -- first_candle – (NUMBER) индекс первой свечи. !!! ПЕРВАЯ (САМАЯ ЛЕВАЯ) СВЕЧКА ИМЕЕТ ИНДЕКС 0 !!! -- count – (NUMBER) количество запрашиваемых свечей -- Возвращаемые значения: -- t – таблица, содержащая запрашиваемые свечи, пример работы: local O = t[i].open; -- Получить значение Open для указанной свечи (цена открытия свечи) local H = t[i].high; -- Получить значение High для указанной свечи (наибольшая цена свечи) local L = t[i].low; -- Получить значение Low для указанной свечи (наименьшая цена свечи) local C = t[i].close; -- Получить значение Close для указанной свечи (цена закрытия свечи) local V = t[i].volume; -- Получить значение Volume для указанной свечи (объем сделок в свече) local T = t[i].datetime; -- Получить значение datetime для указанной свечи -- Где i - индекс свечи от 0 до n-1 -- n – количество свечей в таблице t -- l – легенда (подпись) графикаТаймфрейм, соответственно, тот, который открыт на графике? И минимальный — 1 мин.?
И получается нужно ручками делать цикл, где от 0 до getNumCandles() — 1 будет вызываться рабочая функция скрипта?
И сделки как таковые нужно «имитировать», ну и результаты сбрасывать в Лог? (это я сейчас и так делаю на реальных данных для тестирования внутри торгового дня)
Для 1) я предпочитаю C# в WealthLab'е.
Для 2) использую Lua в Quik Junior.
Если хочешь максимально приблизить тестирование высокочастотной стратегии в WealthLab'е к реальности, можешь скриптом QLua набрать историю нескольких дней по бидам и оферам с дискретностью 0.1-0.5 сек.
PS Имея историю котировок, например с Финама, для тестирования торговой стратегии можно использовать автономный интерпретатор Lua, на заморачиваясь с добыванием хакнутого WealthLab. Или вообще любой компилятор или интерпретатор твоего любимого языка программирования. Хоть JavaScript или Excel VBA.
«Что ты хочешь тестировать? 1) Торговую стратегию или 2) подачу заявок из робота?» — и то и другое.
Но в идеале хотелось бы тестировать в самом Квике, или в чем-то, что так же показывает график, свечи. А вообще в идеале — чтоб еще и треугольнички сделок на графике отображались… )
Чтоб визуализировано было.
Так то понятно, что можно любой алгоритм хоть на Паскале реализовать и протестировать… НО! Это означает, что нужно руками написать некую имитацию подачи данных. И интерпретатор данных. Опять же понятно — есть массив котировок с Финама того же, в тхт или в csv, ну и делай с ним что хочешь. Но мне этот «движок» руками писать — как-то не хочется. Надеялся, что он уже есть. В том же Квике ну элементарно же было бы разработчикам сделать имитатор на любом отрезке графика, по которому имеются данные. Эхх...
Кроме того, хотелось бы сразу увидеть кривую эквити, так сказать, по итогам работы скрипта… А тут — опять же — выгружать в файл, потом обрабатывать в Экселе? Колхоз какой-то… (
Кстати, про данные с Финама. Я что-то не смог скачать оттуда тики (по Бренту пробовал, за 1-2 апреля, конкретно). Минимум — минутки получается скачать. И с mfd.ru аналогично. Возможно вообще тики получить? Подскажите, пожалуйста, путь.
И еще про «автономный интерпретатор Lua». Читал про отладчик Lua - Decoda. Он не позволит как-то поизящнее прогнать скрипт через массив данных? Т.е. его можно использовать именно не как отладчик, а как тестировщик на истории?
Функция getCandlesByIndex умеет получать тиковые данные.
И потом «ds:SetEmptyCallback();» — подписываюсь на обновления и соответственно получаю автоматически обновляемые данные в реальном масштабе времени.
Получается — по сути можно делать все то же самое, просто в цикле с 0. И работать с имеющимся массивом данных. Спасибо!
WebQuik <--> Websocket <--> Python