Will Will пишет: Так я не понял будет в клуа Таблица Изменений Параметров (ТИП)? если нет срочно оформляйте заяфку! и да можно как то чтоб ее не выводить на экран а клуа она была или делайте чтоб onparam работал на старые данные
Optimus1 Optimus1 пишет: То что у вас реализовано, - это данные в момоенте, как я понял. Ну нужны свечные данные, чтобы можно было накапливать этот график, как обыный ценовой график.
Я понял вопрос.
Да, это возможно. Простого примера нет, потому что сделать на пальцах это нельзя.
Можно ли в Quik c помощью Lua или каким нибудь иным образом строить графики, но не стандартные, котоые уже предусмотрены, а кпримеру построить график цены второй лучшей цены в стакане ?
dofile не запускает новый скрипт. dofile вставляет в текущий скрипт текст из указанного файла. Таким образом можно, в частности, переопределить некоторые функции )))
Viktor MMM пишет: понял. Спасибо, Михаил! Эх, перегрузить не могу, данные собираю. А перегрузить именно операционку или можно только квик? Извините за, может, глупый вопрос, вы ведь ответили..
Viktor MMM пишет: Какой то ахтунг) из примера вынул require "luacom" и переставил его выше майна. Проверял как работает. Выскочила ошибка. Вернул обратно, сохранил, переподключил скрипт, и не работает! Как так то? ошибка вот эта: ***\test2.lua:11: attempt to index global 'sh' (a nil value)
Все, что идет вне функции main(), выполняется в потоке терминала. Таким образом, если require luacom поставить до main, библиотека будет подтянута в потоке терминала. Дергаете вы ее в потоке скрипта и неминуем ахтунг. Ахтунг лечится исправлением скрипта (работа с luacom только в потоке скрипта) и перезагрузкой OS.
Нет там никаких проблем, Виктор, если подходить к написанию скриптов корректно. Берите вот эту версию библиотеки, кладите ее в папку квик.
В статье приведен минимальный код для pure-Lua. Для работы внутри терминала необходимо поместить тот код внутрь функции main() безо всяких циклов.
Инициализация библиотеки должна идти в потоке скрипта. Чтобы избежать проблем с остановкой скрипта по кнопке "остановить", нужно просто предусмотреть финализацию по сигналу onstop. Финализация должна работать в потоке скрипта.
Максим Федоров пишет: Здравствуйте. Можно ли средствами qlua сделать следующее - с минутного графика получить High и Low предыдущего часа? И отобразить это на графике.
можно. Читаете свечи справа налево, отфильтровываете те, что относятся к предыдущему часу, нассчитываете мин\макс и рисуете на минутном графике.
Сергей пишет: 1. Стандартная процедура: Добавить (выбираешь скрипт в диалоговом окне) далее запустить/остановить и тд При отладке, когда вносишь изменения в файл со скриптом, приходится удалять скрипт из окна, а потом заново добавлять. и делается это много раз. Удобство отладки сильно возрастет если добавить кнопку "обновить", которая выгрузит старый вариант и загрузит новый, (имя файла и путь тот же будут)
2. просьба вывести в окошко с ошибками весь стек вызовов. что из какой части скрипта было вызвано. Тоже заметно упростит и ускорит отладку
Сергей, при смене исходного текста скрипта (при неизменности его имени и расположения) достаточно остановить старый скрипт и запустить его заново. Будет прочитан новый вариант скрипта с диска.
Стек вызовов замечательно выводится через assert и debug.traceback - вопрос лишь в правильности подхода к оформлению исходных текстов. Я использую препроцессор, но ничто не мешает вам выбрать свой вариант.
lergen пишет: Тогда в чем смысл фразы: "Демо-версии рабочих мест — это пользовательские приложения, подключенные к учебному торговому серверу с эмуляцией реальных торгов, происходящих в один из предшествующих дней , ....."
В произвольный, заранее нерегламентированный день. С усеченным объемом поставляемой информации.
lergen пишет: День добрый! В описании работы учебного сервера говорилось что за основу берется один из торговых дней реального сервера. На следующий день эта корреляция сохраняется или будет браться новый день реального сервера из другого временного периода. Т.е. сохраняется ли логика тренда от дня ко дню - будет ли иметь смысл тестирование долгосрочных позиционных стратегий?
Исходить надо из того, что котировки, стаканы и все остальное создается на основе генератора случайных чисел. Полагаться на каки бы то ни было закономерности не имеет смысла.
Viktor MMM пишет: Добрый день! А как без ифов и прочего отформатировать число 1 в 01? Как задать формат отображения с кол-вом разрядов, что-ли.. например хочу 1 в трех разрядах, получаю - 001 в двух - 01 если число 12 то оно 12 и на выходе. Как то просто должно делаться.. Помогите, пожалуйста.
Николай Камынин пишет: что такое инструмент? На фондовом рынке под этим понятием понимают акции, фьючерсы и опционы см для примера здесь: http://moex.com/ru/derivatives/contracts.aspx?p=act ------------------------------------- А инструментом вилы называются на сенокосе. ----------------------------------- Поэтому Вилы Эндрюса - это скорее индикатор. ------------------------------------- Если нужен индикатор - пишите на почту.
В терминах программ технического анализа инструмент - это средство для интерактивного рисования на графиках. Примеры инструментов: горизонтальная линия, канал, сетка фибоначчи, веер, всевозможные метки, надписи и т.п. То, что пользователь наносит на график вручную.
В отличие от инструмента рисования индикатор - это отображение рассчитываемой функции.
Вилы Эндрюса как раз инструмент, но никак не индикатор.
В других контекстах под словом инструмент может подразумеваться совершенно иное - от торгуемого актива до средства забивания гвоздей.
Есть ли какое приложение для экспорта в эксель необходимых значений любого индикатора технического анализа из графика?, Хочу экспортировать уже готовые значения индикатора та в эксель через ДДЕ, также как из таблицы котировок экспортирую данные.
1. Нет 2. Запросто. Вместо глобальных переменных используйте локальные структуры. Для каждого инструмента- своя структура. На каждой итерации скрипта QPILE обрабатывайте по очереди все нужные вам инструменты, используя соответствующую структуру.
Andrey Nekto пишет: Здравствуйте, увы в сбербанке боюсь это не возможно, иначе бы этот модуль был в дистрибутиве. Фактически мне это надо только как некий индикатор, может есть уже что-то подобное без ввода заявок?
Андрей, у меня есть что-то такое. Если не найдете других вариантов - напишите мне через недельку - я вернусь в Москву.
vazgaz21 пишет: Т.е. последний индекс будет от последней свечи, а если нам нужно сдвинуть индикатор на 10 интервалов вперед, например, то этих индексов мы не получим.
Механизм такой
В тексте скрипта заводите глобальную таблицу. Индексы - номера свечей, значения - рассчитанные значения индикатора. Назовем эту таблицу как memory
В oncalculate рассчитываете значение для текущей свечи и сохраняете в memory под сообтветствующим номером
Чтобы сдвинуть индикатор на n свечей вправо, возвращаете memory[i-n]? где i - номер текущей свечи
Для сдвига влево (назад) нужно использовать функцию ыуемфдгу а для текущей свечи возвращать nil
Как программно можно сдвигать индикатор на интервал, также как при ручном сдвиге в параметрах -
Если не ошибаюсь, в стандартном индикаторе Alligator как раз есть такая функциональность.
Можно. Обычным изменением всех значений индикатора, рассчитываемых в скрипте индикатора.
То есть: если вы хотете сдвинуть индикатор на 1 свечу ВПРАВО, то для i-той свечи вы должны установить значение, которое без сдвига вы бы установили в позицию i-1
Алексей Шишикин пишет: Нужно добавить новый индикатор в QUIK,что делать,есть кто может в этом помочь?
Вам либо придется самому разобраться в способах написания индикаторов на языке lua либо обратиться к кому-то за помощью. Поиск в сети даст вам довольно много ссылок на программистов разной степени пригодности, выбирайте.
s_mike@rambler.ru пишет: Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.
С этим разобрался.
Теперь подскажите, пожалуйста, как получать год, месяц, число, час, минута, OHLC для свечи? Пытался по справке разобраться, по разделу "Функции для доступа к источнику данных" и "Функции O, H, L, C, V, T", но там всё очень сумбурно - не понял.
разбирайте возврат функции T(). Это таблица, описывающая время
Николай Камынин пишет: Михаил, Вы заблуждаетесь. Есть ограничение на чиcло локальных переменных Я уже писал об этом на форуме, а читал в документации ссылку дать не могу, так как не фиксировал. Более того, это ограничение я уже наблюдал в скриптах индикаторах. Пришлось повозиться, пока дошло что это оно самое.
s_mike@rambler.ru пишет: Это можно. Доступ через getCandleEx.
Не нашел такой функции в описании языка. Может, Вы имели в виду getCandlesByIndex ? Но из скрипта на QLua встроенный (то есть тот, что уже включен в терминал, а не написан на QLua) индикатор все равно нельзя построить, так же как нельзя внутри скрипта передать ему для построения исходные данные.
А вообще я не имел в виду в данном случае программирование, а писал о возможностях пользовательского интерфейса.
Да, конечно. getCandlesByIndex
Из скрипта или индикатора, написанного на qlua невозможно инициировать добавление на график другого индикатора. И крайне сомнительно, что это когда-либо будет реализовано.
Поэтому или добавлять все эти требуемые индикаторы вручную заранее, или реализовывать логику этих вспомогательных индикаторов самому на lua внутри своего индикатора. Если посмотреть на встроенные в квик индикаторы - то ничего сложного ни в одном из них нет.
Дмитрий пишет: Было бы очень хорошо, если бы в качестве источника данных для индикатора можно было выбрать также значения другого, ранее построенного индикатора, то есть строить индикаторы на основе графиков других индикаторов.
Это можно. Доступ через getCandleEx.
Однако в силу технологических особенностей терминала построение индикаторов на основании других индикаторов сопряжено с весьма неочевидными эффектами, которые обычно проявляются не сразу.
Дмитрий пишет: Если есть возможность до реализации данного пожелания сделать этот индикатор на языке QLua - то буду признателен за размещение его текста здесь.
Если Ваша признательность не только виртуальна - я вам дам этот индикатор.
Николай Иваноы пишет: Здравствуйте, есть коды фьючерсов на индекс РТС и сбербанк: RIU5, SRU5. Подскажите пожалуйста, как узнать коды классов по данным фьючерсам?
Нашел таблицу с классами, но там не совсем понятно.
Спасибо.
1. GetClasssesList 2. Для каждого из доступных классов делаете getClassSecurities 3. Проверяете, есть ли в полученном списке RIU5