Василий Арефьев написал: Спасибо, я нашел взаимосвязи между таблицами. Но в решении второго вопроса это не помогло.
Перефразирую, какое поле в таблице заявок или сделок ссылается на саму себя и указывает на заявку или сделку ранее открытую? Например, сделана заявка №100 на продажу, далее позиция закрыта заявкой №101 на покупку. Как узнать, что заявка №101 закрывает заявку №100? То же самое и по таблице сделок. Или эти две строки одной таблицы никак не связаны и связь между строками заключается в равенстве количества, большей дате и обратной операции (Покупка -> Продажа)?
Заявки ничего не открывают и не закрывают. Поэтому существует связь заявка - сделка. Т к биржа - это место совершения независимых сделок.
На самом деле индикатор Fractals не совсем рассчитывается. Ведь расчет это когда из одного значения получается другое, а Fractals выбирает максимумы и минимумы из того что есть. Алгоритм поиска описан в документации на терминал
РАССЧИТЫВАТЬ, рассчитать, рассчесть, распределять счетом; сделать рассчет. Рассчитай, по чем на брата придется. Рассчесть кого, рассчитав что ему следует за работу, за службу, расплатиться и уволить его. На умах не рассчитаешь, не разочтешь, а на счетах разочту. | Рассчитывать на кого, на что, считать, полагаться, надеяться, основаться. На чужую помощь не рассчитывай. -ся, страд., взаимн. по смыслу. Мы с тобой еще не рассчитались, не разочлись, не покончили счетов. Разочлись - как вода разлилась (оба ни при чем). Рассчитыванье, -читанье, расчёт, действие по гл.; счет, выкладка, числовой вывод, с показанием всех данных. Расчет постройки, смета. Расчет с рабочими, с подрядчиком, разделка, расплата по счетам. У всякого свой расчет, свои виды, цели, намеренья. Тут нет расчета, не из чего, не для чего. Он сделал это без расчета, спроста, без задней мысли, без особенной цели; или нерассудительно, опрометчиво. Жить с рассчетом, бережливо, не издерживая лишнего. Мы с ним в расчете, рассчитались, квиты, поверстались. Конец игре-расчет. У купца расчет, а у покупателя другой (свой). В своей семье какой (что за) расчет! Расчётная книга, счет с каждым верителем и должником. Расчетливый, - тистый человек, соблюдающий во всем расчет, осмотрительный, осторожный в делах, бережливый: неидущий на неверные обороты, но и неупускающий надежных. Расчетливость жен. свойство, качество, способность эта. Расчетчик, -чица, делающий какой-либо расчет. Толковый словарь Даля. В.И. Даль. 1863-1866. ------------------------------------------------------------------------------ — Разбирать, соображать, смекать. См. намереваться … Словарь синонимов ----------------------------- т е индикатор Fractals рассчитывается.
CreateDataSource, не грузятся данные при формир. через CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
02.08.2016 10:37:14
Цитата
написал: Не всегда это верно. Пример тому - перезаказ данных.
согласен. Если перезаказать, то то при этом весь архив данных стирается и осуществляется прием всех данных. Других случаев нет.
CreateDataSource, не грузятся данные при формир. через CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2016 19:30:15
Разницы нет
CreateDataSource, не грузятся данные при формир. через CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2016 19:29:50
Цитата
PFelix написал: И есть ли в этом разница для калбеков OnAllTrade? Спасибо.
Все очень просто. Приходит пакет от сервера брокера в терминал. терминал начинает его разбирать(парсить) вытаскивает обезличенные сделки строчка за строчкой. Потом вызывает колбек и передает ему эту строчку. При возврате из колбека запихивает эту строчку в ТВС. ------------------------------------ Теперь можете ответить на свои вопросы сами. все, что пришло попадет сначала в колбек. Если это пришло раньше и уже есть в ТВС, то снова это не придет и в колбек повторно не попадет. Т е если Вы прервали работу своего скрипта, то при новом запуске будете принимать в колбеке пропущенные терминалом ( т е если был разрыв связи с сервером), а не вашим скриптом, и новые.
Сохранение и перевыставление снятых по оконч. сессии заявок
Пользователь
Сообщений: Регистрация: 30.01.2015
30.07.2016 07:38:41
Цитата
yako-v написал: Интересует сохранение и перевыставление снятых по оконч. сессии заявок ( перенос их в карман похоже невозможен ?). Есть такой пункт в меню ПКМ : сохр-ть заяв. в файл . Выбираю , сохраняю , присваивая имя файлу txt . Вопрос : 1. Как и когда можно правильно извлечь эти сохраненные заявки 2. Как преобразовать эти снятые заявки в стоп-заявки с укладыванием их в карман (или просто как их уложить в карман без подключения к серверу) ?
Как варианты: 1) сделать DDE таблицы заявок в Excel. 2) Написать скрипт который конвертирует записи из таблицы заявок в их первозданный вид для кармана или еще для чего угодно.
Получить последний стоп-ордер
Пользователь
Сообщений: Регистрация: 30.01.2015
30.07.2016 07:31:36
Опечатка : Этот алгоритм я разработал еще до внедрения VM LUA в КВИК и использовал его в QPILE.
Получить последний стоп-ордер
Пользователь
Сообщений: Регистрация: 30.01.2015
30.07.2016 07:30:12
Цитата
WennY написал: Доброго времени суток. Увы, ордера, полученные посредством getItem("stop_orders", i) идут по порядку начиная с первого и до последнего. В итоге чтобы получить последний ордер мне нужно как-то получить все стопы, пересчитать их и только затем уже ловить последний из них. Какие-то более цивилизованные методы существуют? Возможно я просто проморгал что-то в ФАКе. Спасибо.
Есть как минимум два способа решения этой задачи. 1) Каждый раз делать полный перебор - поиск по таблице (это Вы написали) - самый простой и самый затратный способ. Самый затратный способ. Особенно, если стопы постоянно переставляются. -------------------------------- 2) Использование OnStopOrder. В этом случае Вы через OnStopOrder. получите новый стоп. Но если запустите свой скрипт повторно при наличии активных стопов, то придется применить способ 1, так как OnStopOrder уже не сработает на существующие и ранее принятые квиком стопы. ======================== В том случае, когда Вы не пользуете колбеки (например при создании робота в индикаторе) возможен лишь способ 1 из известных. ============================. Рассмотрим мой алгоритм решения данной задачи. Этот алгоритм я разработал еще до внедрения VM LUA в КВИК и использовал его в QLUA. Он в десятки и сотни раз повышает быстродействие роботов , работающих со следящими стопами на тиках. В некоторых случаях без этого алгоритма Ваш робот просто перестанет работать, так как загрузит процессор переборам тысяч мертвых стопов. ------------------------------- Пользуйтесь: --------------------------------- 3) Алгоритм Николая Камынина(): Полный перебор таблицы стопов делаем один раз при запуске скрипта. В процессе этого перебора мы запоминаем в таблице (назовем ее списком активных стопов) номера строк активных стопов из таблицы стопов. ---------------------------------------- Таким образом мы получаем список строк с активными стопами. Если у нас всегда лишь один активный стоп, то в списке будет лишь одна запись. -------------------------------- Теперь посмотрим, каким образом мы будем работать дальше. ----------------------------------- Чтобы проверить состояние последней стоп заявки мы всегда читаем из таблицы стопов строку по ее номеру в списке. ----------------------------------- Т е полный перебор мы делаем всего один раз при запуске. после этого нет никаких переборов вообще. ---------------------- Кроме того, необходимо решить задачу обнаружения выставления новой стоп заявки. --------------------------------------- Эта задача решается путем сравнения числа строк таблицы стоп-заявок на предыдущем тике и на текущем. Если выставлена новая заявка, например вместо снятой или передвинутой, то число строк в таблице стоп заявок увеличится и это есть признак что есть новая стоп заявка , а ее номер строки определяется через число строк таблицы. ------------------------ Если активных стопов много, то мы периодически проверяем по нашему списку их активность и удаляем из списка неактивные. ----------------------------------- Таким образом получаем следующее преимущество перед полным перебором: Как правило роботы со следящими стопами порождают тысячи стоп-заявок, которые все забивается в таблицу стоп-заявок. при полном переборе мы на каждом тике перебираем эти тысячи. В моем алгоритме такой перебор делается лишь при запуске робота. В результате данный алгоритм в десятки и сотни раз быстрее полного перебора. ------------------------------------------------ На этом лекция на тему: "Как создать умного робота, который никогда не умрет" завершена. -------------------------- Всем спасибо, все свободны.
Расчет EMA, Формула расчета в Quik?
Пользователь
Сообщений: Регистрация: 30.01.2015
27.07.2016 15:58:49
Цитата
Imersio Arrigo написал: Че вы гадаете :( В мануале на квик все написано:
[img]data:image/png;base64,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[/img] Я считал по этой формуле - все сходится. Не нужно изобретать двухколеное ТС.
Цитата
Николай Камынин написал: если обратитесь к литературе, то обнаружите, что EMA это простейший цифровой фильтр с бесконечной импульсной характеристикой. Так как фильтрацию делаем на конечном интервале, то вне 3000 значений мы как бы придумываем
Если вы обратитесь к этой литературе сами, то обнаружите что БИХ-фильтр - с бесконечной ХАРАКТЕРИСТИКОЙ, а не рядом входных значений. т.е. входное значение может быть одно, а отклик фильтра - бесконечным. Ну так, к сведению :)
Да, дремучий лес. отклик будет полубесконечным, т е начнется он лишь с первого отсчета из 3000 а до первого отсчета - Вы придумываете сами.
Окна Квика
Пользователь
Сообщений: Регистрация: 30.01.2015
27.07.2016 09:12:24
нажать на кнопку ключ с крестом (разорвать соединение)
Показывать последние 100 интервалов
Пользователь
Сообщений: Регистрация: 30.01.2015
26.07.2016 06:38:18
но для робота, при свернутом окне, безразлично.
Показывать последние 100 интервалов
Пользователь
Сообщений: Регистрация: 30.01.2015
26.07.2016 06:37:17
по-сути должна экономить загрузку процессора. особенно на тиках.
BULLS & BEARS, как получить линию разности быков и медведей с помощью индикаторов на Луа
Пользователь
Сообщений: Регистрация: 30.01.2015
23.07.2016 07:10:47
Как начинающему, советую начать с изучения языка луа на простых примерах. потом написать эти индикаторы самостоятельно по формулам инета. В результате размер кода будет раз в 10 меньше (получится примерно 5 строчек кода) и исполняться будет быстрее и у Вас будет понимание того, что делаете. -------------------------------------- Примечание: Если не обращать внимание на громкие и пустые фразы вокруг этих индикаторов, то реально индикаторы по сути самые примитивные фильтры первого порядка. Реально показывают лишь слабые знания математики и богатое воображение у их автора.
Не приходят уведомления после реконнекта с утра
Пользователь
Сообщений: Регистрация: 30.01.2015
21.07.2016 06:16:27
Полагаю (я так делаю), что лучше делать подписку при вызове , а не onCleanUp
Не импортируется id транзакции, В квике в таблиуе сделок есть id транзакций, при этом в БД часть не импортируется
Пользователь
Сообщений: Регистрация: 30.01.2015
21.07.2016 06:02:03
Цитата
Алексей Украинцев написал: вернее сказать: и так бывает, и наоборот - в квике есть - в БД нет...именно это поле
В качестве рабочей гипотезы могу предложить следующее: Если внимательно посмотреть на приведенные случаи то заметим следующее: Потеря id происходит в пакетах по одной цене и с разницей времени в миллисекунды. Возможно, что id не переносит сервер биржи по этой причине, или сервер КВИК и очень маловероятно, что ошибка на стороне терминала.
Как поставить QUIK на сервер?, Как поставить QUIK на сервер?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.07.2016 05:49:12
выберите сервер. Он должен быть с виндой. После этого обратитесь к тем, кто Вам его предоставит. Они Вам все подскажут.
Спасибо за подсказку! Почитал - с этим обработчиком были проблемы в некоторых версиях. Вот тут хороший обход предложен, попробую:
И опять же вопрос к разработчикам и писателям документации: почему такие важные моменты не отражаются в документации? т.е. вообще, ноль. По умолчанию полагаешь, что установил хэндлер и спишь спокойно, а на практике - возможные лоси. Это безответственный подход в отношении софта, работающего с живыми деньгами.
Поделюсь опытом. У меня реализована специальная функция - начало сессии. Она учитывает не только смену даты, но и наличие свечей с неравными High и Low. Таким образом, я различаю предторговый период, послеторговый период предыдущего дня и начало торгов.
Не приходят уведомления после реконнекта с утра
Пользователь
Сообщений: Регистрация: 30.01.2015
20.07.2016 19:01:27
вернее не в самом колбеке, а в main при вызове OnCleanUp
Знаю что Вы очень заняты, и у Вас очень много важных дел. Тем не менее сохраняю надежду на вашу доброту и милость.
Почему бы Вам не добавить в качестве скриптового языка PHP. А не этот недоязык LUA, который чисто по недоразумению стал таким популярным.
Тем более что готовые решения уже есть нужно только DLL откомпилировать. Работы на пару недель всего то.
Спасибо!
Полагаю, что если очень хочется, то можно писать на джава. В луа непосредственно либо через СИ можно запускать любые проги в т ч и на джава. Правда не знаю зачем это надо, но если хочется, то можно.
тейк профит, отступ от мах, мин.
Пользователь
Сообщений: Регистрация: 30.01.2015
19.07.2016 06:28:22
Цитата
Александр Пупкин написал: Здравствуйте, может кто - то показать пример работы стоп приказа тейк профит + стоп лимит
Если в тейк профите к примеру я укажу цену >=67000 Отступ от max = 50, и стоит галочка "по рыночной цене"
Что это будет значить?.. читал в справке, но что - то не совсем понял как работает отступ ((
из документации:
«Тэйк-профит» – это заявка с условием вида «исполнить при ухудшении цены на заданную величину от достигнутого максимума (на продажу) или минимума (на покупку)». Заявка работает следующим образом (пример для заявки на продажу): после достижения ценой последней сделки условия стоп-цены начинается определение максимума цены последней сделки. Если цена последней сделки снижается от максимума на величину, превышающую установленный «отступ», то создается лимитированная заявка с ценой, меньшей цены последней сделки на величину «защитного спрэда». Величины «отступа» и «защитного спрэда» могут указываться как в значениях цены, так и в процентах. НАЗНАЧЕНИЕ: Закрытие позиции по инструменту с максимальной прибылью.
-------------------------------------------- Применительно к примеру: ------------------------------------- Рынок движется вверх. если цена сделки >=67000, то сервер начинает проверять условие отступа. Далее , если текущая цена ниже предыдущей на 50, то выставляется биржевая заявка по рыночной цене.
Можно ли в индикаторе получить "Общ.спрос", "Общ.предл"?, Можно ли в индикаторе получить "Общ.спрос", "Общ.предл"?
Пользователь
Сообщений: Регистрация: 30.01.2015
15.07.2016 20:15:31
Цитата
Александр Волфовиц написал: Николай Камынин , благодарю, это известно, просто индикатор планируется использовать с разными инструментами, неохота несколько экземпляров создавать. Я думал, м.б. есть что-то наподобие H L O C
УВЫ, HLOCV создает сервер квик. Больше он ничего не создает. Остальное все поступает с биржи либо срезами в ТТП,либо пакетами в ТВС.
Можно ли в индикаторе получить "Общ.спрос", "Общ.предл"?, Можно ли в индикаторе получить "Общ.спрос", "Общ.предл"?
Пользователь
Сообщений: Регистрация: 30.01.2015
15.07.2016 15:55:58
Цитата
Александр Волфовиц написал: Можно ли в индикаторе получить "Общ.спрос", "Общ.предл"?
getParamEx Функция предназначена для получения значений всех параметров биржевой информации из Таблицы текущих торгов. С помощью этой функции можно получить любое из значений Таблицы текущих торгов для заданных кодов класса и бумаги. Формат вызова: getParamEx (STRING class_code, STRING sec_code, STRING param_name)
Дмитрий написал: чувак добавь все поля, дата сделки, дата торгов, дата расчетов. и открой фильтр
Зачем я их буду добавлять, если они мне не нужны? А если фильтр работает только когда эти столбцы есть, то это попахивает ошибкой программы
фильтр фильтрует то, что есть в таблице, а не вообще в КВИКЕ или на бирже. Это фильтр для таблицы.
Как сохранить значение переменной (счетчик) чтобы при новой итерации программа обращалась к последнему сохраненному значению и считала от него счетчик далее.
Пользователь
Сообщений: Регистрация: 30.01.2015
15.07.2016 14:06:19
Цитата
Digit Service написал: Николай, пробовал.. при первом прогоне переменной COUNT присваивается значение 0.. и все.. В конце прогона программы хочу сохранить в переменную COUNT значение 1, но переменная не переназначается. При следующем запуске программы опять берется значение переменной 0. Как можно решить мою проблему?
глобальная переменная устанавливается в начальное значение при запуске и сохраняет значение в последующих циклах вычисления поэтому ее можно использовать в циклах расчета скрипта, но не в следующем запуске --------------------------------------------------. если хотите сохранять для следующего запуска, то пишите в файл и при запуске читайте.
Как сохранить значение переменной (счетчик) чтобы при новой итерации программа обращалась к последнему сохраненному значению и считала от него счетчик далее.
Полагаю, проблема в том, что getParamEx при каждом вызове ходит в хранилище текущих параметров, а это очень накладная операция. При медленном интернете, обновление ТТП будет медленнее и возможно getParamEx многократно читает одно и тоже значение из хранилища. О какой синхронности Вы говорите?
Не могу закрыть позицию
Пользователь
Сообщений: Регистрация: 30.01.2015
13.07.2016 18:53:43
это не фьючерсы. Поэтому Вы не закрываете позицию а покупаете акции которые будут Вам зачислены через два дня и в результате чего Вы вернете брокеру взятые у него акции. Таким образом Вы закрыли то, что хотели.
как отключить логи?
Пользователь
Сообщений: Регистрация: 30.01.2015
08.07.2016 20:23:27
потому , что в этом случае история ТТП не сохраняется в лог файле и на сервере истории ТТП тоже нет .
Тяжёлые мувинги на тиковом графике, Не строятся мувинги с большим периодом на тиковом графике
Ильдус Серезетдинов написал: Ранее я мог построить мувинг на своём стационарном компьютере с периодом 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
к тому же этой продвинутой аналитики для фондовых рынков не существует. Почитайте диссертации на эту тему, сразу станет ясно, что дело темное. --------------------------------------- Вся аналитика на российских рынках сводится к инсайдерской информации из ямы.