Все комментарии на форумах

  1. Логотип Quik Lua
    Индикатор "Нефть в рублях"

    Приветствую.

    Случайно в комментарях обнаружил одного пользователя, страждущего по старому-доброму индикатору «Нефть в рублях» для Quik. На скорую руку переделал старый код и решил заделиться исходником – сам всё равно не пользуюсь.

    Исходные данные: фьючерсы Br и Si. При использовании другого долларового графика (например, вечного USDRUBF) нужно поправить код: переменной «coefficient» нужно присвоить единицу.

    Инструкция к применению:
    — загрузить файл (нажми меня);
    — создать папку «LuaIndicators» в папке, где живёт Ваш Quik, и поместить туда файл;
    — открыть графики фьючерсов на доллар и на брентовку в одном окне (можно в одной координатной сетке, можно в двух);
    — в настройках графика (меню графика «Редактировать...» — Si-X.XX — вкладка «Дополнительно») в идентификатор вводим «доллар»;
    — тоже самое проделываем для брентовки с измененияем — идентификатор «нефть»;
    — через контекстное меню добавляем индикатор «Tom Sawyer's Brent in rubles v1.3»



    Авто-репост. Читать в блоге >>>
  2. Логотип Quik Lua
    Qlua: пишем скринер акций Московской биржи

    Пока не ушли далеко от темы получения данных из таблицы текущих торгов решил сделать в качестве примера еще и простой скринер акций. Это вполне доступно по тем материалам, которые мы уже прошли. Будем отслеживать динамику изменения цены относительно цены закрытия предыдущего дня.

    Нам понадобятся:

    1. Таблица для вывода данных (строить уже умеем).

    2. Получение данных из таблицы текущих торгов через getParamEx (проходили там же).

    3. Тикеры бумаг. Можно взять конкретный список бумаг и работать с ним, но приятнее и правильнее, чтобы скрипт мог автоматом выгружать все торгуемые тикеры из терминала и далее уже отслеживать их динамику. Попробуем это реализовать.

    Через sec_list = getClassSecurities(«TQBR») можно получить строку с тикерами акций на Московской бирже, которые будут разделены запятыми. Чтобы пройтись по всем элементам и записать их в массив используем цикл:

    for TIKER in string.gmatch(sec_list, "[^,]+") do
      tikers[#tikers + 1]=TIKER
    end


    Отслеживать будем параметр LASTCHANGE – процент изменения цены от цены закрытия:



    Авто-репост. Читать в блоге >>>
  3. Логотип Quik Lua
    Qlua: завершаем апгрейд советника.

    Сегодня дополним наш алгоритм советника следующими пунктами:

    1. Пропуск «поздних» сигналов на старте.
    2. Обработка советником обрыва связи.
    3. Сохранение сигналов и логов в файл.


    Еще один пункт, связанный со временем, который был выбран для апгрейда советника – это пропуск сигналов на старте, если запуск скрипта состоялся не в начале торговой сессии (например любой старт после 10:30). Это может быть полезным, если выбрана активная внутридневная стратегия и сигналы полученные на старте скрипта, например в середине дня, могут быть уже не актуальными (с низким потенциалом прибыли) и лучше дождаться новых. Т.е. необходимо разделить сигналы на те, которые сгенерировались на старте и остальные сигналы, которые будем далее брать в работу. Сигнал на старте может закрыться (по обратному/сигналу выхода) и если переоткроется снова, то его уже можно брать в работу как новый.

    В нашем скрипте сигналы по каждому инструменту (массив signal) ранее могли принимать значение:

    0 – вне позиции по инструменту



    Авто-репост. Читать в блоге >>>
  4. Логотип Quik Lua
    Qlua советник: дополняем сигналами на закрытие позиции, таблицей для вывода данных и расчетом финансового результата по позициям.

    Продолжаем изучать основы qlua. Улучшаем советника, которого писали ранее и уже дополняли в разных вариантах работой со временем.

    Сегодня рассмотрим:
    Дополним сигналами на закрытие позиции.
    Создадим дополнительную таблицу для вывода данных.
    Научим скрипт делать расчет финансового результата.

    Сигналы на закрытие позиции.

    Логика выходов не менее важная часть любой торговой стратегии и должна тестироваться также скрупулезно как и логика сигналов на вход и разные варианты фильтров для лонга и шорта. Также может быть отдельная логика управлением позицией, например часть позы может частично докупаться если движение идет в сторону прибыли, частично резаться если в сторону убытков, могут по-разному управляться стопы: вся позиция или часть закрываться по уровням, вся или часть двигаться трейлингом в разной логике, например, какая-то часть или вся позиция закрываться по времени (перед закрытием основной сессии или через определенное количество часов после входа, если нет сильного движения и цена ни стоп, ни тейк не достигла).



    Авто-репост. Читать в блоге >>>
  5. Логотип metatrader4
    Как я использую ML в оценке статистических метрик Equity

    Идея

    Думаю, что большинство трейдеров использует стандартные показатели оценки, встроенные в торговые терминалы. У меня возник вопрос доверия к ним, я решил проверить, насколько они релевантны. Дело в том, что просто так их использовать мне затруднительно, и сами по себе они ничего не говорят. Кроме того, в некоторых источниках, например, я читал, что коэффициент Шарпа показателен для анализа фактических сделок, но отнюдь не для анализа смоделированной на истории торговли. Не буду вдаваться в детали, это мнение можно найти в интернете, но закралось сомнение, а адекватными ли метриками вообще я пользуюсь при тестировании моих алгоритмов и стратегий. Моя идея состояла в том, что нужно рассматривать метрики в их корреляции друг с другом, для выявления зависимостей, с тем, чтобы улучшить результаты торговли, найдя лучшие кластеры пересечений этих показателей. Кроме того, чтобы просто это посчитать, мне нужно было ещё разбить полученные результаты на классы, что само по себе нетривиальная задача, если делать это вручную, потому что нужно определить границы для каждого класса, при том, что параметров, по которым те или иные алгоритмы должны попадать в тот или иной класс, несколько.

    Авто-репост. Читать в блоге >>>
  6. Логотип MetaTrader5
    Как я использую ML в оценке статистических метрик Equity

    Идея

    Думаю, что большинство трейдеров использует стандартные показатели оценки, встроенные в торговые терминалы. У меня возник вопрос доверия к ним, я решил проверить, насколько они релевантны. Дело в том, что просто так их использовать мне затруднительно, и сами по себе они ничего не говорят. Кроме того, в некоторых источниках, например, я читал, что коэффициент Шарпа показателен для анализа фактических сделок, но отнюдь не для анализа смоделированной на истории торговли. Не буду вдаваться в детали, это мнение можно найти в интернете, но закралось сомнение, а адекватными ли метриками вообще я пользуюсь при тестировании моих алгоритмов и стратегий. Моя идея состояла в том, что нужно рассматривать метрики в их корреляции друг с другом, для выявления зависимостей, с тем, чтобы улучшить результаты торговли, найдя лучшие кластеры пересечений этих показателей. Кроме того, чтобы просто это посчитать, мне нужно было ещё разбить полученные результаты на классы, что само по себе нетривиальная задача, если делать это вручную, потому что нужно определить границы для каждого класса, при том, что параметров, по которым те или иные алгоритмы должны попадать в тот или иной класс, несколько.

    Авто-репост. Читать в блоге >>>
  7. Логотип Tradingview
    Сегодня такие занятные картинки нарисовали с гэпами, что по нефти, что по газу — что начисто изменили всю картину происходящего. У кормилицы гэп на 500п, у газа на 100 с лишним. Две недели пропало. При этом наши фьючи движутся ровно. Как такое возможно?
  8. Логотип atas
    Продам пожизненную лицензию Атас Россия, крипта.
  9. Логотип Quik Lua
    Qlua: структура скрипта для торгового терминала, обработка обрыва связи и её возобновления, работа с файлами

    Сегодня начинаем уже писать полноценные скрипты для терминала, а не отдельные блоки кода на lua.

    Пройдем:

    • Структуру типового скрипта qlua с примерами.
    • Обработку скриптом «обрыва связи» с сервером и возобновления работы.
    • Работу с файлами: запись, перезапись и чтение файла.
    • getScriptPath, getWorkingFolder

    Структура скрипта

    В торговом терминале можно запускать небольшие примеры на lua, как мы это делали ранее, но если говорить о постоянно работающем алгоритме, а не о компактной программе, которая должна выполнить только несколько коротких действий, то минимальная структура скрипта для квика будет содержать следующие функции:

    Qlua: структура скрипта для торгового терминала, обработка обрыва связи и её возобновления, работа с файлами

    function OnInit – инициализирует глобальные переменные и константы (например, торгуемые бумаги, размеры тейка и стопа, торговый счет и пр.), имена таблиц, необходимых файлов.

    function OnStop – функция остановки скрипта, активируется при нажатии клавиши «Остановить» в панели скриптов терминала.

    function main – основная функция, создает отдельный поток для выполнения скрипта. Обычно внутри main создается цикл для непрерывной работы, т.к. без него функция выполнит один раз весь код, который в ней прописан и скрипт остановится.



    Авто-репост. Читать в блоге >>>
  10. Логотип QUIK
    Кто может помочь установить скрипт на lua в квик?
    За услуги заплачу!

    Есть установка скрипта с картинками и «разжёвыванием» от А до Я

    не хватает только мозгов как его установить!

    От вас сумма за установку, скайп или TeamViewer, чтобы был доступ к моему компьютеру, т.к. по переписке ничего не получается.

    P.s. заранее спасибо кто откликнется




    Авто-репост. Читать в блоге >>>
  11. Логотип QUIK
    кто-нибудь знает
    как объединить два набора окон (из .wnd)
  12. Логотип Quik Lua
    Qlua: настраиваем торговый терминал и редактор кода.

    Для людей уже торгующих через Quik можно перейти сразу к настройкам редактора кода, а тем, кто хорошо знаком с Notepad++, то сразу к запуску скрипта.

    В прошлой статье я привел статистику ЦБ, что клиентов, работающих через мобильные приложения брокеров сейчас в разы больше тех, кто работает через торговые терминалы. По этой причине я решил кратко затронуть и установку квика, и поделиться полезными настройками на старте (хотя, полагаю, что среди аудитории смартлаба, доминирующая часть именно тех, кто с терминалом «на ты», продвинутые пользователи сами могут в комментариях указать свои лайфхаки по настройкам и работе).

    Подробную инструкцию по работе в квике и всем возможным настройкам я не планирую делать – желающие могут найти всё это в виде различных статей, полезных обзоров, в т.ч. соответствующего мануала по терминалу от разработчиков. Здесь я лишь хочу коснуться основных моментов, которые сделают работу в квике более комфортной для глаз, удобной и быстрой в части работы со скриптами.



    Авто-репост. Читать в блоге >>>
  13. Логотип TSLab
    как быть с отсутствующими свечами в TS Lab

    Ситуация: тестирование на М5 и на М1 дает разное количество входов за 1 и тот же период времени. В результате анализа входов выясняется ситуация, что некоторые минутные свечи отсутствуют в данных. Например, отсутствует свеча в 09:49. И все бы ничего, если Вам не надо было войти точно в 9:50.

    TS Lab видит, что свечи в 9:49 нет, и не входит на открытии свечи в 9:50. «Не запостил — не было». Вы, задавая вход, как бы задаете свечу закрытия и входите на открытии (надеюсь, правильно объясняю) следующей свечи.
    Но если заданной свечи не было, то на следующей Вы не сможете зайти. Вход пропущен. Или выход.

    Как решить такую проблему? Ведь она может случиться и в реальности. Ну не будет сделок в течении минуты и что? Куда крестьянину податься?
    А если надо будет использовать ещё более мелкий ТФ? что делать там?
    Мне представляется, что надо бы формировать виртуальную свечу в заданный момент времени из нескольких периодов времени назад так, чтобы среди этих периодов времени гарантированно была хотя бы одна реальная свеча.



    Авто-репост. Читать в блоге >>>
  14. OsEngine commits 1588 — 1712

    youtu.be/sR_8B4kYpW4

    1. Фиксы. Не открытия повторно запрошенного окна закрытия позиции

    2. Фикс. Таблица параметров оптимизатора перестала давать скачки по параметрам при клике на неё

    3. Фикс. ОсДата. Блокировка многопоточного доступа к скачиванию данных

    4. Фикс. ОсДата. Восстановлено авто-обновление данных

    5. Фикс. Оптимизатор. Прогрузка посделнего дня в периоде

    6. Фикс. ByBit, BitGet, Binance, OKX, Tinkoff – фиксы. Помогали: github.com/nikitabuida и github.com/SkugarDenis, а также: github.com/IgorDevR. Огромное им спасибо!

    7. Фикс. Фикс запроса времени открытия у ордера

    8. Фикс. Оптимизация сборки свечек

    9. Фикс. Блокировка сохранения параметров робота при их загрузке

    10. Фикс. Правки в оптимизаторе. Вносил: github.com/cibermax. Спасибо!

    11. Красота. Локализация дат и времени внутри проекта

    12. Красота. Правки комментариев в слое создания роботов. Лучи благодарности: github.com/Andrey87-09

    13. Красота. Обновлена страница проекта на ГитХаб

    14. Красота. ОсДата. Сразу после открытия прорисовывает первый сет в таблице

    15. Красота. FAQ + 50 статей. Готовность 60%. Делал github.com/Andrey87-09

    16. Фича. Новый способ создания индикатора по атрибутам из нового слоя их создания

    17. Фича. Новое окно результатов в Оптимизаторе

    18. Фича. Добавлен коннектор к BitGet. Spot / Futures

    19. Фича. Правила поддержки коннекторов

    20. Фича. Удаление позиций из таблицы завершённых позиций

    21. Фича. Кнопка обновить, в окне параметров робота. Применяет новые настройки без закрытия окна

    22. Фича. ОсДата. Добавлено окно просмотра Кэша потока данных

    23. Фича. Доступ к имени робота из любого типа вкладок. Спасибо: github.com/Alexey144

    Друзья! Спасибо всем, кто помогает проекту! За прошлые 4 недели сделали 124 коммита за неделю. Это абсолютный рекорд для OsEngine.

    Не забывайте про наш замечательный, еженедельно пополняемый FAQ: o-s-a.net/os-engine-faq
    А если нашли какие-то ошибки, пишите сюда: o-s-a.net/os-engine-development.html

    #нашФреймворк
  15. Логотип Quik Lua
    Qlua: введение.

    Cерия статей по языку QLua и алгоритмической торговле для тех, кто хочет автоматизировать свою работу на финансовых рынках, освоить написание скриптов, индикаторов, торговых советников и роботов для терминала Quik.

    В 2022 году ЦБ выпустил презентацию «Портрет клиента брокера». В ней указано, что в РФ всего 0,03% клиентов используют алгоритмическую торговлю.

    Qlua: введение.


    Поэтому я понимаю, что людей, которые будут интересоваться темой программирования в трейдинге, совсем немного (хотя с ростом популярности изучения программирования доля со временем может подрасти, но вряд ли существенно).

    У меня нет задачи популяризировать эту тему, скорее помочь тем, кто будет идти той же дорогой. Дело в том, что открытой информации по qlua и алгоритмической торговле через Quik в сети немного: есть несколько сайтов энтузиастов, где кусочками выложены разные полезности, часть из этой информации порой уже устаревшая (работает только на более ранних версиях терминала), есть несколько коммерческих проектов (продажи роботов, либо обучения) там информация актуальная, но за неё нужно платить. Есть интересные библиотеки, но отдельные (например, какие-то библиотеки визуального интерфейса) могут отваливаться с появлением новых версий квика.



    Авто-репост. Читать в блоге >>>
  16. Для разработчиков этого гумна будет отдельный котел в аду с повышенной температурой. Постоянные глюки, лаги, завизания и фризы вот, что ждет трейдера. И куча испорченных нервов.
  17. Логотип Сбербанк инвестор
    Как Сберинвестор от Сбербанка обманывает клиентов.
    Или бойтесь приложения Сберинвестор.
    Приветствую вас, дорогие пользовательчане Смартлаба. Господь свидетель, я не хотел писать пост на эту тему, но общение с поддержкой и внутренний чат меня выморозили. Хочу показать, что из себя на самом представляет официальное приложение «Сберинвестор» от «Сбер».
    Сразу коротко опишу ситуацию. Я купил облигацию АЗБУКАВКП1. И сразу (в ту же минуту) на главном экране увидел доходность по ней 2.68%.

    Как Сберинвестор от Сбербанка обманывает клиентов.

    Авто-репост. Читать в блоге >>>
  18. Логотип QUIK
    Чудеса в QUIK (пост 161, 12+)
    1. Да, пацаны, да!  Случилось интересное.  Я сел за комп, стал наблюдать за своими акциями. Сидел неподвижно и заснул. Вы, наверное, знаете, старые люди спят на совещаниях, конференциях, на спектаклях и во многих других места. У меня один престарелый товарищ заснул на унитазе.
    Короче, я заснул за компом, держа мышку в руках. Мышка упала на пол. У меня тут же сыграл сигнал продажи ( клаксон). Я бросился смотреть сделки!  И что вы думаете, у меня по рынку продалось 10 штук  ( 1 лот Сбера). Вообще у меня не было заявок на продажу. Мало того, это был второй счет, с которым я в текущий момент не работал, но QUIK был открыт. Чудеса да и только. Вывод:  Спать за работающим квиком опасно, как и спать за рулем движущегося автомобиля. Либо надо убирать руку с мышки.
    2. Продолжаем тянуться к прекрасному:
    Чудеса в QUIK (пост 161, 12+)
    Фигура худой женщины после 30 лет



    Ваш S.Hamster

    Кому нравятся мои посты, можете кинуть сотню, другую ко мне на две точки:  

    https://yoomoney.ru/to/410014495395793  



    Авто-репост. Читать в блоге >>>
  19. Логотип MQL4
  20. Логотип MetaTrader5
    MetaTrader 5 build 3800: ордера Book or Cancel, помощь AI при написании кода и ONNX

    В новой версии мы добавили поддержку ордеров Book or Cancel. Такие ордера могут быть только выставлены в стакан цен, но не исполнены сразу. Они используются для реализации пассивной торговли на бирже.

    Помимо этого, в новой версии MetaEditor появилась интеграция с Copilot — AI-системой, помогающей при написании кода. Вы можете сформулировать торговую идею обычным языком, а Copilot предложит ее реализацию на MQL5.

    Также в новой версии существенно расширилась поддержка работы с моделями машинного обучения ONNX. Теперь их можно открывать прямо в MetaEditor: через встроенный просмотрщик или через специализированный просмотрщик Netron.

    Также в новой версии существенно улучшен веб-терминал: в разделе истории теперь показываются балансовые сделки и итоги, а интерфейс стал доступен уже на 24 языках.

    Инсталляторы переводятся на работу только с 64-битными версиями платформы. Поддержка 32-битных версий завершается. Ранее установленные 32-битные версии платформы будут работать до 1 января 2024 года.

    Авто-репост. Читать в блоге >>>