Sergey Gorokhov (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 39 40 41 42 43 44 45 46 47 48 49 ... 78 След.
Описания полей, Не хватает данных в справочнике
 
Цитата
Sergey Gorokhov написал:
Цитата
MarketMover написал:
Орг-я трейдера
Данное поле не доступно из Lua.

Информацию можно получить из другой таблицы "firms", по параметру "firmid". "Орг-я трейдера" соответствует параметру "firm_name".
Описания полей, Не хватает данных в справочнике
 
Цитата
MarketMover написал:
Купонный %
Это accruedint

Цитата
MarketMover написал:
Комиссия ТС (не путать с ТЦ комиссия)

Это exchange_comission

Цитата
MarketMover написал:
Время (мкс)
Это datetime.mcs

Цитата
MarketMover написал:
Орг-я трейдера
Данное поле не доступно из Lua.
PrintDbgStr
 
Цитата
Владимир написал:
почему практический пример в справке приведен на питоне, а не на lua?

Это же пример, не более. Если Вам не нравится, реализуйте по другому.
"Слетают" Lua индикаторы при вкл./откл фильтра по времени
 
Здравствуйте,
Подобное поведение уже исправлялось в одной из предыдущих версий. Возможно Вы столкнулись именно с этим.
Попробуйте проверить на актуальной версии, сейчас это 7.6
Вызов getDataSourceInfo() из Init() в Lua индикаторах
 
Здравствуйте,
Задача вполне решается проверкой первой свечи в OnCalculate
Из приведенного описания не вполне понятно, чем данный подход не устраивает.
Время расчета цикла
 
Здравствуйте,
Что такое "FOR FROM"? В описании языка нет такой конструкции lua.com
Приведите пример использования, чтобы было понятно о чем речь
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Optimus1 Optimus1,
Выложите код еще раз, чтобы посмотреть что исправили.
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Причина в том что у Вас n в двух местах.
Код
      
t,n,i499=getCandlesByIndex("SBER_RSI_1day_Script", 0, N499-2, 2)
t,n,i500=getCandlesByIndex("SBER_RSI_1day_Script", 0, N500-2, 2)


согласно описанию функции getCandlesByIndex вторым параметром она возвращает количество свечек в таблице.
т.к Вы всегда заказываете 2 свечки, топри n=n+1 получается всегда 3.
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Цитата
Optimus1 Optimus1 написал:
n=0 -!!!!!!!!!!!! ЗА ПРЕДЕЛАМИ Функции main

и? ситуация изменилась или нет?
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Optimus1 Optimus1,

речь была про кнопку с надписью "<...>"
в аттаче сриншот
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Цитата
Optimus1 Optimus1 написал:
[CODE]Скрипт[CODE]

Если в панеле не нажата кнопка BB то тег не вставится, следует нажимать кнопку <...>  или нажать кнопку BB, тогда можно писать тег.
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Optimus1 Optimus1,

вы опять привели не полную версию кода.
Что такое t?? где задается?
Почему у функции main не хватает end?
Почему Вы не выполнили рекомендации о переносе переменной n за пределы main?
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Optimus1 Optimus1,
Еще раз, то что Вам требуется и так вполне понятно и не требует уточнений.
Конечно же Ваша задача элементарно решается.
Но раз Ваш код не работает, значит в нем есть ошибка и чтобы ее найти нужна полная версия кода.
Скорей всего, проблема именно в месте определения переменной N, попробуйте ее вообще вынести за пределы функций.
Но это лишь догадка, для установления точных причин нужен код. Или его альтернатива в более компактном варианте.
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Optimus1 Optimus1,

В том то и дело, что на присланном коде, если его привести в рабочее состояние, проблема не воспроизводится.
Нужна полная версия кода.
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Здравствуйте,
Приведенный код, вызывает слишком много вопросов.
Либо он вообще некорректно написан.
Для диагностики, Вы можете добавить вывод информации через message тогда сразу будет понятно почему так происходит.
Шрифт в окне сообщений
 
Цитата
Артем Щодро написал:
Вопрос остается в силе, кто-нибудь в курсе, что там за шрифт?
По умолчанию, либо Tahoma либо Segoe UI, в зависимости от версии терминала и настроек.
PrintDbgStr
 
Здравствуйте,
Позвольте дополнить к выше сказанному.
По ссылке ниже, Вы найдете отдельный документ в котором рассказано о практическом применении PrintDbgStr:
https://arqatech.com/upload/iblock/90b/quik_lua.zip

смотреть файл "Использование Lua в Рабочем месте QUIK.pdf", глава "Использование функции PrintDbgStr() на практике" на стр 40
неужели OnParam самый быстрый?
 
Цитата
Космонавт написал:
Сергей, значит есть закономерности, которых Вы не знаете.
Ведь по какой то причине ОнПарам опережает все другие колбеки, хотя и обновляется срезами.
Весь комплекс QUIK состоит из очень большого количества разных настроек.
Возможно что действительно Ваш брокер что-то у себя подкрутил, а возможно что это просто совпадение.
Но настроек влияющих на приоритет OnParam по сравнению с остальными колбэками не существует.
неужели OnParam самый быстрый?
 
Цитата
Космонавт написал:
Вопрос 1: почему OnParam не всегда срабатывает, хоть и было изменение цены? (у меня в ОнПарам фильтр - не реагировать если цена прежняя). Я бы отказался от других колбеков, раз они медленные, но получается ОнПарам иногда даёт сбои.

OnParam обновляется срезами (раз в период), а не при изменении. Так было всегда и по другому настроить нельзя.

Цитата
Космонавт написал:
Вопрос 2: у других участников форума тоже OnParam срабатывает первым? Или это зависит от брокера?
Спасибо.
Это ни от чего не зависит, порядок срабатывания колбэков не определен.
измерить скорость выставления заявки
 
Космонавт,
в версии 7.6 была исправлена похожая проблема.
Рекомендуем выполнить обновление терминала QUIK
Можно ли перелогиниваться с помощью Луа
 
Цитата
Космонавт написал:
Это очень плохо. Реализуйте пожалуйста в следующей версии. Спасибо
Мы можем зарегистрировать пожелание.
Однако, сроки реализации не определены. Об этом сказано по ссылке:
https://forum.quik.ru/forum8/topic13/
Можно ли перелогиниваться с помощью Луа
 
Согласно документации в QLUA таких функций нет.
измерить скорость выставления заявки
 
Цитата
Космонавт написал:
Разработчики, прошу, не отмалчивайтесь.
И Вас тоже с праздниками.

Цитата
Космонавт написал:
Откуда берётся этот постоянный трэш с Абрау Дюрсо?

К сожалению без полного кода узнать это даже теоретически не представляется возможным.
Еще, в Вашем случае, следует проверить другие терминалы/срипты которые могут работать параллельно.
И о какой версии терминала мы говорим?
Проблема запуска скрипта на Lua, Квик не видит core.dll
 
dmitry dorjiev,

Определитесь какую именно библиотеку Вы пытаетесь подключить.
Сначала Вы пишите про socket, потом про ssl. Ели уж пробовать то на чем-то одном.
Это нужно хотя-бы для того чтобы вести диалог об одном и том же.
dofile в индикаторах
 
Да.
Присвоим идентификатор графику программно!
 
Цитата
medvedoff написал:
Тоесть если мне нужен индикатор для визуализации и также для расчёта то приходится запускать две копии одного и того де кода, как то это не вяждется с дружественнеым интерфейсом нужели так сложно добавить код идентификатора в настройки индикатора?
На данный момент не существует штатного способа программно присвоить идентификатор графику.
А значит, Вам придется решать задачу имеющимися способами.
Присвоим идентификатор графику программно!
 
Цитата
medvedoff написал:
Хорощо как обратиться, если нет идентификатора в этом то и вопрос?? Подробнее пожалуйста поясните а то у нас пока идёт обмен вопросами??,
Ответ уже был дан. Воспроизвести расчеты в теле скрипта. Без участия отдельного скрипта индикатора.

Ровно точно также, как если бы Вам нужно было решить задачу со стандартным индикатором.
Присвоим идентификатор графику программно!
 
Цитата
medvedoff написал:
Чем по вашему пользовательский индикатор хуже стандартного почему к нему нельзя применить теже правила ??н

Вопрос не понятен, что именно Вам требуется?
Если обратиться к пользовательскому индикатору из скрипта, то к нему применяются ровно те же правила что и к стандартным.
Присвоим идентификатор графику программно!
 
Цитата
medvedoff написал:
Написал индикатор и хотел прикрутить его к скрипту и столкнулся с такой проблемой неужели нет возможности задействовать такой очень нужны й инструмент р
С какой проблемой Вы столкнулись?
Если нужно, в Lua скрипте можно воспроизвести расчет индикатора.
Присвоим идентификатор графику программно!
 
Цитата
medvedoff написал:
Оподскажите пожалуйста',как использовать пользовательский индикатор в луа скрипте без идентификатора??

Обычно, для пользовательского индикатора не нужен идентификатор.
Он может понадобиться только если индикатор берет данные из нескольких источников.
присвоение табличному элементу значения
 
Космонавт,
Иными словами, Вы написали код и он не работает.
Тогда ошибка в строке
Код
next_table.[test_table.s]=3

Она должна выглядеть так:
Код
next_table[test_table.s]=3
Проблема запуска скрипта на Lua, Квик не видит core.dll
 
dmitry dorjiev,
Если бы проблема была в путях, была бы другая ошибка, вида "module 'socket.smtp' not found"
У Вас же, судя по всему, проблема в самой библиотеке.
Попробуйте использовать другую версию.
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Здравствуйте,
Для получения значения ячейки есть функция GetCell. Если Вам нужно узнать занята строка или нет, используйте ее.
Работа с таблицей клиентского портфеля, -
 
Здравствуйте,

Цитата
Андрей А написал:
Или сначала как-то узнать все возможные комбинации (client_code + firmid), чтобы потом для каждой из них получить портфель..
Узнать можно из таблицы лимитов по деньгам.
Цитата
Андрей А написал:
. Следующий фрагмент кода в итоговую таблицу почему-то не заносит ничего

Вы неверно используете функцию. Она возвращает массив состоящий из параметров клиентского портфеля, но не набор строк клиентского портфеля.
Иными словами, функция GET_NUMBER_OF(MAP) вообще лишняя. И цикл перебора тоже.
Попробуйте на простом примере
Код
PORTFOLIO_EX ClientPortfolioTXT;
DESCRIPTION Экспорт клиентского портфеля;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;

PROGRAM
   MAP = GET_CLIENT_MARGINAL_PORTFOLIO_INFO("MC0007400000","141972")
   ADD_ITEM(1, MAP)
END_PROGRAM

PARAMETER ASSETS;
PARAMETER_TITLE ASSETS;
PARAMETER_DESCRIPTION ASSETS;
PARAMETER_TYPE STRING(15);
END

END_PORTFOLIO_EX


В заключении, язык QPILE признан устаревшим и уже давно не развивается.
Рекомендуем работать на QLua который пришел на его замену.
Документация лежит в папке с терминалом, файл QLUA.chm
получение параметров индикатора, обращение к line
 
Цитата
Sergey Gorokhov написал:
ЦитатаБорис Гудылин написал:
То, что индикатор смог один раз отработать нормально (ведь, могут же!), дает мне надежду, что разработчики возводят на себя поклеп. Нужно их пояснение.
Проблема изучается. Постараемся в ближайшее время дать ответ.

В текущей реализации свойства линии доступны в OnCalculate только при добавлении индикатора.
На основе Вашего обращения мы зарегистрировали пожелание на доработку.
Робот на Луа +API брокера
 
Космонавт,
Ваш вопрос в чем?
Как отправить транзакцию через брокерский API или как брокер эту транзакцию обработает?
Вам уже три человека сказало что эти вопросы надо решать не здесь а с Вашим брокером.
Касаемо советов, для начала просто объясните ему суть проблемы.
получение параметров индикатора, обращение к line
 
Цитата
ROBOBORO написал:
Как  вообще пользоваться Settings? В скрипте(не индикаторе) могу ли потестировать и понять как оно работает и что вообще позволяет делать?
Если скрипт не индикатор, то в нем таблица Settings ничем не отличается от любой другой таблицы.

Цитата
Старатель написал:
1. Исправьте ошибку с лишними пересчётами индикаторов при их добавлении или изменении.
Мы знаем об этой проблеме и уже работаем над ее устранением.

Цитата
Борис Гудылин написал:
То, что индикатор смог один раз отработать нормально (ведь, могут же!), дает мне надежду, что разработчики возводят на себя поклеп. Нужно их пояснение.
Проблема изучается. Постараемся в ближайшее время дать ответ.
Робот на Луа +API брокера
 
Цитата
Космонавт написал:
Господа, спасибо за ответы, но они все о другом.
Как торговать через АПИ?
О том как торговать через API брокера никто лучше брокера не расскажет.
В связи с чем, рекомендуем обратиться к брокеру.
Подключение библиотеки Trans2QUIK.dll
 
Цитата
Александр Ковальский написал:
Всё это сложно.
Это не сложнее чем делать то что никто до Вас не делал.
Вам всего-то нужно подавать транзакцию через sendTransaction  с каким, нибудь уникальным TRANS_ID и далее ждать ответа в событии OnTransReply



Цитата
Александр Ковальский написал:
подключится ли библиотека? Или надо что-то ещё дописать?
Если trans2quik.dll будет лежать в той же папке что и lua скрипт, напишите так:
Код
ScriptPath = getScriptPath()
package.cpath = ScriptPath .. "\\?.dll;".. package.cpath
package.path = ScriptPath .. "\\?.lua;".. package.path
local api = require('trans2quik')
assert(api)


Однако, как уже было сказано, нам не известно будет ли оно работать или нет, так как никто до этого такую схему не делал.
Проверьте самостоятельно.
Подключение библиотеки Trans2QUIK.dll
 
Цитата
Александр Ковальский написал:
Но, к сожалению, я в программировании "чайник" или даже ещё хуже
Тем более, не надо делать то что никто до Вас не делал.

Цитата
Александр Ковальский написал:
Поэтому, чтобы написать модуль подобный TRANS2QUIK_SEND_SYNC_TRANSACTION мне нужно жизнь положить.
А зачем Вам это? В QLua есть замечательная функция sendTransaction

Цитата
Александр Ковальский написал:
К сожалению, в описании QLua ничего нет про функцию require.
Потому что это функция не QLua, а обычного Lua и описана она в документации на обычный Lua http://www.lua.ru/doc/5.3.html

Цитата
Александр Ковальский написал:
1. Подключится ли библиотека при таком коде:
2. Будут ли работать из Lua все её функции?  

никто никогда такого не делал, поэтому увы с ответом подсказать не можем.
Подключение библиотеки Trans2QUIK.dll
 
Александр Ковальский,

Для подключения библиотек в Lua существует функция require.
Однако совершенно не понятно зачем это нужно, ведь в Lua есть все что есть в Trans2QUIK и даже больше.
На наш взгляд такая схема абсолютно лишена смысла.
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
PFelix,

Просьба прислать для анализа на quiksupport@arqatech.com скрипт который вызывает проблему.
И скриншот ошибки, так чтобы было видно версию терминала.
Вызов RSI
 
Цитата
Sergey Gorokhov написал:
Xn=Xпред + 1
где Xпред это предыдущее значение X

Чтобы понятней было перепишем формулу так:
Xn=Xn-1+1
Вызов RSI
 
Космонавт,

Специально для Вас, пример по проще.

есть формула
Xn=Xпред + 1

где Xпред это предыдущее значение X

Как по формуле узнать последние 50 значений X из 100 имеющихся?
Никак. Просто потому что для расчета надо знать чему равно X1 и от него уже подсчитать все остальные.

Вот по этому, еще в четвертый раз повторяем.
Цитата
Sergey Gorokhov написал:
Индикатор RSI строится по EMA, которому нужен расчет по предыдущим значениям.

Если Вам нужно получить последние 50 свечек, будьте добры предварительно подсчитать и первые свечки.
Просто такая формула.
Вызов RSI
 
Цитата
Космонавт написал:
Придётся Вас "добить" формулой EMA.

Как по Вашему что такое "EMAi-1" ??
Вы не поверите, но это предыдущее значение EMA
Вызов RSI
 
Космонавт,

Вот именно что в расчетах используется скользящая средняя.

То есть в третий раз повторяем ответ:
Цитата
Индикатор RSI строится по EMA, которому нужен расчет по предыдущим значениям.
Вызов RSI
 
Космонавт,
Это Вы не уловили нить ответа.
RSI требует согласно формуле, свои предыдущие значения.
Это особенность данного индикатора.
Даже если Вам надо только 50 последних свечей он в принципе не сможет Вам их дать не проведя расчет предыдущих.
Просто такая формула.
Вызов RSI
 
Цитата
Космонавт написал:
а только 50 последних.

Ответ уже был дан.
Цитата
Sergey Gorokhov написал:
Индикатор RSI строится по EMA, которому нужен расчет по предыдущим значениям.

Цитата
Космонавт написал:
И ещё не понятно, рационально ли рассчитывать RSI  в колбеке SetUpdateCallback?
Рационально или нет решать Вам.

Цитата
Космонавт написал:
С этой точки зрения, правильно ли помещать CreateDataSource внутри main в цикле перебора бумаг?

CreateDataSource достаточно вызвать 1 раз, не важно где.
Постоянно гонять его в цикле совершенно никакого смысла нет.
Функция CreateDataSource никогда не возвращает ошибку, И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: "Всё отлично".
 
Цитата
Антон Кыт. написал:
Хорошо, зарегистрируйте пожалуйста доработки
- "Проверка существования бумаги в классе"
- "Проверка указания правильного интервала" (В данный момент можно без проблем заказать интервал "17")

Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.

Цитата
Антон Кыт. написал:
метод датасорса ds:ServerSize()

Он и сейчас есть ds:Size()
Функция CreateDataSource никогда не возвращает ошибку, И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: "Всё отлично".
 
Здравствуйте,

Цитата
Антон Кыт. написал:
То есть имеется ошибка в реализации данной функции!
Прошу исправить.

Не видим ошибки в функции. Так как в документации четко сказано
Цитата
Если указан
неверный код класса или параметр, то возвращается «nil». При этом error_desc содержит
описание ошибки.
Вы же, экспериментируете с кодом инструмента.

Касаемо остального, Вы сами как пользователь для себя должны определить чем лично Вам надо торговать а чем нет. Программа в этом месте даже больший враг чем Вы.
Либо попросите Вашего брокера настроить блокировку на те инструменты которые он посчитает неликвидом.

С нашей стороны, можем только предложить зарегистрировать от Вас пожелание на проверку существования бумаги в классе.
Страницы: Пред. 1 ... 39 40 41 42 43 44 45 46 47 48 49 ... 78 След.
Наверх