А при каком тогда заходе интерпретатор заглянет внутрь функции ?
Запись в таблицу - вопрос.
Пользователь
Сообщений: Регистрация: 23.03.2015
26.11.2017 22:08:36
То есть, когда в данном случае выполнилось условие If then, сама таблица t_id по сути еще не создана ?
Цена свечи без тега графика
Пользователь
Сообщений: Регистрация: 23.03.2015
26.11.2017 22:06:02
Еще только не понятно одно, закачка идет именно с сервера брокера ?
Цена свечи без тега графика
Пользователь
Сообщений: Регистрация: 23.03.2015
26.11.2017 22:04:49
Спасибо за развернутые ответы! Завтра проверю, как раз :)
Цена свечи без тега графика
Пользователь
Сообщений: Регистрация: 23.03.2015
26.11.2017 20:40:40
Спасибо! Подскажите пожалуйста еще, я правильно понимаю, что, если я при отключенном подключении захочу получить данные:
ds:Size(), а потом и значение самой произвольной свечи:
ds:C(i-1)
То Quik ничего не выдаст, так как эти запросы обращены к серверу, а значит сам терминал Quik должен быть подключен к серверу и в оффлайне это не работает ?
Цена свечи без тега графика
Пользователь
Сообщений: Регистрация: 23.03.2015
26.11.2017 17:22:03
А как получить данные через CreateDataSourse - n-ой свечи ?
Цена свечи без тега графика
Пользователь
Сообщений: Регистрация: 23.03.2015
25.11.2017 17:42:02
Видимо можно, через CreateDataSource(Class_Code, Sec_Code, INTERVAL_M1) , но я так понял, что это можно сделать только, когда quik подключен к бирже в ее рабочее время, то есть оффлайн данная функция что то не работает.
Цена свечи без тега графика
Пользователь
Сообщений: Регистрация: 23.03.2015
25.11.2017 17:11:31
Здравствуйте,
Подскажите пожалуйста можно ли получить цену свечи (с выбором интервала) без использования тега графика, а только по classcode`у и seccode`у ?
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
Пользователь
Сообщений: Регистрация: 23.03.2015
25.11.2017 17:06:18
Цитата
Цитата
Добрый день,
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
Здравствуйте,
Подскажите, а в итоге доработка была реализована ?
Запись в таблицу - вопрос.
Пользователь
Сообщений: Регистрация: 23.03.2015
25.11.2017 11:03:59
Здравствуйте,
Немного запутался, подскажите пожалуйста, почему при срабатывании условия If then, в 1 строку созданной таблицы не записывается заданный текст ?
Код
function main()
CreateTable();
while is_run do
sleep(1000)
end
end
--------------------------------------------------------------------------------------
--Функция создания таблицы: Начало
function CreateTable()
t_id = AllocTable();
AddColumn(t_id, 0, "Код Бумаги", true, QTABLE_INT_TYPE, 15)
AddColumn(t_id, 1, "Условие", true, QTABLE_INT_TYPE, 15)
AddColumn(t_id, 2, "Статус", true, QTABLE_INT_TYPE, 15)
AddColumn(t_id, 3, "Время", true, QTABLE_INT_TYPE, 15)
AddColumn(t_id, 4, "Цена", true, QTABLE_INT_TYPE, 15)
t = CreateWindow(t_id);
SetWindowCaption(t_id, "Таблица");
for i=0, 3, 1 do
InsertRow(t_id, -1);
end;
end
--Функция создания таблицы: Конец
------------------------------------------------------------------------
local G1=getNumCandles("GAZP_Price")
q,g,w1=getCandlesByIndex("GAZP_Pricet", 0, G1-2, 2)
GAZP_Price_now = q[0].close
GAZP_Price_condition=0
if GAZP_Price_now => GAZP_Price_condition then
message("Условие сработало",1)
SetCell(t_id, 1, 1, "текст1")
SetCell(t_id, 1, 2, "текст2")
SetCell(t_id, 1, 3, "текст3")
end
Что происходит с Quik` ом ??
Пользователь
Сообщений: Регистрация: 23.03.2015
17.11.2017 16:49:21
А слона то я и не приметил, думал с ума схожу уже :) Виновен в невнимательности. Всем спасибо!
Что происходит с Quik` ом ??
Пользователь
Сообщений: Регистрация: 23.03.2015
16.11.2017 20:00:03
Что происходит с Quik` ом ??
Пользователь
Сообщений: Регистрация: 23.03.2015
16.11.2017 19:59:04
Здравствуйте,
Что за лютый ..ец творится с Quikом ??? Абсолютно два одинаковых кода и файла, один блин запускается, у другого ошибка, причем проблема именно в трех последних строчках, если скопировать их того файла, который запускается и вставить в тот, который не запускается, то все ок, но эти строки абсолютно одинаковые, ексель подтвердил, че происходит ??
Подскажите пожалуйста, можно ли в Qlua получить дату 1,2 и 10 свечи ?
Подскажите пожалуйста, можно ли в Qlua получить дату 1,2, 10 или любой другой свечи ?
Дата произвольной свечи, Дата произвольной свечи
Пользователь
Сообщений: Регистрация: 23.03.2015
15.11.2017 23:03:49
Здравствуйте,
Подскажите пожалуйста, можно ли в Qlua получить дату 1,2 и 10 свечи ?
QLUA, вопросы начинающих.
Пользователь
Сообщений: Регистрация: 23.03.2015
17.05.2017 18:03:04
А если я через название тега заношу данные в таблицу ?
QLUA, вопросы начинающих.
Пользователь
Сообщений: Регистрация: 23.03.2015
16.05.2017 18:26:50
Подскажите пожалуйста, я вывожу значение RSI в созданною таблицу, значение выводится и все бы хорошо, но значение выводится с 9 знаками после запятой, не очень удобно для восприятия, подскажите, как можно сократить до 1 знака после запятой ?
Неподписанная заявка отвергнута
Пользователь
Сообщений: Регистрация: 23.03.2015
13.04.2017 13:44:13
Что это было не знаю, но лечится перезагрузкой квика.
Неподписанная заявка отвергнута
Пользователь
Сообщений: Регистрация: 23.03.2015
13.04.2017 10:34:38
Дело точно не в это, потому как, проблема плавающая, то есть то есть, то нет, без всякиз изменений настроек, более того quik загружается и подулючается АЦП работает! Заявку я тоже выставить могу без проблем!
Эта, извините "хрень" возникает в тот момент, когда я ничего не делаю, не выставляю какие либо заявки, сама по себе !
Вот в чем проблема! Кто о как будто за меня заявку чтоли выставляет ?
Неподписанная заявка отвергнута
Пользователь
Сообщений: Регистрация: 23.03.2015
06.04.2017 09:58:06
Здравствуйте,
Подскажите пожалуйста, что за странное сообщение выдает Quik - "неподписанная заявка отвергнута" ?
Я не делал ни каких заявок, что там еще Quik может отвергать ?
Получение данный о своей позиции, Получение данный о своей позиции
Пользователь
Сообщений: Регистрация: 23.03.2015
31.03.2017 09:56:10
Таблица позиций по счетам. Но в quike она относится к фьючерсам, а хотелось бы для обычных акций.
Получение данный о своей позиции, Получение данный о своей позиции
Пользователь
Сообщений: Регистрация: 23.03.2015
31.03.2017 09:34:34
Здравствуйте,
В таблице сделок указываются все проведенные сделки, а как бы получить именно информацию по текущей позиции, а не статистику по всем операциям ?
Получение данный о своей позиции, Получение данный о своей позиции
Пользователь
Сообщений: Регистрация: 23.03.2015
20.01.2017 16:35:46
Здравствуйте,
Подскажите пожалуйста, какой функцией можно получить данные о своей позиции, то есть данные о своих текущих сделках - ну что то типа:
1)Buy, GAZP, 100 лотов, 1000 рублей 2)Sell, Sber, 50 лотов, 2547 рублей
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 16:21:25
Заработало! В своем коде запутался блин. Извините.
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 15:17:29
В том то и дело - не работает, как надо. Переменая M не меняется при прибавлении еденицы. Так и должео быть ?
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 14:37:27
Цитата
Старатель написал: Sergey Gorokhov , по-моему товарищ вас тролит, предлагая явно неработающий код (при этом утверждает, что чё-то там выводится) и отвлекая от РАБОТЫ . У вас ведь есть чем заняться? Ошибок-то в терминале полно! Надо исправлять.
Optimus1 Optimus1 написал: function OnQuote(class_code, sec_code) if class_code== p_classcode_94 and sec_code==p_seccode_94 then --94)SBER
Тут не может ничего выводиться по определению. Авто явно ммм... говорит неправду.
1)Стиратель не нужно пожалуйста поспешных выводов, с моей стороны это не более чем ошибка при копировании из блокнота:
p_classcode_94="TQBR" p_seccode_94="SBER"
p_classcode_95="TQBR" p_seccode_95="GAZP"
Или я единственный кто не может допустить ошибку ?
"Ошибок то в терминале полно" Надо исправлять" (с)
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 14:05:27
Код
--Стартовая ячейка: не удалять
p_seccode_94="SBER"
p_classcode_95="TQBR"
M=0 -!!!!!!!!!!!! ЗА ПРЕДЕЛАМИ Функции main, заменил "n" на "M"
is_run=true
------------------------------------------------------------
function main()
while is_run do
sleep(1000)
end
end
--------------------------------------------------------------------------------------
--Функция создания таблицы: Начало
function CreateTable()
hu_id = AllocTable();
AddColumn(hu_id, 0, "Код Бумаги", true, QTABLE_INT_TYPE, 15)
AddColumn(hu_id, 1, "Условие", true, QTABLE_INT_TYPE, 15)
AddColumn(hu_id, 2, "Статус", true, QTABLE_INT_TYPE, 15)
AddColumn(hu_id, 3, "Время срабатывания", true, QTABLE_INT_TYPE, 15)
t = CreateWindow(hu_id);
SetWindowCaption(hu_id, "Таблица оповещения");
for i=0, 10, 1 do
InsertRow(hu_id, -1);
end;
end
--Функция создания таблицы: Конец
-----------------------------------------------------------------------------------------
function OnQuote(class_code, sec_code)
if class_code==p_classcode_94 and sec_code==p_seccode_94 then --94)SBER
timeo = getInfoParam("SERVERTIME")
-- Больше или равно
--499)
--Это суб-модуль499 : Обозначения переменных для SBER_RSI_1day_Script
local N499=getNumCandles("SBER_RSI_1day_Script")
t,n,i499=getCandlesByIndex("SBER_RSI_1day_Script", 0, N499-2, 2)
SBER_RSI_1day_Script_previouse = t[0].close
SBER_RSI_1day_Script_now = t[1].close
--499)Условие на больше или меньше
SBER_RSI_1day_Script_condition_text_499=" Больше или равно "
SBER_RSI_1day_Script_condition_499=10
SBER_RSI_1day_Script_name_paper_499="SBER"
--499)Условие на больше или меньше
--499)Условие: SBER_RSI_1day_Script Больше или равно 10
if SBER_RSI_1day_Script_now >= SBER_RSI_1day_Script_condition_499 then
M=M+1 - заменил "n" на "M"
message("равно"..tostring(M),1) - заменил "n" на "M"
if SBER_RSI_1day_Script_previouse < SBER_RSI_1day_Script_condition_499 then
message("равно"..tostring(M),1)
end
end
-- Меньше или равно
--500)
--Это суб-модуль500 : Обозначения переменных для SBER_RSI_1day_Script
local N500=getNumCandles("SBER_RSI_1day_Script")
t,n,i500=getCandlesByIndex("SBER_RSI_1day_Script", 0, N500-2, 2)
SBER_RSI_1day_Script_previouse = t[0].close
SBER_RSI_1day_Script_now = t[1].close
--500)Условие на больше или меньше
SBER_RSI_1day_Script_condition_text_500=" Меньше или равно "
SBER_RSI_1day_Script_condition_500=90
SBER_RSI_1day_Script_name_paper_500="SBER"
--500)Условие на больше или меньше
--500)Условие: SBER_RSI_1day_Script Меньше или равно 90
if SBER_RSI_1day_Script_now <= SBER_RSI_1day_Script_condition_500 then
M=M+1 - заменил "n" на "M"
message("равно"..tostring(M),1) - заменил "n" на "M"
if SBER_RSI_1day_Script_previouse > SBER_RSI_1day_Script_condition_500 then
message("равно"..tostring(M),1) - заменил "n" на "M"
end
end
end -- конец Class_code по n-ой бумаге
end -- Окончательный END по OnQuote
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 13:54:55
Изменил свою "n", которую мне необходимо суммировать на "m". Теперь выводит постоянно занчение "2". В Функции getCandlesByIndex - "n" не трогал.
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 13:29:31
Вот полнейший код, только что из блокнота скопировал:
<code> --Стартовая ячейка: не удалять p_seccode_94="SBER" p_classcode_95="TQBR"
SBER_RSI_1day_Script_condition_text_500=" Меньше или равно " SBER_RSI_1day_Script_condition_500=90 SBER_RSI_1day_Script_name_paper_500="SBER"
--500)Условие на больше или меньше --500)Условие: SBER_RSI_1day_Script Меньше или равно 90
if SBER_RSI_1day_Script_now <= SBER_RSI_1day_Script_condition_500 then
n=n+1
message("равно"..tostring(n),1)
if SBER_RSI_1day_Script_previouse > SBER_RSI_1day_Script_condition_500 then
message("равно"..tostring(n),1)
end
end
end -- конец Class_code по n-ой бумаге end -- Окончательный END по OnQuote
</code>
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 12:33:13
[CODE]Скрипт[CODE]
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 12:32:14
[Code]Скрипт[/Code]
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 12:20:24
Цитата
p_classcode_94="TQBR" p_seccode_94="SBER" is_run=true ----------------------------------------------------------- function main() n=0 while is_run do sleep(1000) end --Функция создания таблицы: Конец ----------------------------------------------------------- function OnQuote(class_code, sec_code)
if class_code==p_classcode_94 and sec_code==p_seccode_94 then
if SBER_RSI_1day_Script_now <= SBER_RSI_1day_Script_condition_500 then n=n+1 message("равно"..tostring(n),1)
if SBER_RSI_1day_Script_previouse > SBER_RSI_1day_Script_condition_500 then message("равно"..tostring(n),1)
end end
end end
Два указанных условия RSI<90, и RSI >10 срабатывают при каждом изменении сткана по Сбербанку, и каждый раз сообщение выдается с одной и той же цифрой - "3".
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 09:36:42
N присваивается значение 0, в самом начале после function main, но потом мне надо , чтобы к N прибавлялось по 1 каждый раз когда срабатывает условие, и ечтественно нужно, чтобы каждый раз значение N сохраняло свое значение, то есть прибавили 1, N должно стать одному и запомнить это значение, что бы во второй раз , когда сработает условие 1 прибавлялось уже к запомненому значению N.
Это возможно ?
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
13.01.2017 07:44:08
Это я его просто привел в таком уррощенном виде, чтобы не загроиождать тему, смысл вопроса именно в присвоении переменной N. Почему при сробатывании первого условия формула N= N+1 (где N в начале скрипта обозначено как 0) работает и выдает 1, а при сроботывании второго условия после первого, в формуле N= N+1, N опять имеет значение 0, а не уже 1, ведь ранее у N была прибвлена 1.
Вот в чем вопрос.
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
12.01.2017 17:20:26
Спасибо.
Я нашел более простой способ, как мне показалось, однако почему то не работает, что то не так с хранением значения переменной в памяти, может кто подскажет, вообщем смысле вот так получается:
function main()
N=0
function OnQuote(class_code, sec_code)
if class_code==tqbr and sec_code==sber
If Sber=100 then
N=N+1
SetCell(t_id, N, 2, "текст") ' то есть 0+1 = 1 и SetCell запишет текст в N=1 строку, все так и происходит
end if
If Gazp >50 then
N=N+1
SetCell(t_id, N, 2, "текст") ' то есть 1+1 = 2 и SetCell должен запbсать текст в N=2 строку, но этого не происходит
end if
end end
Такое ощущение, что первая операция суммирования, которая выполнилась при первом условии для "N" не держится в памяти, и при срабатывании второго условия, опять использует N в значении 0, как и было обозначено в самом начале скрипта.
Кто знает, почему так происходит и как можно все таки записать ее в память, чтобы потом можно было использовать ?
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
04.01.2017 10:15:16
Спрошу немного по другому, как в созданную таблицу добавлять сообщения, назову так - "динамически", то есть сделать так, чтобы код Qlua анализировал занятость строк в этой таблице, то есть если первая строка не занята, то добавить сообщение в первую строку, после срабатывания второго условия, Qlua анализирует занятость строк и добавляеть второе сообщение в следующую по свободности строку, сощданой таблицы ?
Таблица с помощью Qlua, Таблица с помощью Qlua
Пользователь
Сообщений: Регистрация: 23.03.2015
01.01.2017 12:58:35
Здравствуйте,
Сделал табличку оповещения в Quik: что то наподобие:
Таблица создается, тут все нормально. Даже при срабатывании условия, в таблицу записывается мой текст по оповещению... НО! В таблицу записывается текст после срабатывания условия таким образом, что если произошло совпадения условия на 10 строке, мой текст оповещения появится именно на 10 строке в созданной таблице, а все остальные будут пустые. Это происходит, как я понимаю, потому что в скрипте прописана статическая таблица с уже известным кол-ом строк и соответствия этих строк конкретной бумаге:
SetCell(t_id, 10, 2, "Нет")
Но можно ли ка то сделать, чтобы, при совпадении условий, текст в таблицу добавлялся не фиксировано, а так: сработало условие по газпрому, и хоть он в таблице записан на 10 строке, но так как оповещение сработало первый, то что бы он записался в таблице первой строкой ? Если после газпрома, сработало оповещение на сбере, то записать в созданную таблицу текст оповещения второй строкой и так далее ?
Увеличить/Уменьшить, Увеличить/Уменьшить
Пользователь
Сообщений: Регистрация: 23.03.2015
27.10.2016 17:59:11
Это вообще бред сумасшедшего какой то: 11 марта 2016 - 27 октября 2016 = 228 дней !! Вы не можете добавить, а точнее ВЕРНУТЬ две кнопочки +/- 228 дней ?????
Увеличить/Уменьшить, Увеличить/Уменьшить
Пользователь
Сообщений: Регистрация: 23.03.2015
26.10.2016 21:11:10
И в какой версии были добавлены +/ - ???
Верните значки zoom in / out в панель инструментов, пропали значки + и -
Пользователь
Сообщений: Регистрация: 23.03.2015
27.09.2016 18:18:12
Да вы разработчики потенциально шизнутые на голову, какого черта вы вообще их убрали * . идиоты
Автоматическое навешивание тегов
Пользователь
Сообщений: Регистрация: 23.03.2015
16.08.2016 20:50:30
Цитата
Zoya Skvorcova написал: Optimus1 Optimus1 , Добрый день, Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
Так и не понятно, удалось ли реализовать данный функционал ?
Автоматическое навешивание тегов
Пользователь
Сообщений: Регистрация: 23.03.2015
01.06.2016 08:17:47
Да по "тегом" понимается поле "идентификатора". Николай Комынин выше так же написал.
Автоматическое навешивание тегов
Пользователь
Сообщений: Регистрация: 23.03.2015
31.05.2016 21:24:46
Это я понимаю. Под "навесить" я имел ввиду дать значение тега конкретной диаграмме, ведь по умолчанию там пустое поле.
Автоматическое навешивание тегов
Пользователь
Сообщений: Регистрация: 23.03.2015
31.05.2016 17:45:47
Здравствуйте,
Подскажите пожалуйста, а можно ли как то автоматически изменить и создать название тега графика по принципу: вот открыты все 5 минутные графики, и на этих графиках на график цены "навесить" тег содержащий стандартное название бумаги + свой текст ?
Графики в квике
Пользователь
Сообщений: Регистрация: 23.03.2015
23.05.2016 20:49:22
Спасибо, но хоть убейте из QLUA.chm по разделу "индикаторы тех. анализа" не могу вообще ничего понять по построению графиков.
Может быть есть хотя бы легкие примеры, как это вообще делается ?
Графики в квике
Пользователь
Сообщений: Регистрация: 23.03.2015
23.05.2016 20:03:41
И данные со стакана тоже можно визуализировать получается ?
Графики в квике
Пользователь
Сообщений: Регистрация: 23.03.2015
23.05.2016 19:59:21
Так то же именно индикаторы, а хотелось бы именно графики. То есть график по биржевым данным.
Графики в квике
Пользователь
Сообщений: Регистрация: 23.03.2015
23.05.2016 18:39:24
Здравствуйте,
Подскажите, а с помощью скрипта Lua так и нельзя свои графики в Quike строить/изображать ?
Отображение индикаторов с разных таймфреймов на одном графике
Пользователь
Сообщений: Регистрация: 23.03.2015
18.05.2016 21:19:34
Здравствуйте,
А можно ли в Quik к примеру индикатор RSI построенный по одной таймфрейму отобразить в другом окне в котором выбран другой таймфрейм ?
Выгрузка данных с графиков Quik, Считать данные с графиков