Alexander Kopyatkevich написал: Здравствуйте! Уточните, пожалуйста, в самой таблице обезличенных сделок данные по этому параметру есть? Так же, так как язык QPile регистрозависимый, попробуйте задать параметр большими буквами (то есть, должно быть OPEN_INTEREST).
Данные в самой таблице обезличенных сделок данные по этому параметру есть. Пробовал и так: GET_VALUE (GET_ITEM ("ALL_TRADES", i), "OPEN_INTEREST") Другие параметры выводятся.
Спасибо, да, но там позиция, точнее объём в валюте депозита. Конечно, можно пересчитать поделив на стоимость лота. Получается, что на валютной секции лоты не транслируются.
Приветствую! Уважаемые разработчики, не могли бы вы немного улучшить поиск. Думаю, моя идея будет интересна и не сложна в реализации. Например, мне нужно найти опцион "SR021500BD8". Я могу найти "sr0215", увижу все опционы всех серий . Чтобы более точно указать запрос, нужно ввести полностью код опциона. Но если введу "sr0215 D8", я могу увидеть только опционы этой серии. Т.е. пробел может служить разделителем частей запроса, ну, и само самой быть пробелом. На практике знаю, что штука удобная.
Мерцание заголовков таблицы QPILE и её содержимого после повторной локальной загрузки любого скрипта в версии QUIK 7.16. При этом, добавляется первая пустая строка. Возможно возникало и в предыдущих версиях. Решается удалением и созданием новой таблицы. Просьба поправить в последующих версиях.
Здравствуйте! А моё пожелание уже не меняется уже более 10 лет. Возможность привязки метки к координатам окна диаграммы. Это позволит фиксировать надписи, например, к левому верхнему краю.
Индикатор Арбитраж PRO для QUIK Версия 20170328 20170328 – Добавлено: возможность указания даты экспирации патерном expДД.ММ.ГГГГ.
21.04.2017
Утилита для QUIK "Робот Скальпер" Версия 20170421 - Добавлена возможность расчёта отступов, стоп-лосс и тейк-профит на основе индикатора АТР (Average True Range).
22.05.2017
Утилита для QUIK "Робот Сетка Д" Версия 20170522 - Исправлен учёт количества прибыльных позиций подряд. В прежних версиях, если происходил переход на другой уровень, счётчик количества прибыльных позиций подряд сбрасывался на ноль. Было это сделано намерено, но теперь было решено отказаться от этой версии.
02.06.2017
Утилита для QUIK "Робот Сетка Д" Версия 20170602 - Возможность автоматического определения кода бумаги. Например, если указать "?", то код бумаги будет опеределён из легенды (названия) индикатора. Работает только для FORTS. Позволяет быстро переключать торговый инструмент, меняя график при помощи привязки к таблице Текущие торги (Таблица Текущих Параметров).
20170715 - Возможность совершения в получателях дополнительных сделок, т.е. свои сделки. 20170715 - Возможность дублирования из нескольких QUIK в один. 20170731 - Возможность работы через Интернет. 20170816 - Возможность отключения полной синхронизации.
24.11.2017
Утилита для QUIK "Робот Скальпер" Версия 20171123 - Добавлена возможность "Режим Ассистента". Робот подхватывает выставленную трейдером заявку для входа и далее работает в обычном алгоритме. Версия 20171124 - Добавлена возможность "Режим Последовательного входа в позиции". Например, если "Последовательный вход в позиции" = "Да", робот сначала будет выставлять только первую заявку для входа из списка. Когда произойдёт вход в первую позицию в полном объёме, будет выставляться заявка входа второй позиции и т.д. Если применяются ТП и СЛ, они будут выставляться сразу, после входа в позицию.
13.03.2018
Утилита для QUIK "Робот Скальпер" Версия 20180310 - Добавлена возможность "Граница волатильности". Можно определять в каком состоянии рынка (трендовом или контртрендовом) робот будет торговать. Уровень волатильности определяется индикатором АТР. Например, если значение АТР выше указанного уровня, то состояние рынка будет определено, как "трендовое". Если мы выбрали торговлю только в контртрендовом состоянии рынка, то открытые позиции будут ожидать закрытия по стоп-лосс или тейк-профит, но новые позиции открываться не будут. Версия 20180311 - Добавлена возможность указания стоп-лосс на основе значения индикатора. Например, если укажем в настройках стоп-лосс "!стоп", то нужно создать индикатор с идентификатором "стоп". Значение для стоп-лосс будут приходить из этого индикатора в неизменённом виде.
Задача простая. Есть переменная типа string str = "1+(2*3)". Нужно из неё получить результат 7. Есть два способа. Первый - пишем парсерную функцию eval. Хорошая функция, учитывающая скобки, приоритет операций и т.д. занимает около 1000 строк. Второй - просто и изящно передаём строку в назначение переменной, например res = 1+(2*3), будет равен 7.
Код
function calculateString(str) {
return (new Function('return ' + str))();
}
Это пример для JavaScript. Где-то видел аналогичный для LUA, но не могу найти. Помогите с решением задачки.
Утилита для QUIK "Дубликатор сделок QUIK-QUIK" http://pmntrade.ru/double_trades_quik-quik.html Последние обновления: 20170715 - Возможность совершения в получателях дополнительных сделок, т.е. скрипт получателя видит только свои сделки. 20170715 - Возможность дублирования из нескольких QUIK в один. 20170731 - Возможность дублирования сделок через Интернет.
Приветствую! Появилась ошибка "Неверный код клиента" при вызове транзакции перестановки заявки FORTS. При этом, заявка выставляется и снимается без проблем с аналогичным массивом. Проблема возникла у брокера Открытие, при использовании Единого брокерского счёта и субсчетов. В других вариантах у этого же брокера ошибка не наблюдается.
Всё же, решить проблему не удалось. Проблема именно в том, что пересчёт индикатора задним числом удалось сделать только на новом тике. Если пересчитывать ранее, например, на последнем баре, получаем всё те же нули с верхнего графика.
s_mike@rambler.ru, спасибо за хорошую мысль. Действительно, перерисовать индикатор можно только таким способом, прогнав весь массив тайм-серии сначала. А событием для этого сделаю ненулевую цену графика. Попробую. Но, всё равно, "телега бежит впереди лошади". Может уважаемые разработчики хоть, как пожелание зарегистрируют запуск расчёта индикаторов после получения данных всех графиков на диаграмме.
Sergey Gorokhov написал: Михаил Понамаренко , Все равно не воспроизводится. быть может у Вас индикатор все-таки создан из окна с верхним графиком? Попробуйте повторить на разных инструментах.
Для чистоты эксперимента, установил QUIK 7.10 с Вашего сайта. Ничего не менял в настройках, только скопировал тестовый индикатор и добавил окно второго инструмента. Инструменты другие. Но картина такая же. (
Николай Камынин, индикатор в QUIK прорисовывается раньше, чем приходят данные графика. А перерисовать индикатор не представляется возможным любыми способами, в т.ч. во внешней библиотеке. Или я не прав?
Sergey Gorokhov, проблема выявляется, когда на диаграмме несколько графиков. Ниже упрощённый код:
Код
Settings =
{
Name = "!Тест" -- Название индикатора
}
function Init()
return 1
end
function OnCalculate(index) -- Первая (самая левая) свечка имеет индекс 1
tChartA, NumA, LegendA = getCandlesByIndex("A", 0, index - 1, 1) -- информация о свечках по идентификатору
return tChartA[0].close -- вывод результата на график
end
Нужно создать диаграмму с двумя графиками. На нижний график добавляем идентификатор "A". Загружаем индикатор на первый график, получаем дублирование Close:
Пытаемся переключить таймфрейм, получаем нули:
Предположим, что индикатор загружен на верхний график SRM7, а второй график не может быть прочитан, т.к. графики загружаются последовательно. Загружаем индикатор на нижний график. Переключаем таймфреймы, данные выводятся:
Вроде бы все проблемы решены, но нет. Теперь при перезаказе данных на этом индикаторе недоступен верхний график. Устанавливаем идентификатор на верхний график, перезаказываем данные Заказ данных - Перезакать данные...:
Чтобы решить проблему, считаю, нужно производить расчёт индикаторов после получения данных по всем графикам на диаграмме.
Здравствуйте! Имеется индикатор, использующий данные графика "А" через функцию getCandlesByIndex(). Каждое утро на сервере происходит перезаказ данных. (Можно эмулировать: Заказ данных - Перезакать данные...) График "А" ещё не получен от сервера, а индикатор уже производит расчёт. Т.к. данных графика "А" нет, индикатор не может быть рассчитан.
Решается входом в "Редактирование настроек графика" и нажатием "Применить" или "Ок". В этом случае, происходит перезапуск OnCalculate() и индикатор перерисовывается.
Как сделать перезапуск OnCalculate() или есть другое решение?
Здравствуйте! В QUIK версий 7 и выше индикаторы (функция OnCalculate) рассчитываются по 2 раза при первой загрузке и при изменении параметров. Причём, при изменении параметров рассчитываются по 2 раза ВСЕ ИНДИКАТОРЫ НА ВСЕХ ДИАГРАММАХ ОКНА (это сильно тормозит систему). При переключении таймфрейма, индикаторы рассчитываются 1 раз, как должно быть. Пожелание по исправлению проблемы зарегистрировано многократно. Может есть какой-то способ обойти лишний вызов в коде индикатора? Спасибо!
Да, можно по ID или мониторить исполнение стоп-заявки. Если можно, как пожелание с невысоким приоритетом, добавить в Таблицу Заявок информацию о переносе заявок. На данный момент, я просматриваю через глупый метод "Заменить заявку".
Здравствуйте! Стоп-заявка исполняется, выставляется заявка без переноса. Как сделать заявку с переносом? Можно ли как-то в таблице заявок определить переносится ли заявка? Спасибо!
Хотел раскрасить метку из Settings.line[1]["Color"]. Но функции, как получить RGB из числа не нашёл. Нужна такая функция или другое решение. Заранее спасибо!
Ещё: • отсутствует возможность сохранения ширины столбцов Не помешала бы функция GetColumnSize(column). Всё же, реализация в QPILE с сохранением параметров таблиц в .wnd файлы была наиболее удобна.