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

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

Страницы: Пред. 1 ... 37 38 39 40 41 42 43 44 45 46 47 ... 78 След.
Почему нет реакции на код,мувинги пересикаються а сообщения нет
 
Андрей Мургa,
Значит код сработает через минуту после того как пересечение случится.
В синтаксисе ошибок нет, значит проблема в логике.
Почему нет реакции на код,мувинги пересикаються а сообщения нет
 
Здравствуйте,
Какой интервал у графика?
Вы смотрите предыдущую свечку и пред предыдущую. т.е. если пересечение случится на текущей свечке, код не увидит этого пока не появится следующая свечка, а это займет время равное интервалу.
в ошибка
 
Цитата
Андрей Мургa написал:
if Priceb=188000  then

Сравнивать нужно так:
if Priceb==188000  then
Индикаторы на LUA. getCandlesByIndex отдаёт пустую таблицу.
 
Здравствуйте,
Приведите полный текст кода индикатора, а также сообщите версию терминала QUIK
SetRangeValue
 
Цитата
валерий написал:
Не понял - на графике рисуется C(Index), а не SetValue.
Но messag же выдает 12345 не так ли? Разве это не говорит о том что Ваша версия о неработающем SetValue не подтверждается?

У Вас на индикаторе одни значения затираются другими.
На примере простого кода:
Код
x=123
x=1111


после его обработки, в конце Вы получите x=1111, так как x сначала был 123, а потом поменялся на 1111, в моем примере и у Вас, ровно тоже самое.
Вы сначала пишите одну цифру через SetValue, а потом, затираете ее другой цифрой через return.
Так понятно?
SetRangeValue
 
валерий,

Функции вполне успешно меняют значения на текущей свече, простой пример это доказывает:
Код
Settings = {
Name = "*test", 
line = {{Name = "test", Type = TYPE_LINE, Color = RGB(255, 0, 0)}}
}

function Init() 
   T = {}
   return #Settings.line
end

function OnCalculate(Index) 
   SetValue(Index, 1, 12345)
   x=GetValue(Index, 1)
   message("Index="..tostring(Index).." ".."GetValue="..tostring(x))
   return C(Index)
end


По всей видимости, у вас значение текущей свечи, после SetValue затирается другим значением указанным в return
Индикаторы на LUA. Проигрывание звуков.
 
Здравствуйте,
Пришлите для анализа полученный дамп на адрес quiksupport@arqatech.com
Сервисные функции, getInfoParam('SERVERTIME') возвращает пустую строку
 
Здравствуйте,
Попробуйте указать большими буквами:

Код
if isConnected()==1 then
local a=getInfoParam("TRADEDATE")
local b=getInfoParam("SERVERTIME")
message(a,1)
message(b,1)
end 
Перенумерация свечек и SetUpdateCallback
 
Цитата
Алексей написал:
А откуда мне взять свежую версию терминала, если брокер предоставляет 7.2.2.3?

Вы можете запросить последнюю версию у брокера. Если брокер ее Вам не предоставит, Можете запросить у нас. Но есть риск что терминал не подключится, если у брокера старая версия сервера.

Цитата
Алексей написал:
Сомневаюсь, что что-то не так со скриптом, поскольку он элементарный

У нас описанное поведение не воспроизводится. Если есть проблема нам нужно ее исследовать.  
А для исследования нам требуется ранее запрошенная информация.
SetRangeValue
 
Цитата
валерий написал:
Но она принимает только скаляр, то есть нарисовать можно только горизонтальную линию или все стереть.
Да так и есть.

Цитата
валерий написал:
И кстати почему с помощью SetRangeValue и SetValue нельзя поставить значение на последней свечке? В чем смысл такого ограничения?

А в чем смысл? Ведь для вывода текущих значений существует OnCalculate.
Большие ли отличия QLua от от Lua и где официальная документация?, Какая версия Lua в QLua, работают ли все функции Lua или только какой-то ограниченный набор (если так, то где прочитать, какой?), можно ли подключать модули и все как в обычном Lua? Есть ли где-то на официальном сайте документация?
 
Илья,
В обозримом будущем, обновление не планируется.
INDICATORS.ZIP
 
валерий,
Ваш вопрос не понятен.
Вы что-то сказали конкретно про вычисление пустых свечек, и Вам был дан такой ответ конкретно относящийся к необходимости вычисления пустых свечек.
А что касается индикаторов, это вообще никак к ним не относится.
INDICATORS.ZIP
 
валерий, s_mike@rambler.ru,

Я просто еще раз напомню

Цитата
Sergey Gorokhov написал:
Как уже говорилось, индикаторы будут переписаны. Не сейчас, но будут.
INDICATORS.ZIP
 
Цитата
валерий написал:
Sergey Gorokhov  ,
Индекс в OnCalculate(index). Конкретно, вот график с одной фишкой, пропуски не показывать, фильтр по дневной сессии. Какие свечи будет перебирать индекс? Только те что на графике?

OnCalculate вернет столько свечек сколько на графике.
INDICATORS.ZIP
 
Цитата
валерий написал:
Делов-то.

Ну так сделайте, Индикаторы предоставляются "как есть" т.е. допускается любое изменение на Ваше усмотрение.
INDICATORS.ZIP
 
валерий,
Какой индекс? Какая база данных? Вы можете предметно сообщить что именно интересует? Сейчас Ваш вопрос не понятен.
Вам уже было сказано, что сами графики вообще никак не менялись, а менялись только конкретные функции, а вернее результат их вывода в случае наличия пустых свечек. Остальное не менялось и поведение то же самое.
INDICATORS.ZIP
 
Цитата
валерий написал:
Это в 7.2. А что в 7.7?
Организовать вычисления при наличии пустых свечек конечно можно, но это накладно и в 99 случаях не нужно.

Никто Вас не заставляет "производить вычисления при наличии пустых свечек", просто пропускайте их и все. Именно это корректно позволяют сделать изменения в 7.7.
INDICATORS.ZIP
 
Цитата
валерий написал:
Кстати, хотелось бы уточнить. Если на графике стоит фильтр по времени, то отсутствующие свечи все равно теперь будут подаваться  в функцию индикатора?

Как связан фильтр по времени с наличием либо отсутствием пустых свечек?
Перенумерация свечек и SetUpdateCallback
 
Алексей,

Как уже было сказано, так не должно быть.
Как уже было сказано, проблема либо в старом терминале либо в самом скрипте.
Из этого следует, что 1 - Вам надо обновить терминал, 2 - если не поможет воспроизвести ситуацию и предоставить нам скрипт / скриншоты и копию папки с терминалом (без ключей доступа) на ящик quiksupport@arqatech.com
Перенумерация свечек и SetUpdateCallback
 
Алексей,

По идее после смены сессии, счетчик должен пройтись с 1й свечки до последней.
Перенумерация свечек и SetUpdateCallback
 
Алексей,
Боюсь что ответ можно узнать только проведя эксперимент. Т.к. поведение зависит от Ваших настроек, скрипта и т.д.
Перенумерация свечек и SetUpdateCallback
 
Здравствуйте,
На сервере есть ограничение в 3000 исторических свечек на каждый интервал.
Т.е. более 3000 свечек получить из хранилища нельзя. Далее идет текущая сессия, она считается отдельно.

Почему у Вас получилось 6к+ свечек, сказать затруднительно. Возможно что-то не так с самим скриптом, или версия старая, по идее так не должно быть.
"перенумерация" должна происходить после смены сессии. Сервер удаляет старые свечки, и добавляет в архив новые, так чтобы в архиве по прежнему было 3000 свечек. Таким образом, при условии что в архиве сервера уже 3000 свечек, каждый день, первая свечка на графике должна быть под номером 3001.
На это еще может влиять настройка в разделе "Программа" - "Сохранение данных", "Очищать данные после смены даты"
INDICATORS.ZIP
 
валерий,

К сожалению мы не можем зарегистрировать пожелание в таком виде, т.к. оно противоречит концепции развития нашего ПО.
Иными словами, мы не можем показать на графике то чего реально нет.
Уточните зачем Вам это? Возможно есть другой путь решения.
INDICATORS.ZIP
 
Цитата
валерий написал:
Вопрос тем кто пользует 77, сам я с большииим лагом обновляюсь. А на графиках как нововведение отражается? Пустые интервалы теперь убрать нельзя?

На графиках ничего в этом месте не менялось. Менялись конкретно те Lua функции о которых сказано в списке изменений.
INDICATORS.ZIP
 
Цитата
Старатель написал:
Вопрос не в том, что выводить - это зависит от индикатора, можно и вполне осмысленное значение.
Вопрос в том, как выводить, если OnCalculate не вызывается?

Такой возможности нет. Разве что на каждую из бумаг повесить по индикатору.
INDICATORS.ZIP
 
Цитата
Старатель написал:
Есть лекарство?
Выводить nil пока данные не появятся.
INDICATORS.ZIP
 
Цитата
Космонавт написал:
Сергей, на примере индикатора RSI подскажите пожалуйста что нужно изменить, чтобы код работал на новой версии КВИКа?

Как уже говорилось, индикаторы будут переписаны. Не сейчас, но будут. А как именно, уже вопрос внутренний.
Сейчас же Вы можете самостоятельно его исправить на Ваше усмотрение, т.к. индикаторы предоставляются "как есть" т.е. допускаются любые правки на свое усмотрение.
INDICATORS.ZIP
 
Цитата
Старатель написал:
Вопрос о том, как поведёт себя QUIK, когда по одному инструменту уже начал рисоваться новый бар, а по другому инструменту - вдруг приходит сделка по предыдущему бару?
Вопрос касается того как поведет себя OnCalculate.
Он поведет себя ровно также как если бы был только 1 график, т.к. OnCalculate привязан к конкретному источнику данных.
INDICATORS.ZIP
 
Цитата
Старатель написал:
Не совсем так. OnCalculate на пустых интервалах вызывается только при пересчёте индикатора (если, например, в окне редактирования нажать "Применить" или "ОК"). В реалтайм OnCalculate на пустых интервалах не вызывается.

Да, все верно, в эксперименте была ошибка.
INDICATORS.ZIP
 
_sk_,
Вы немного ушли от темы, я говорил ровно о том что написано в списке изменений.
Цитата

Изменен вывод информации функциями O, H, L, C, V, T по свечкам, сформированным на пустых интервалах. Теперь, для таких свечек, функция T возвращает время интервала, а функции O, H, L, C, V возвращают nil. Для корректной проверки существования свечи на графике добавлена новая функция CandleExist(). Подробное описание приведено в п. 7.2.5 Руководства пользователя Интерпретатора языка Lua.
OnStop
 
Здравствуйте,
Описанное поведение будет исправлено в одной из следующих версий программы .
INDICATORS.ZIP
 
_sk_,
На все вопросы вида "а что будет если" в большинстве случаев Вы сами легко можете найти ответ. И сейчас именно такой случай.
Небольшой эксперимент покажет что индикатор по FEES даже не заметит появления значений по SRH7.
Связано это с тем что по FEES изменений не было.
В случае если в одном окне установить график по нелеквиду и по активному инструменту, Вы увидите что OnCalculate сработает по нелеквиду и CandleExist покажет false на пропущенных свечках только, после того как на нелеквиде появится нормальное значение.
Как убрать сообщения о заявках
 
Цитата
Владимир написал:
А можно эти и другие сообщения брокера каким-то образом получать из скрипта LUA, чтобы сохранять их в лог, например?

Не все сообщения можно ловить в LUA
Только ответы на транзакции отправленные через сам LUA в событии OnTransReply
INDICATORS.ZIP
 
Цитата
_sk_ написал:
Цитата
Sergey Gorokhov   написал:
_sk_  ,

Уже сейчас можно сделать вторую нумерацию.
Просто добавив переменную счетчик, которая будет увеличиваться на +1 при CandleExist
ОК.

Я правильно понимаю, что индексы-аргументы OnCalculate() от одного вызова к другому:
* либо повторяются;
* либо увеличиваются на 1;
* либо сбрасываются в 1.

Т.е., например, последовательности ..., 100, 101, 102, 101, 102, 103, ... быть не может?

Ответ на этот вопрос неплохо бы в документацию добавить.

обновления посередине быть не может, если Вы об этом.
INDICATORS.ZIP
 
Цитата
s_mike@rambler.ru написал:
что говорит стандарт о времени пропущеннлй свечи? Оно
nil или содеожит валидные значения?

Читайте внимательней:
Цитата
_sk_ написал:
Теперь, для таких свечек, функция T  возвращает время интервала, а функции O, H, L, C, V возвращают nil.
INDICATORS.ZIP
 
_sk_,

Уже сейчас можно сделать вторую нумерацию.
Просто добавив переменную счетчик, которая будет увеличиваться на +1 при CandleExist
INDICATORS.ZIP
 
Цитата
_sk_ написал:
Функции O(I), H(I), L(I), C(I), V(I) в качестве индекса I используют порядковый номер свечи на графике, включая "дыры".

Вопрос:data source ds имеет ту же нумерацию ds:O(I), ds:H(I), ds:L(I), ds:C(I), ds:V(I) или здесь индекс I относится к источнику данных, где нет "дыр" между свечками?

нет, нумерация будет разной т.к. на графике пустые интервалы получаются из-за наложения других графиков, а в DS никакого наложения быть не может.
INDICATORS.ZIP
 
Цитата
_sk_ написал:
Просьба ответить на мои вопросы из двух предыдущих постов. Если в документации неправильный пример, его точно надо оттуда убирать и, может быть, заменять на правильный.

Пример не правильный, документация будет исправлена.
INDICATORS.ZIP
 
s_mike@rambler.ru,
Раньше, с этим были проблемы т.к. в разных ситуациях работало по разному.
Теперь в 7.7 есть единый стандарт и надо придерживаться его.
Если окажется что где-то стандарт не срабатывает это баг.
INDICATORS.ZIP
 
s_mike@rambler.ru,
Данные индикаторы, личная инициатив не более.
INDICATORS.ZIP
 
Здравствуйте,
В будущем, возможно актуализируем.
Многократный вызов CreateDataSource
 
Здравствуйте,
Идентичные вызовы CreateDataSource не должны приводить к нагрузкам или увеличению трафика
Функция фракталы
 
Космонавт,
Вам уже был дан ответ, не понятно какой реакции Вы ожидаете.
Функция фракталы
 
Цитата
Космонавт написал:
Приведите пример, пожалуйста.

Добавляете график, добавляете индикатор, в индикаторе заполняете Идентификатор и далее функцией getCandlesByIndex ищите нужный фрактал.
описание функции приведено в документации QLUA.chm
-Функции взаимодействия скрипта Lua и Рабочего места QUIK
--Функции для работы с графиками
---getCandlesByIndex
Функция фракталы
 
Цитата
Космонавт написал:
Как это сделать с помощью Вашей функции?

Вам уже было сказано, через ds такой возможности нет. только через окно графика.
Функция фракталы
 
Цитата
Космонавт написал:
Не понятно.
Покажите пожалуйста на примере.
Что именно не понятно. Конкретику пожалуйста.

Цитата
Космонавт написал:
И как считывать не только последние но и другие предыдущие фракталы
Вам уже было сказано, через dsс такой возможности нет. только через окно графика.
Функция фракталы
 
Поправка, сам возврат там есть, нету возврата соседних фракталов.
Функция фракталы
 
Цитата
Космонавт написал:
При чём здесь SetValue? Она нужна, чтобы установить значение на линии индикатора. А мне нужно не установить, а считать значение фрактала!

Вот именно, что она меняет их на графике а Вам надо НЕ на графике а в ds т.е. в этом месте нужно дописать возврат данных.
Функция фракталы
 
Цитата
Космонавт написал:
Сергей, ответ не понятен
Что именно не понятно? Почитайте в документации про функцию SetValue.

Цитата
Космонавт написал:
А потом как обратиться к значениям фракталов?
Уже было сказано что через DataSource использовать  FRACTALS() не получится, только через окно графика стандартным образом, как через любой другой индикатор. т.е. функцией getCandlesByIndex

Цитата
Космонавт написал:
Передайте привет человеку, который писал этот прекрасный код, но ключики от него спрятал на дне океана.
Вы не поверите, но эти примеры писал лично я, по своей личной инициативе.
Функция фракталы
 
Здравствуйте,
У фракталов есть свои особенности, в указанной функции используется SetValue, которая работает только с графиком, а не источником данных DataSource.
Страницы: Пред. 1 ... 37 38 39 40 41 42 43 44 45 46 47 ... 78 След.
Наверх