Ильдус Серезетдинов написал: Ранее я мог построить мувинг на своём стационарном компьютере с периодом 39000 simpl. Но сейчас у меня идёт зависание. Я улучшил оперативную память до 4-х гигабайт, удалил все сторонние программы, но мувинг не грузится. Тиковый график без мувингов загружается, а с тяжёлым мувингом-нет. Обновление программы до версии 7.2.2.3 также не помогло. Брокер ничего толкового сказать не смог. Прошу помочь с решением данной проблемы.
Если график прямой линии не тормозит, то полагаю, что код Вашего мувинга можно облегчить от 10 до 100 раз, так как время расчета мувинга не должно зависеть от длины истории.
Как облегчить код мувинга? Как это делается?
пришлите код на почту или покажите здесь, посмотрю и скажу.
Тяжёлые мувинги на тиковом графике, Не строятся мувинги с большим периодом на тиковом графике
Пользователь
Сообщений: Регистрация: 30.01.2015
08.07.2016 11:48:17
Цитата
Ильдус Серезетдинов написал: Ранее я мог построить мувинг на своём стационарном компьютере с периодом 39000 simpl. Но сейчас у меня идёт зависание. Я улучшил оперативную память до 4-х гигабайт, удалил все сторонние программы, но мувинг не грузится. Тиковый график без мувингов загружается, а с тяжёлым мувингом-нет. Обновление программы до версии 7.2.2.3 также не помогло. Брокер ничего толкового сказать не смог. Прошу помочь с решением данной проблемы.
Если график прямой линии не тормозит, то полагаю, что код Вашего мувинга можно облегчить от 10 до 100 раз, так как время расчета мувинга не должно зависеть от длины истории.
Событие по таймеру / Timer / OnTimer, Подскажите конструкцию для реализации такого события
Пользователь
Сообщений: Регистрация: 30.01.2015
04.07.2016 09:25:56
Цитата
Антон написал: Необходимо реализовать классическую конструкцию определения таймера по условию, после чего функция, определённая в таймере, запускается через определённый временной промежуток. Решения на основе циклов с sleep или os.time тормозят либо процессор в целом либо непосредственно поток QUIK. Подскажите, пожалуйста, адекватное решение ::
Уточните вопрос, так как Вы указали в посте , что конструкция классическая, следовательно Вам известная, а в названии просите подсказать конструкцию, т е она как бы вам неизвестная. ------------------------------------------------------- Есть много способов реализовать запуск функции в заданное время, но решение зависит от допустимой погрешности.
данных на срочном рынке, Склейка данных
Пользователь
Сообщений: Регистрация: 30.01.2015
02.07.2016 11:08:29
максимальная глубина истории 3000 свечей.
Ошибка при запуске до начала сессии.
Пользователь
Сообщений: Регистрация: 30.01.2015
01.07.2016 10:53:06
как варианты, в скорости загрузки данных, в различных настройках квиков
Sergey Denegin написал: А если он завис в результате отладки, то состояние макросов опять будет забыто.
И это абсолютно правильное поведение и меняться оно категорически не будет Ибо иначе скрипт бы постоянно приводил к зависанию. И избавиться от этого было бы нельзя. То есть терминал стал бы просто неработоспособен.
может быть сделать кнопку "запомнить список" или "обновить", а пользователь сам решит надо запоминать новый скрипт в списке или нет в текущем состоянии КВИКА?
Вопрос: как получить в переменную значение элемента массива, но чтобы не было связи между этой переменной и массивом
Пользователь
Сообщений: Регистрация: 30.01.2015
26.06.2016 16:38:20
Цитата
Sergey Denegin написал: Николай, если спрашиваю, значит надо! Оставьте свои комментарии при себе.
Ваш ответ (впрочем как часто и бывает) бесполезен. Во-первых, о таком способе и так понятно было, а во-вторых, когда речь идет о массиве данных из 20-30 полей, да еще и структура данных с текстовыми индексами, то это вообще составляет целую проблему и потребует написания целой функции. Так что дайте, пожалуйста, ответить на этот вопрос тем, кто может дать дельный совет!
Вы зря обиделись. Я написал Вам ответ на ваш вопрос "как копировать таблицу"- цикл Вам предложили, поэтому я дал Вам вариант без цикла. Других вариантов не существует. -------------------------------- Если хотите получить более конструктивный ответ, то сформулируйте задачу. Как следует из дальнейших Ваших высказываний, вас интересует вообще-то не копирование таблицы, а организация обработки больших массивов данных. А это совершенно ругая задача, чем заявленная в Вашем вопросе. Так что, увы, Вам оно ( то что Вы спросили изначально), как раз и не нужно .
Космонавт написал: А если компьютер на ночь уходил в гибернацию без выключения КВИКА, а утром ожил? Запомнятся ли переменные и будет ли читаться код до функции main?
Код читается один раз при запуске скрипта. Поскольку перезапуска скрипта не произошло, то код продолжит выполняться с точки останова. При этом все переменные сохранят свои значения.
Цитата
Николай Камынин написал: Полагаю, что при смене сессии , все начнется сначала.
При смене сессии всё не начнётся сначала. Код будет работать в соответствии с заложенной в него логикой. Так, если в коде предусмотрено "обнулять" значения переменных при смене сессии, то так и будет. Если "обнуление" не предусмотрено, то значения сохранятся.
На самом деле все менее предсказуемо, так как при смене сессии или времени (как установлено) КВИК обновляет таблицы, индикаторы и сессия из текущей переходит во вчерашнюю. ---------------------------------------- Конечно, если Вы не перезагружали КВИК, то код до main исполнятся не будет, так он исполняется один раз при запуске квика или запуске скриптов . --------------------------------------------------------- Но так как при начале новой сессии, состояние робота внезапно превращается из сегодня во вчера, то логичнее выполнить инициализацию начала сессии, что фактически означает перезапуск робота. -------------------------------------------------- Подобный перезапуск целесообразно делать и при разрыве соединений, так как состояние робота внезапно переходит из текущего в устаревшее.
Вопрос: как получить в переменную значение элемента массива, но чтобы не было связи между этой переменной и массивом
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2016 16:03:52
вместо этого A = arr_test[4] ---------------------------------- надо записать так: A={a=arr_test[4].a,b=arr_test[4].b} ----------------------------- но оно Вам надо?
запуск робота при запуске квика
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2016 06:32:59
Цитата
Космонавт написал: А если компьютер на ночь уходил в гибернацию без выключения КВИКА, а утром ожил? Запомнятся ли переменные и будет ли читаться код до функции main?
Полагаю, что при смене сессии , все начнется сначала.
пропал график "суммарный спрос" и "суммарное предложение" по фьючерсу РТС
Пользователь
Сообщений: Регистрация: 30.01.2015
24.06.2016 10:51:28
По-моему мнению - так и задумано изначально в QUIK. Дело в том, что Вы строите график по параметрам из TTП. Для строительства таких графиков информация сохраняется в info.log файле, который очищается на начало новой сессии. -------------------------- Выход лишь один - сохранять историю с помощью скрипта и отображать ее с помощью самописного индикатора.
Индикатор Jurik Moving Average в Quik, Добавить в Quik индикатор Jurik Moving Average
Пользователь
Сообщений: Регистрация: 30.01.2015
24.06.2016 07:53:01
когда-то давно реализовал этот индикатор в амиброкере. На самом деле, это индикатор заглядывает в будущее и перерисовывается поэтому для исторических данных он красивый, а для прогноза - бесполезный , как и большинство широко рекламируемых , например, ZigZag - который тоже красивый на истории по той же причине что и . ----------------------------------------
файл info.log - зачем, почему и как с этим бороться?
Пользователь
Сообщений: Регистрация: 30.01.2015
23.06.2016 15:33:51
файлы свечей хранятся в отдельных файлах, а в файле info.log хранится история параметров ТТП. Не стройте графиков по параметрам из ТТП и не будет большого файла. Я использую лишь свечи и индикаторы по ценам свои и встроенные . info.log -1 Мбайт всего
Экспорт стаканов по DDE, иногда повторяются данные в последовательно переданных стаканах данного инструмента
Пользователь
Сообщений: Регистрация: 30.01.2015
22.06.2016 21:47:50
вообще-то биржа посылает лишь изменения в стакане, а стакан который приходит с терминал очевидно делает КВИК.
Профессиональная инфраструктура для алготорговли под Quik, варианты?
Николай Камынин написал: к тому же этой продвинутой аналитики для фондовых рынков не существует. Почитайте диссертации на эту тему, сразу станет ясно, что дело темное. --------------------------------------- Вся аналитика на российских рынках сводится к инсайдерской информации из ямы.
Что Вы такое глаголете страшное)))
Есть достаточное количество отечественных квант-фондов которые не имеют тайных каналов связи с ОПЕК и тп., тем не менее стабильно стригут маркет с шарпом больше 3-х, значит дело не только в инсайде, к тому же невозможно скрыть движуху на всех рынках к которым привязана наша фонда, если иметь в виду RI\Si…
Какой то неликвид наверняка шаманять мелкие мошеннички, на внутренней инфе, но это крохи. А знать наверняка куда нефть двинется в ближайшую неделю, таких людей в мире на пальцах пересчитать, но тех кто зарабатывают с рынка, всё таки намного больше этих куклов
А не говорил, что на рынке не делают деньги, я сказал, что нет аналитических программ для этого. Деньги делают деньги, а рынок делают большие деньги. А большим деньгам не нужен прогноз рынка, они его сами делают. Вот это я и хотел сказать про продвинутую аналитику.
Профессиональная инфраструктура для алготорговли под Quik, варианты?
Пользователь
Сообщений: Регистрация: 30.01.2015
19.06.2016 16:59:24
к тому же этой продвинутой аналитики для фондовых рынков не существует. Почитайте диссертации на эту тему, сразу станет ясно, что дело темное. --------------------------------------- Вся аналитика на российских рынках сводится к инсайдерской информации из ямы.
Ошибки вычисления с плавающей точкой в LUA., LUA не может правильно посчитать 124.4 - 124.3? - Да ладно?!
Это проблема не Quik'а, а операций с плавающей точкой, и актуально это для всех низкоуровневых языков программирования
это проблема не квик и не низкоуровневых языков, это проблема лишь дилетантов, а у знающих - это особенность хранения числе с плавающей точкой. --------------------------------------------------------------------------------------------------- , читайте учебники, а не гордитесь собственным невежеством.
QUIK FIX примеры использования
Пользователь
Сообщений: Регистрация: 30.01.2015
17.06.2016 18:53:21
Цитата
Вячеслав + написал: Я имею ввиду примеры FIX сообщений, чтобы можно было написать простого работающего робота, который, например, получал список инструментов и выдавал ордер на покупку какого-нибудь из них по фиксированной цене и объёму, заданному в коде, чтобы затем расширять функционал, зная, что базовые функции уже работают и если проблемы и будут, то не в коде, а в конфигурации.
Конечно же не QuikFast (опечатался). Я имел ввиду QuickFAST - библиотеку с открытым исходным кодом для работы с FIX -
Кстати, где почитать про диалект FIX'а для QUIKFIX? Какие есть отличия от стандарта? (на случай, если примера найти не удатся).
Мечтать оно конечно не вредно.
Подскажите пожалуйста, где взять нормальную документацию по qlua?
Пользователь
Сообщений: Регистрация: 30.01.2015
17.06.2016 17:21:28
Цитата
Вячеслав + написал: , А зачем нужно изучать руководство по QPILE? Навскидку, что там есть, чего нет в документации QLua?
Там есть таблица параметров получаемых с помощью функции GET_PARAM_EX кроме того, так как QLUA первоначально повторила все функции из QPILE, то в QPILE есть пояснения, которых нет в документации QLUA. Их можно и через DDЕ получить, тогда можно не читать.
Ошибки вычисления с плавающей точкой в LUA., LUA не может правильно посчитать 124.4 - 124.3? - Да ладно?!
Пользователь
Сообщений: Регистрация: 30.01.2015
17.06.2016 10:48:02
Цитата
Денис написал: Если более конкретно, берем цену из Квика, прибавляем шаг цены инструмента, сравниваем со следующей ценой, а они не равны.
Как вы боретесь с такой бедой?
вообще-то, это простейшая задача для обучающегося программированию. Посмотрите учебники по программированию, оно конечно читать надобно.
Порядок работы со стоп-ордером, Отслеживание цепочки стоп-ордер->ордер->исполнение
Пользователь
Сообщений: Регистрация: 30.01.2015
16.06.2016 15:51:15
вопрос не в тему, но по поводу. интересно, разработчики все продолжают утверждать, что QLUA сделана для не подготовленных пользователей, или они уже поняли, что нужна основательная подготовка не только в знании квик, но и в технологии разработки программ, синхронизации потоков, навыков создания событийных систем и т д. и т п
get
Пользователь
Сообщений: Регистрация: 30.01.2015
15.06.2016 17:29:47
очевидно , что ошибка там, на чем носят шапку.
get
Пользователь
Сообщений: Регистрация: 30.01.2015
15.06.2016 17:28:55
текст не на луа а на каком-то сленге. Нет в луа такого end for end if это из QPILE а в QPILE нет этого candles[i].datetime #candles это из луа. ------------------------------- Короче голова от крокодила, а ж...а от муравья, получилось хрень. ---------------------------
Подскажите пожалуйста, где взять нормальную документацию по qlua?
Пользователь
Сообщений: Регистрация: 30.01.2015
10.06.2016 18:23:58
Полагаю, что Вы хотите учебник. Увы, его нет. чтобы разобраться с QLUA Вам полагаю надо изучить: 1) LUA 2) руководство по КВИК ( особо раздел 6 и раздел 8) 3) руководство по QPILE ---------------------- почитать книжку рихтера (так для понимания про потоки) почитать API C для Луа (так для понимания что можно делать еще)
Ускорить стакан и таблицу всех сделок, Сабж
Пользователь
Сообщений: Регистрация: 30.01.2015
10.06.2016 14:24:42
Цитата
kbrobot.ru написал: Добрый день! У меня в БКС почему то стакан стал обновляться медленно. Хорошо если раз в секунду. Может где — то какую-нибудь галочку поставить надо? И таблица сделок тоже прокачивается раз в 20-30 секунд только. Кто как решил данную проблему? А по акциям прокачка вроде живее идет
про задержки серверов БКС я писал. Полагаю, что у них загрузка серверов большая. Посмотрите пинги и время задержки обмена Если нормально то можете попробовать перейти на VIP сервер (есть такая услуга у БКС).
Конкуренты ведут себя некорректно!!!! QLUA vs MQL5, Мне кажется так не правильно!!! QLUA vs MQL5
Пользователь
Сообщений: Регистрация: 30.01.2015
09.06.2016 18:21:09
все правильно. Луа сейчас не только в играх, редакторах, но и в "умных вещах", в управлении сложными технологическими процессами.
Разработка торговых роботов на LUA, Разработка торговых роботов на LUA
Пользователь
Сообщений: Регистрация: 30.01.2015
06.06.2016 18:18:39
напишу для управления посадкой на Марс и взлетом с Луны.
Николай Камынин написал: Можно проверять ошибки синтаксиса и ошибки алгоритма, отлаживать.
Скажите, а он сможет отлаживать робот, используя данные из Квика? А то действительно очень неудобно без нормального отладчика
Нет, разработчики SCiTe не знают про квик и ничего не сделали для отладки с QLUA и данными из квик. Поэтому это работа для энтузиастов. Вообще-то, есть набор типовых операций, которые нужны в любом роботе. их надо сделать один раз.
таблица лимитов по бумагам. Не могу продать акции, купленные ранее.
Пользователь
Сообщений: Регистрация: 30.01.2015
06.06.2016 13:52:24
3) если хотите продать по рынку, по в стакане установите Q и кнопка S
таблица лимитов по бумагам. Не могу продать акции, купленные ранее.
Пользователь
Сообщений: Регистрация: 30.01.2015
06.06.2016 13:50:20
1) попробуйте убрать галку "рыночная" 2) если хотите закрыть позицию то кнопка С в стакане
Зависание квика
Пользователь
Сообщений: Регистрация: 30.01.2015
06.06.2016 12:00:19
Пока остановился на версии 6.17.3.6 и Вам советую.
Редакторы для QLUA Notepad++ vs SciTe
Пользователь
Сообщений: Регистрация: 30.01.2015
06.06.2016 10:55:03
кроме того, так как SciTe написан на луа, то в него легко встроить различные дополнительные функции.
Редакторы для QLUA Notepad++ vs SciTe
Пользователь
Сообщений: Регистрация: 30.01.2015
06.06.2016 10:52:33
SciTe Это не только редактор, но и компилятор и запуск луа скриптов. Можно проверять ошибки синтаксиса и ошибки алгоритма, отлаживать. Notepad++ - это просто редактор текста.
Можно ли получить имя переменной, имея саму переменную?
Пользователь
Сообщений: Регистрация: 30.01.2015
03.06.2016 12:57:42
Можно сделать все или почти все. Результат зависит от знания предмета. Поэтому начинать надо с изучения языка, а не придумывания задач для незнаек.
Можно ли получить имя переменной, имея саму переменную?
Пользователь
Сообщений: Регистрация: 30.01.2015
03.06.2016 06:54:01
Цитата
Sergey Denegin написал: Как вывести значение переменной, это понятно. Мне нужно вывести ИМЯ ПЕРЕМЕННОЙ. Причем не конкретной переменной, это понятно как, а той, которая например в качестве параметра была передана внутрь функции
4.9 – The Debug Interface
Конкуренты ведут себя некорректно!!!! QLUA vs MQL5, Мне кажется так не правильно!!! QLUA vs MQL5
Пользователь
Сообщений: Регистрация: 30.01.2015
02.06.2016 21:40:41
А я вот недавно написал софт для ARM контроллера , который обеспечивает ввод сигналов в 25 раз быстрее и в 10 раз точнее, чем официально разработанный. Но к фондовому рынку это тоже не имеет никакого отношения.
Трендовые линии привязка к одному графику
Пользователь
Сообщений: Регистрация: 30.01.2015
02.06.2016 21:36:26
Ваше желание будет рассмотрено на очередной ассамблее ООН. Если оно не противоречит международному праву и мировое сообщество его одобрит, то оно будет внесено в программу развития сельского хозяйства до 2030 года. . Следите за новостями, не переключайтесь
Можно ли получить имя переменной, имея саму переменную?
имя переменной "A" значение 2 Обратиться к переменной по имени так: A=2 print(A) print(_G["A"])
Автоматическое навешивание тегов
Пользователь
Сообщений: Регистрация: 30.01.2015
02.06.2016 14:09:22
каким образом будет формироваться идентификатор по умолчанию - это определят разработчики. Например, к имени окна дописывается имя инструмента(для инструмента) , либо имя индикатора(для индикатора). ------------------------------- Важно два момента. 1) идентификатор по умолчанию устанавливается лишь в пустую позицию 2) возможность замены идентификатора из скрипта .
Дублирование сделок из одного Квика в другой
Пользователь
Сообщений: Регистрация: 30.01.2015
01.06.2016 17:05:14
можно использовать DDE
Автоматическое навешивание тегов
Пользователь
Сообщений: Регистрация: 30.01.2015
01.06.2016 07:33:19
Еще год назад предлагал это сделать , очевидно забыли. Повторю. Предлагаю сделать: 1) установку идентификатора графика по умолчанию. 2) установку идентификатора графика из скрипта. 3) чтение в скрипте списка идентификаторов на графике.
Конкуренты ведут себя некорректно!!!! QLUA vs MQL5, Мне кажется так не правильно!!! QLUA vs MQL5
Пользователь
Сообщений: Регистрация: 30.01.2015
31.05.2016 17:33:55
Язык - это очень важно. Мы лишь с помощью языка можем формулировать свои мысли - т е алгоритмы. Самый хороший язык тот, на котором умеешь мыслить. Вообще-то в прикладных областях знаний всегда есть свои сленги. Поэтому для разработки торговых роботов нужен язык прикладного программирования. В качестве примера подобного языка можно привести язык AFL амиброкера. Lua не является примером прикладного языка. А скорость исполнения скриптов зависит от реализации виртуальной машины. Вот если в квик поставит LUA JT вот тогда и скорость будет. А пока скорость делаем за счет DLL которые пишем на СИ.
Стоп заявка по исполнению для цены выше рынка?
Пользователь
Сообщений: Регистрация: 30.01.2015
31.05.2016 13:35:16
эту задачу сравнительно просто решить с помощью скрипта управления стопами. Такой скрипт выставляет стопы для открытых позиций. В результате стоп будет ставиться на срабатывание любых условных и лимитных заявок.
Николай Камынин написал: , Можете написать пример,что хотите реализовать?
Николай, я, кажется, понимаю, что имеет в виду Олег. Речь идёт о возможности создания стоп-заявки по исполнению другой стоп-заявки. Например, текущая цена актива 100. Ставится стоп-заявка на покупку по цене 103 и по условию исполнения этой стоп-заявки ставится ещё один стоп-приказ на продажу с ценой 101. Если цена дошла до 103, то сработает первый стоп и, если будет открыта позиция Лонг, то тогда выставится стандартный стоп на продажу по цене 101. Т.е. последний стоп будет выставлен только если удачно сработает первый. Сейчас в есть аналогичный функционал для заявок (стоп-заявка по исполнению). Но с его помощью нельзя открыть лонговую позицию по цене выше текущей, а только по более низкой цене.
Задача понятна. Полагаю, что на сервере брокера ее не будут реализовывать. В текущей версии эта задача решается размещением терминала пользователя в дата центре и написанием скрипта .