Какие ошибки возможны при выполнении этой функции кроме данных неверного типа?
Спасибо
Пасхалочка для Алексея Иванникова:
доступ к строкам таблицы изменений параметров, почему его нет?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.09.2015 10:46:28
Цитата
Will Will пишет: Так я не понял будет в клуа Таблица Изменений Параметров (ТИП)? если нет срочно оформляйте заяфку! и да можно как то чтоб ее не выводить на экран а клуа она была или делайте чтоб onparam работал на старые данные
Все есть. CreateDataSource()
Пасхалочка для Алексея Иванникова:
Графики с помощью Qlua, Графики с помощью Qlua
Пользователь
Сообщений: Регистрация: 30.01.2015
01.09.2015 11:19:07
Цитата
Optimus1 Optimus1 пишет: То что у вас реализовано, - это данные в момоенте, как я понял. Ну нужны свечные данные, чтобы можно было накапливать этот график, как обыный ценовой график.
Я понял вопрос.
Да, это возможно. Простого примера нет, потому что сделать на пальцах это нельзя.
Пасхалочка для Алексея Иванникова:
Графики с помощью Qlua, Графики с помощью Qlua
Пользователь
Сообщений: Регистрация: 30.01.2015
01.09.2015 11:01:52
Цитата
Optimus1 Optimus1 пишет: А есть ли какой нибудь легкий пример, как это реализовывается ?
Легкого нет. Потому что это и не есть очень легко.
Можно ли в Quik c помощью Lua или каким нибудь иным образом строить графики, но не стандартные, котоые уже предусмотрены, а кпримеру построить график цены второй лучшей цены в стакане ?
Да, можно.
Пасхалочка для Алексея Иванникова:
Окно с кнопками Да Нет
Пользователь
Сообщений: Регистрация: 30.01.2015
29.08.2015 01:12:16
Дмитрий вас обманул.
dofile не запускает новый скрипт. dofile вставляет в текущий скрипт текст из указанного файла. Таким образом можно, в частности, переопределить некоторые функции )))
Пасхалочка для Алексея Иванникова:
Окно с кнопками Да Нет
Пользователь
Сообщений: Регистрация: 30.01.2015
27.08.2015 15:19:04
Цитата
Viktor MMM пишет: понял. Спасибо, Михаил! Эх, перегрузить не могу, данные собираю. А перегрузить именно операционку или можно только квик? Извините за, может, глупый вопрос, вы ведь ответили..
Операционку
Пасхалочка для Алексея Иванникова:
Окно с кнопками Да Нет
Пользователь
Сообщений: Регистрация: 30.01.2015
27.08.2015 15:12:31
Цитата
Viktor MMM пишет: Какой то ахтунг) из примера вынул require "luacom" и переставил его выше майна. Проверял как работает. Выскочила ошибка. Вернул обратно, сохранил, переподключил скрипт, и не работает! Как так то? ошибка вот эта: ***\test2.lua:11: attempt to index global 'sh' (a nil value)
Все, что идет вне функции main(), выполняется в потоке терминала. Таким образом, если require luacom поставить до main, библиотека будет подтянута в потоке терминала. Дергаете вы ее в потоке скрипта и неминуем ахтунг. Ахтунг лечится исправлением скрипта (работа с luacom только в потоке скрипта) и перезагрузкой OS.
Пасхалочка для Алексея Иванникова:
Окно с кнопками Да Нет
Пользователь
Сообщений: Регистрация: 30.01.2015
27.08.2015 13:01:52
Нет там никаких проблем, Виктор, если подходить к написанию скриптов корректно. Берите вот версию библиотеки, кладите ее в папку квик.
В статье приведен минимальный код для pure-Lua. Для работы внутри терминала необходимо поместить тот код внутрь функции main() безо всяких циклов.
Инициализация библиотеки должна идти в потоке скрипта. Чтобы избежать проблем с остановкой скрипта по кнопке "остановить", нужно просто предусмотреть финализацию по сигналу onstop. Финализация должна работать в потоке скрипта.
Пасхалочка для Алексея Иванникова:
Окно с кнопками Да Нет
Пользователь
Сообщений: Регистрация: 30.01.2015
27.08.2015 12:07:43
Пасхалочка для Алексея Иванникова:
High и Low периода
Пользователь
Сообщений: Регистрация: 30.01.2015
26.08.2015 10:16:56
Цитата
Максим Федоров пишет: Здравствуйте. Можно ли средствами qlua сделать следующее - с минутного графика получить High и Low предыдущего часа? И отобразить это на графике.
можно. Читаете свечи справа налево, отфильтровываете те, что относятся к предыдущему часу, нассчитываете мин\макс и рисуете на минутном графике.
Пасхалочка для Алексея Иванникова:
Пожелание к функционалу окна "Доступные скрипты" (луа), для удобства отладки
Пользователь
Сообщений: Регистрация: 30.01.2015
25.08.2015 19:51:32
Цитата
Сергей пишет: 1. Стандартная процедура: Добавить (выбираешь скрипт в диалоговом окне) далее запустить/остановить и тд При отладке, когда вносишь изменения в файл со скриптом, приходится удалять скрипт из окна, а потом заново добавлять. и делается это много раз. Удобство отладки сильно возрастет если добавить кнопку "обновить", которая выгрузит старый вариант и загрузит новый, (имя файла и путь тот же будут)
2. просьба вывести в окошко с ошибками весь стек вызовов. что из какой части скрипта было вызвано. Тоже заметно упростит и ускорит отладку
Сергей, при смене исходного текста скрипта (при неизменности его имени и расположения) достаточно остановить старый скрипт и запустить его заново. Будет прочитан новый вариант скрипта с диска.
Стек вызовов замечательно выводится через assert и debug.traceback - вопрос лишь в правильности подхода к оформлению исходных текстов. Я , но ничто не мешает вам выбрать свой вариант.
Пасхалочка для Алексея Иванникова:
Тестирование долгосрочных стратегий на демосчете!?
Пользователь
Сообщений: Регистрация: 30.01.2015
24.08.2015 18:47:11
Цитата
lergen пишет: Тогда в чем смысл фразы: "Демо-версии рабочих мест — это пользовательские приложения, подключенные к с эмуляцией реальных торгов, происходящих в один из предшествующих дней , ....."
В произвольный, заранее нерегламентированный день. С усеченным объемом поставляемой информации.
Пасхалочка для Алексея Иванникова:
Тестирование долгосрочных стратегий на демосчете!?
Пользователь
Сообщений: Регистрация: 30.01.2015
24.08.2015 16:04:52
Цитата
lergen пишет: День добрый! В описании работы учебного сервера говорилось что за основу берется один из торговых дней реального сервера. На следующий день эта корреляция сохраняется или будет браться новый день реального сервера из другого временного периода. Т.е. сохраняется ли логика тренда от дня ко дню - будет ли иметь смысл тестирование долгосрочных позиционных стратегий?
Исходить надо из того, что котировки, стаканы и все остальное создается на основе генератора случайных чисел. Полагаться на каки бы то ни было закономерности не имеет смысла.
Пасхалочка для Алексея Иванникова:
Пустые значения индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
21.08.2015 20:02:00
Цитата
Николай Камынин пишет: возможно, при пустом время тоже пустое?
Нет.
Пасхалочка для Алексея Иванникова:
Пустые значения индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
21.08.2015 13:42:22
Добрый день.
Каким образом, получая значения индикатора посредством getcandlebyindex, отличить пустое значение индикатора от установленного и равного 0?
Спасибо.
Пасхалочка для Алексея Иванникова:
КАК? Читать из таблиц "Системные сообщения" и/или "Окно оповещений"?
Пользователь
Сообщений: Регистрация: 30.01.2015
20.08.2015 17:57:57
На текущий момент нельзя.
Пасхалочка для Алексея Иванникова:
Формат даты
Пользователь
Сообщений: Регистрация: 30.01.2015
19.08.2015 15:15:00
Цитата
Viktor MMM пишет: Добрый день! А как без ифов и прочего отформатировать число 1 в 01? Как задать формат отображения с кол-вом разрядов, что-ли.. например хочу 1 в трех разрядах, получаю - 001 в двух - 01 если число 12 то оно 12 и на выходе. Как то просто должно делаться.. Помогите, пожалуйста.
string.format("%02i",number)
Пасхалочка для Алексея Иванникова:
Цветовые обозначения входов-выходов, сделать разным цветом или обозначить другим заметным и отличным от других знаком
Пользователь
Сообщений: Регистрация: 30.01.2015
18.08.2015 22:30:03
Есть такая . Она не раскрашивает сделки цветами, а показывает на графике,среди прочего, себестоимость позиции и сделки.
Точки переворота и закрытия позиций прекрасно видно.
Пасхалочка для Алексея Иванникова:
Нужна помощь в написание простенького индикатора для Quick Вилы Эндрюса
Пользователь
Сообщений: Регистрация: 30.01.2015
14.08.2015 17:48:05
Цитата
Николай Камынин пишет: что такое инструмент? На фондовом рынке под этим понятием понимают акции, фьючерсы и опционы см для примера здесь:
------------------------------------- А инструментом вилы называются на сенокосе. ----------------------------------- Поэтому Вилы Эндрюса - это скорее индикатор. ------------------------------------- Если нужен индикатор - пишите на почту.
В терминах программ технического анализа инструмент - это средство для интерактивного рисования на графиках. Примеры инструментов: горизонтальная линия, канал, сетка фибоначчи, веер, всевозможные метки, надписи и т.п. То, что пользователь наносит на график вручную.
В отличие от инструмента рисования индикатор - это отображение рассчитываемой функции.
Вилы Эндрюса как раз инструмент, но никак не индикатор.
В других контекстах под словом инструмент может подразумеваться совершенно иное - от торгуемого актива до средства забивания гвоздей.
Пасхалочка для Алексея Иванникова:
Добавить график, Добавить график, Price, Новое окно.
Пользователь
Сообщений: Регистрация: 30.01.2015
14.08.2015 07:37:03
Пасхалочка для Алексея Иванникова:
Нужна помощь в написание простенького индикатора для Quick Вилы Эндрюса
Пользователь
Сообщений: Регистрация: 30.01.2015
14.08.2015 07:33:59
Цитата
Сергей Винокуров пишет: Нужна помощь в написании простого индикатора для Quick под названием Вилы Эндрюса
Это не будет "простеньким" индикатором. Да и вообще это вроде как инструмент, а не индикатор...Пишите на почту.
Пасхалочка для Алексея Иванникова:
Есть ли какое приложение для экспорта в эксель необходимых значений любого индикатора технического анализа из графика?, Хочу экспортировать уже готовые значения индикатора та в эксель через ДДЕ, также как из таблицы котировок экспортирую данные.
Пользователь
Сообщений: Регистрация: 30.01.2015
14.08.2015 07:30:43
По второму вопросу:
Пасхалочка для Алексея Иванникова:
Дата снятия стоп-заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
13.08.2015 15:40:05
Цитата
Дмитрий пишет: В таблице stop_orders есть только поле withdraw_time NUMBER Время снятия заявки
А где дата снятия заявки ? Или под датой всегда подразумевается текущая дата ? А под текущей датой подразумевается текущее время на сервере QUIK ?
Дата снятия заявки есть текущая торговая дата. Снятая условная заявка живет только в течение текущей торговой сессии.
Пасхалочка для Алексея Иванникова:
Создание портфеля, работающего с любым выбранном в QUIK инструментом
Пользователь
Сообщений: Регистрация: 30.01.2015
12.08.2015 19:03:57
1. Нет 2. Запросто. Вместо глобальных переменных используйте локальные структуры. Для каждого инструмента- своя структура. На каждой итерации скрипта QPILE обрабатывайте по очереди все нужные вам инструменты, используя соответствующую структуру.
Пасхалочка для Алексея Иванникова:
Процентное изменение
Пользователь
Сообщений: Регистрация: 30.01.2015
12.08.2015 12:56:49
Цитата
Старатель пишет: Как сделать, чтобы на одной оси графика отображалась абсолютная цена, а на другой - процентное изменение?
Наложить на цену индикатор процентного изменения цены и привязать его к другой оси.
Пасхалочка для Алексея Иванникова:
Окно оповещений
Пользователь
Сообщений: Регистрация: 30.01.2015
07.08.2015 11:07:03
Попробуйте . Он посложнее в использовании, чем встроенные средства, но имеет значительно больше возможностей.
Пасхалочка для Алексея Иванникова:
Запуск скрипта
Пользователь
Сообщений: Регистрация: 30.01.2015
04.08.2015 01:51:11
Нормальными споcобами нет, низзя...
Пасхалочка для Алексея Иванникова:
График нескольких акций
Пользователь
Сообщений: Регистрация: 30.01.2015
28.07.2015 12:09:59
Цитата
Andrey Nekto пишет: Здравствуйте, увы в сбербанке боюсь это не возможно, иначе бы этот модуль был в дистрибутиве. Фактически мне это надо только как некий индикатор, может есть уже что-то подобное без ввода заявок?
Андрей, у меня есть что-то такое. Если не найдете других вариантов - напишите мне через недельку - я вернусь в Москву.
Пасхалочка для Алексея Иванникова:
Сдвиг индикатора программно, Можно ли сдвигать индикатор программно?
Пользователь
Сообщений: Регистрация: 30.01.2015
23.07.2015 01:22:35
Нарисовать линию индикатора правее текущей (самой правой) свечи цены инструмента в квике невозможно.
Пасхалочка для Алексея Иванникова:
Сдвиг индикатора программно, Можно ли сдвигать индикатор программно?
Пользователь
Сообщений: Регистрация: 30.01.2015
22.07.2015 23:00:14
функцию setvalue
Пасхалочка для Алексея Иванникова:
Сдвиг индикатора программно, Можно ли сдвигать индикатор программно?
Пользователь
Сообщений: Регистрация: 30.01.2015
22.07.2015 22:59:54
Цитата
vazgaz21 пишет: Т.е. последний индекс будет от последней свечи, а если нам нужно сдвинуть индикатор на 10 интервалов вперед, например, то этих индексов мы не получим.
Механизм такой
В тексте скрипта заводите глобальную таблицу. Индексы - номера свечей, значения - рассчитанные значения индикатора. Назовем эту таблицу как memory
В oncalculate рассчитываете значение для текущей свечи и сохраняете в memory под сообтветствующим номером
Чтобы сдвинуть индикатор на n свечей вправо, возвращаете memory[i-n]? где i - номер текущей свечи
Для сдвига влево (назад) нужно использовать функцию ыуемфдгу а для текущей свечи возвращать nil
Пасхалочка для Алексея Иванникова:
Сдвиг индикатора программно, Можно ли сдвигать индикатор программно?
Как программно можно сдвигать индикатор на интервал, также как при ручном сдвиге в параметрах -
Если не ошибаюсь, в стандартном индикаторе Alligator как раз есть такая функциональность.
Можно. Обычным изменением всех значений индикатора, рассчитываемых в скрипте индикатора.
То есть: если вы хотете сдвинуть индикатор на 1 свечу ВПРАВО, то для i-той свечи вы должны установить значение, которое без сдвига вы бы установили в позицию i-1
Пасхалочка для Алексея Иванникова:
Торговля опционами и фьючерсами, Отображение в портфеле средней цены позиции
Пользователь
Сообщений: Регистрация: 30.01.2015
16.07.2015 19:43:42
Посмотрите , возможно, поможет.
Пасхалочка для Алексея Иванникова:
Как добавить новый индикатор?, Как добавить новый индикатор в QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
15.07.2015 14:55:28
Цитата
Алексей Шишикин пишет: Нужно добавить новый индикатор в QUIK,что делать,есть кто может в этом помочь?
Вам либо придется самому разобраться в способах написания индикаторов на языке lua либо обратиться к кому-то за помощью. Поиск в сети даст вам довольно много ссылок на программистов разной степени пригодности, выбирайте.
s_mike@rambler.ru пишет: Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.
С этим разобрался.
Теперь подскажите, пожалуйста, как получать год, месяц, число, час, минута, OHLC для свечи? Пытался по справке разобраться, по разделу "Функции для доступа к источнику данных" и "Функции O, H, L, C, V, T", но там всё очень сумбурно - не понял.
разбирайте возврат функции T(). Это таблица, описывающая время
Пасхалочка для Алексея Иванникова:
Скрипт, сохраняющий историю., Я пока учусь :)
Пользователь
Сообщений: Регистрация: 30.01.2015
13.07.2015 17:17:29
Вы можете то же самое сделать на lua
Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.
Вот вам готовый скрипт, сохраняющий данные без открытия графиков:
Пасхалочка для Алексея Иванникова:
Подскажите, как использовать getNumCandles()?, Я пока учусь :)
Пользователь
Сообщений: Регистрация: 30.01.2015
13.07.2015 13:54:45
Параметр для getnumcanles() - это не название окна, а идентификатор графика
Пасхалочка для Алексея Иванникова:
Точность чисел с плавающей точкой.
Пользователь
Сообщений: Регистрация: 30.01.2015
12.07.2015 15:38:42
Точность значения типа number в lua намного превышает. Разрядность цен любых инструментов. Волноваться тут не стоит.
Для хранения ohlc вполне достаточно типа float. Но вычисления все же лучше делать в double
Пасхалочка для Алексея Иванникова:
Почему не переносится «Со связанной заявкой»?
Пользователь
Сообщений: Регистрация: 30.01.2015
11.07.2015 00:58:48
Связанная заявка снимается - и условная вслед за ней тоже.
Пасхалочка для Алексея Иванникова:
Как отобразить линию открытой позиции?, пункт 4.2.5 инструкции
Пользователь
Сообщений: Регистрация: 30.01.2015
10.07.2015 07:59:40
Какой-то типа
Пасхалочка для Алексея Иванникова:
Количество торгуемых инструментов роботом
Пользователь
Сообщений: Регистрация: 30.01.2015
07.07.2015 11:56:11
Решил проверить.
Создаем функцию с 10000 локальными переменными
Код
define(`m4_forloop', `pushdef(`$1',`$2')indir(`m4$forloop',`$1',`$2',`$3',`$4')popdef(`$1')')
define(`m4$forloop', `$4`'ifelse($1,`$3', ,`define(`$1',incr($1))indir(`m4$forloop',`$1',`$2',`$3',`$4')')')
function main()
m4_forloop(`i',0,10000,`local a`'i = i;')
end
main()
Компилируем и запускаем:
Код
function at line 5 has more than 200 local variables
И действительно, лимит имеется.
Пасхалочка для Алексея Иванникова:
Количество торгуемых инструментов роботом
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 20:49:53
Цитата
Николай Камынин пишет: Михаил, Вы заблуждаетесь. Есть ограничение на чиcло локальных переменных Я уже писал об этом на форуме, а читал в документации ссылку дать не могу, так как не фиксировал. Более того, это ограничение я уже наблюдал в скриптах индикаторах. Пришлось повозиться, пока дошло что это оно самое.
Я буду рад информации.
Пасхалочка для Алексея Иванникова:
Количество торгуемых инструментов роботом
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 20:40:07
Цитата
Николай Камынин пишет: Есть ограничение на количество переменных в скрипте робота.
В Lua такого ограничения нет.
Пасхалочка для Алексея Иванникова:
Индикатор Zig-zag
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 16:47:25
Спортировал из ToS:
Если что-то где-то забыл, покажите пальчиком, пожалуйста.
s_mike@rambler.ru пишет: Это можно. Доступ через getCandleEx.
Не нашел такой функции в описании языка. Может, Вы имели в виду getCandlesByIndex ? Но из скрипта на QLua встроенный (то есть тот, что уже включен в терминал, а не написан на QLua) индикатор все равно нельзя построить, так же как нельзя внутри скрипта передать ему для построения исходные данные.
А вообще я не имел в виду в данном случае программирование, а писал о возможностях пользовательского интерфейса.
Да, конечно. getCandlesByIndex
Из скрипта или индикатора, написанного на qlua невозможно инициировать добавление на график другого индикатора. И крайне сомнительно, что это когда-либо будет реализовано.
Поэтому или добавлять все эти требуемые индикаторы вручную заранее, или реализовывать логику этих вспомогательных индикаторов самому на lua внутри своего индикатора. Если посмотреть на встроенные в квик индикаторы - то ничего сложного ни в одном из них нет.
Пасхалочка для Алексея Иванникова:
Возможность строить индикаторы по индикаторам
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 11:55:52
Цитата
Дмитрий пишет: Было бы очень хорошо, если бы в качестве источника данных для индикатора можно было выбрать также значения другого, ранее построенного индикатора, то есть строить индикаторы на основе графиков других индикаторов.
Это можно. Доступ через getCandleEx.
Однако в силу технологических особенностей терминала построение индикаторов на основании других индикаторов сопряжено с весьма неочевидными эффектами, которые обычно проявляются не сразу.
Пасхалочка для Алексея Иванникова:
Индикатор Zig-zag
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 10:52:48
Цитата
Дмитрий пишет: Если есть возможность до реализации данного пожелания сделать этот индикатор на языке QLua - то буду признателен за размещение его текста здесь.
Если Ваша признательность не только виртуальна - я вам дам этот индикатор.
Пасхалочка для Алексея Иванникова:
Код класса (фьючерсы).
Пользователь
Сообщений: Регистрация: 30.01.2015
05.07.2015 15:05:50
Цитата
Николай Иваноы пишет: Здравствуйте, есть коды фьючерсов на индекс РТС и сбербанк: RIU5, SRU5. Подскажите пожалуйста, как узнать коды классов по данным фьючерсам?
Нашел таблицу с классами, но там не совсем понятно.
Спасибо.
1. GetClasssesList 2. Для каждого из доступных классов делаете getClassSecurities 3. Проверяете, есть ли в полученном списке RIU5