Settings =
{
Name = "имя индикатора" ,
MY_LOVE_PARAMETER = 300,
line = { .. ..
}
}
function OnCalculate(indx)
if indx < Size () - Settings.MY_LOVE_PARAMETER then return end
do_calc(indx)
end
Здравствуйте, К сожалению, Вы не уточнили речь про индикаторы или про обычные lua скрипты. Если речь про индикаторы, то в таблице Settings можно добавлять свои собственные параметры. Если речь про обычные скрипты, то есть несколько вариантов: 1) сделать для скрипта ini файл с настройками. 2) сделать через скрипт таблицу в терминале, и установить на таблицу колбек SetTableNotificationCallback в колбеке ловить все изменения которые происходят в таблице. таким образом можно реализовать отдельную таблицу в которой будут нужные настройки.
Внимание всем. У нас нет никаких сомнений что имеется какая-то проблема. Однако только посты вида "проблема не только у меня" и "Подтверждаю" НЕ помогут найти причину проблемы, а на оборот только затянут поиск. Если Вы действительно хотите помочь, просто укажите следующую информацию: Точную версию терминала на которой наблюдалась проблема. Дату/время транзакции Ваш UID и кто брокер. Это всё что требуется.
Заранее спасибо за понимание.
Suntor, Просьба уточнить время транзакции Ваш UID и кто брокер.
Алексей, Сообщите версию терминала QUIK на котором повторяется проблема. Были ли какие-то особенные события которые происходили 22го числа? Возможно что 22го была более старая версия терминала чем сейчас?
Так исторически сложилось и к сожалению изменить что либо в этом месте никак не получится.
Цитата
Suntor написал: Но всё же, могу ли я в Lua послать KILL_ALL_ORDERS c полем COMMENT, чтобы снять группу заявок предварительно отправленных с тем же полем COMMENT?
Ответ уже был дан
Цитата
Sergey Gorokhov написал: через Lua нельзя использовать групповое снятие заявок
Андрей написал: Спасибо, если строить график,а данные возьмутся из этой таблицы или будут снова скачиваться и оновляться с сервера?
Уже полученные графики повторно не скачиваются.
Цитата
Андрей написал: я пробовал, но почему то данные не берутся, окно вообще не активное, может нужны какие то настройки
Вы не умеете строить графики в QUIK? В окне на скриншоте нужно найти инструмент по которому хотите построить график, для этого надо нажать на желтый плюсик слева от названия класса.
Андрей, Для работы с графиком заказанным через CreateDataSource нужно использовать функции O, H, L, C, V, T См. описание в документации QLUA.chm -Функции взаимодействия скрипта Lua и Рабочего места QUIK --Функции для работы с графиками ---Функции O, H, L, C, V, T
Ростислав Дм. Кудряшов написал: Может ли администрация Quik предложить хранилище для загрузки и скачивания алгоритмов QLua с систематическим каталогом и поисковиком?
К сожалению нет.
Цитата
Ростислав Дм. Кудряшов написал: Также непонятно, как использовать ftp.quik.ru/public без систематического каталога. Например, как найти в нём индикатор Зигзаг?
Его там нет, собственно его и не должно там быть.
Цитата
Ростислав Дм. Кудряшов написал: А если нет, то как разместить мой код так, чтобы другие не мучались вопросом, где его найти, а выбирали через поисковик каталога?
Только через форум. Для Lua кода используйте тег CODE
Suntor, Если у брокера будет старый сервер и Вы попытаетесь подключиться новым терминалом, то терминал не подключится с ошибкой вида "неверная версия протокола". так что если будете самостоятельно обновлять терминал, сделайте на всякий случай резервную копию папки с терминалом. Но правильней всего, попросить брокера выложить обновление.
Андрей, Большинство параметров описаны в документации на терминал QUIK -Раздел 8. Алгоритмический язык QPILE --Функции для получения значений Таблицы текущих торгов ---Значения параметров функций
Кроме того существует возможность узнать имя любого параметра из таблицы текущих торгов. Достаточно вывести таблицу в Excel по DDE с установленной галкой "Формальные заголовки"
Suntor, Нужно обновить терминал QUIK Категорически не рекомендуем использовать разные версии документации и терминала. Т.к. обновление документации совершенно не гарантирует появление нового функционала.
Андрей, Кроме таблицы всех сделок, такой информации больше нигде нет
Цитата
Андрей написал: однако мне нужно сделать так, что бы не нужно было в квике открывать не какие таблицы
Задача решается функцией CreateDataSource с параметром INTERVAL_TICK Тиковый график строится по обезличенным сделкам, в связи с чем, заказ тикового графика приведет к заказу обезличенных сделок. После вызова CreateDataSource чтобы дальше получать свежие данные, рекомендуется подписаться на колбек, либо через SetUpdateCallback либо через SetEmptyCallback.
Далее, если нужно быстро найти нужные сделки, используйте SearchItems
Здравствуйте, Вам лучше использовать API Там есть асинхронный способ подачи транзакций. Это когда транзакция отправляется на сервер и программа продолжает работать не дожидаясь ответа. Сами же ответы приходят в отдельном колбеке.
Андрей, на сколько становится понятно, Вы хотите добавить в Lua скрипт код от Lua индикатора. Так сделать не получится. Если Вам нужно обратиться к данным с графика в обычном lua скрипте, для этого следует использовать другие функции Функция getCandlesByIndex, или функция CreateDataSource.
Простите, но в приведенном коде нет тех функций о которых Вы говорили. Например, где в приведенном коде вот это:
Цитата
Артем написал: IF (USL1=1 AND (FLAGCDELOK +0 )= 0 AND CHETCHIKCIKLOV > 2)' USL1 принимает значение 1 когда имеются 2 подряд бычьи свечи алгоритм входа в позицию FLAGCDELOK = 1 END IF
В результате, мы не можем связать приведенный код с тем описанием которое Вы привели. А значит и анализировать его нет смысла.
К слову, возможно что проблема в некорректно расставленных скобках. Приведите все скобки во всех условиях IF к нормальному виду. например, вместо
Цитата
IF SDEL= 1 AND USL1=1 AND (FLAGCDELOK +0 ) = 0
правильно писать так:
Цитата
IF (SDEL= 1) AND (USL1=1) AND (FLAGCDELOK +0 = 0)
И аналогично во всех остальных условиях IF как бы это ни было смешно, но в QPILE, правильное выставление скобок может иметь решающее значение.
ошибка значит что при обращении к сущности с именем FastMA2 она оказалась равной nil т.е. по факту пустой или заранее не заданной. например такой ошибки можно добиться следующим образом:
Код
X = Y+1
В указанном примере переменная X не может быть рассчитана т.к. переменная Y нигде не задана. И возникнет такая же ошибка как у Вас. Если же заранее задать значение Y, то ошибка не возникнет:
Код
Y = 1
X = Y+1
если не сможете найти ошибку в коде, приведите полный код скрипта.
Виктор Столетов написал: Не могу понять еще такую вещь - что показывает объем в свече на графике открытого интереса?
Никакого смысла в этом параметре нет. Но он транслируется в виду технической необходимости. Показывает количество изменений параметра за интервал времени. Т.е. ни минутном интервале, сколько раз изменился параметр за минуту. При этом следует отметить что все параметры из таблицы текущих торгов, обновляются не по факту изменений на бирже, а срезами данных, раз в период.
А при чем тут QUIK? Вы говорите про штатные функции Lua А Lua придумали не мы. Вот ссылка на сайт по Lua с описанием функций seek и read И как можете убедиться данный сайт не имеет к нашей компании никакого отношения. Вот если бы вопрос был бы про функции которые описаны в QLUA.chm тогда да, это наши функции.
Andrey Nekto написал: Ссылки на документацию можно получить?
Основная документация приведена в файле QLUA.chm который расположен в папке с терминалом QUIK. Дополнительную документацию и примеры можно найти на сайте: https://arqatech.com/upload/iblock/194/quik_lua.zip
То как брокер будет поступать в описанном случае нам не известно и не может быть известно. А телепатов у нас нет. Может он пересчитает все в штуки. А может просто как-то скорректирует позиции. А может вообще ничего не сделает. Если хотите знать как поступит брокер задайте вопрос к брокеру.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Виктория, Здравствуйте, Если надо настроить смещение в коде скрипта, рекомендуем обратиться к его автору, т.к. нам не известно как автор скрипта его создавал и что заложил в логику. Если нужно сместить график в интерфейсе QUIK, то это делается в его свойствах, на вкладке "Дополнительно" в параметре "Сдвиг графика"