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

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

Страницы: Пред. 1 2 3
Последний индекс
 
Как проверить что изменился сайз?
Последний индекс
 
Допустим мне нужно узнать разницу закрытия последнего бара к предыдущему и сообщить мессидж. Как вы предлагаете это сделать?
Последний индекс
 
Нужно чтобы условие Size() == index сработало только один раз, а не много раз.
Последний индекс
 
В 22:04 - время загрузки индикатора - совпадение только действительно на последней свечке, а потом их - совпадений - больше и больше пока не станут практически все.
Последний индекс
 
Вот именно! И как тогда "можно узнать сравнив номер текущей с результатом функции Size()", если они для всех свечек после добавления индикатора совпадают? Какой индекс последний?
Последний индекс
 
Вот код

Код
function OnCalculate(index)
   return Size(), index
end


поместите на минутный график и подождите минуту :cool:
Последний индекс
 
Цитата
Sergey Gorokhov написал:
Последнюю на данный момент свечку, можно узнать сравнив номер текущей с результатом функции Size()

Пробовал - только пока не появится новая последняя свечка :sad:
Последний индекс
 
Как узнать что индекс в OnCalculate(index) является последним?
Матлаб из Клуа
 
Цитата
swerg написал:
Где почитать подробнее про этот пункт?
https://quik2dde.ru/viewforum.php?id=14

Спасибо но там для меня сложновато и не очень надежно. А вот ваша StaticVar.dl кажется весьма может пригодиться. Спасибо.
Матлаб из Клуа
 
Цитата
Николай Камынин написал:
Может не имеет смысла вычислять 2+2 на матлабе?

В принципе согласен, всякие там нейросети как-то не дали особого преимущества, а посчитать МА можно и в экселе. Но МЛ надежен, удобен, универсален. Так что там у меня всё и системы и базы и типа бухгалтерии с выводом в эксель. Оргцентр в общем.
API C для LUA полно, но в основном наоборот из С в LUA. Пока не нашел, что мне бы нужно или не понял. Си не знаю. Кстати, Луа только Си с плюсами принимает, а то бы на шарпе я бы мог.
Матлаб из Клуа
 
Цитата
Николай Камынин написал:
4) Подключаем DLL к LUA.

Где почитать подробнее про этот пункт?
А матлаб не так уж и сильно грузит, не знаю пока как быстр обмен по Кому.
Матлаб из Клуа
 
С Амиброкером не вышло, а вот с Матлабом похоже выходит:

Код
--require "w32" -- говорят что нужна, на практике не увидел
require "luacom"
local isrun = true

function OnStop(flag)
    isrun = false
end
function main()
--w32.CoInitialize(nil)

ML = luacom.CreateObject("matlab.application.single")
assert(ML)
ML.Visible = 1 -- не обязательно там все равно ничего в принципе не видно, но проще убить процесс если что

t = tos(0)
message("tos = " .. tostring(#t)) -- меньше 150 тк фильтр по "SPBFUT"

ML:PutWorkspaceData("C1", "base", t); -- отправляем в МЛ под именем С1
message("Put")
wd = ML:GetWorkspaceData('C1', 'base') -- а вот так получаем обратно
message("C1(1,1) = " .. tostring(wd[1][1]))
ML:Execute("r = TST;") -- в МЛ у меня эта функция пишет данные в файл и возвращает "1", если все гладко
r = ML:GetWorkspaceData('r', 'base') -- на прямую результат возвращает криво, так наверно удобнее
message("Execute TST = " .. tostring(r))

ML:Quit()
ML = nil
--w32.CoUninitialize(nil)
message("end COM ML")
end

function tos(n) -- читает ТОС  в матрицу начиная с "n"
   local outcell = {}
   local cnt = 0
   nn = getNumberOf("all_trades")
   for i = n, 150 do -- для примера хватит 150 строчек, но максимум 1500 * 5
                                 -- приходится ограничить - у LuaVM случается грыжа при передаче в МЛ более чем 2000*5
      trade = getItem("all_trades", i)
      cc = trade["class_code"]
      if cc == "SPBFUT" then
         cnt = cnt + 1
         dt = trade["datetime"]
         dt = dt.hour*10000 + dt.min*100 + dt.sec
         outcell[cnt] = {trade.trade_num, trade.sec_code, trade.qty, trade.price, dt}
      end
   end
   return outcell
end
Amibroker из Клуа
 
Цитата
swerg написал:
Посмотрите подробнее здесь, там показано как COM-вызовы использовать в main() QLua
https://quik2dde.ru/viewtopic.php?id=81
Спасибо за ссылку, а то от поддержки которая всегда поможет и этого не дождешься. Но не помогает.
Amibroker из Клуа
 
Смешно - и там эксель не закрывается. Ну и зачем мне эти тысячи функций клуа, если они не работают нормально. Танцы с бубнами давно как надоели. Что купайл, что клуа можно использовать только для отслеживания позиции. Так купайла вполне достаточно.

Индикаторы на клуа считаются по многу раз - даже когда их удаляешь! По всей истории, когда на графике всего 500 свечек. Тоже не просто исправить или "кому это надо". Статфункций нет. Предлагается изобретать велосипед. Даже хэлпа вменяемого нет. Сравнить с тем же Амиброкером - там видно, что человек старается. Все описано с примерами, а что описано - работает. Язык для трейдера старается сделать проще и удобнее а не предлагает изучать тонкости объектно-ориентированного программирования.

Хотел вот на досуге ознакомиться с клуа, после того, как купайлу чуть не сделали аборт... Да уж  :cry: Конечно, если купайл все-таки прибьют, придется скрипты для отслеживания позиций переписать на клуа. Но не более. И это через 16 лет как вышла Омега Трейд Стейшн 2000.
Amibroker из Клуа
 
Sergey Gorokhov, QUIK clients support (Отказ от поддержки встроенного языка QPILE):
Цитата
Если у Вас возникнут проблемы с освоением Lua поддержка всегда поможет.

Ау! Где вы любители великого и могучего клуа? И всегда на поддержке. Как пинать купайл так сразу, а как помочь...

Цитата
Но в QPILE нет сотен тысяч функций LUA

Ага, функция есть. Результата нет...
Amibroker из Клуа
 
Цитата
swerg написал:
Доступно ли СОМ в main()- вопрос
Не вопрос. Просто функция main выполняется в отдельном потоке, т.е. она не мешает работе основного функционала терминала QUIK. Если скрипт маленький можно и без мэйн.
Amibroker из Клуа
 
Ладно, у Ами свои причуды. Но вот тут то чего не хватает:
require "luacom"
Код
function main()
  sh = luacom.CreateObject("WScript.Shell")
  RetCode = sh.Run("c:\Hellolua.vbs", 0, True)
  message(tostring(RetCode))
  sh = nil
end

COM exception:(..\src\library\tLuaCOM.cpp,386):Не удается найти указанный файл. Слэши пробовал во всех ориентациях...
Amibroker из Клуа
 
[/QUOTE]Я для работы с амиброкером делал свои плагины на СИ и для ами и для квика.
У амиброкера есть хороший api и хорошее описание.[/QUOTE]
На СИ понятно, хотелось бы напрямую...
Amibroker из Клуа
 
Пытался подключиться к Ами
Код
require "luacom"
ami = luacom.CreateObject("Broker.Application")
ami.Visible = true
aa = ami:LoadDatabase("D:\\PF\\AmiBroker\\DB\\trade")
Работает. Но дальше облом...
Код
qq = ami:Import(0, "c:\\valg\\rt.txt")
Ошибки не выдает, но и ничего не делает (в логах импорта Ами просто пусто).
Код
st = ami.Stocks:Add("RTSI")
Ошибка - attempt to index field 'Stocks' (a function value)

Может кто что подскажет? :what:
получение параметров индикатора, обращение к line
 
Самое забавное индикатор пересчитывается даже при удалении.
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
 
Или если ТОС с фьючами без фильтров снова запустить: редактировать - да, то фильтр в заказе данных автоматом снимется и данные подкачаются.
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
 
Посмотрел - кода создаешь новую ТОС с фильтром, то этот фильтр автоматически устанавливается в: заказ данных - поток ОС. Если его обратно снять там, то все ТОСы начинают грузиться по своим фильтрам.
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
 
У меня версия 7215 бкс. Если открыта ТОС например с выводом всех фьючерсов без фильтра, а потом создать вторую ТОС с каким-то одним фьчерсом, то и в первой все остальные кроме этого перестают выводиться (???). Впрочем и раньше замечал - по непонятным причинам переставали выводиться какие-то фьючерсы и приходилось перезагружать ТОС.
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Vitaly Skorobogatov написал:
Ввиду того, что мы получили более чем достаточное вполне количество объективных обоснований того, что QPILE пока нужен и в ряде случаев QLUA его не заменяет - принятие решения о прекращении поддержки откладывается на неопределенный срок. За сравнительную информацию о недостатках LUA в QUIK спасибо, мы ее учтем и используем при дальнейшем планировании развития QLUA.
И вам спасибо!
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Sergey Gorokhov написал:
Просто Вам повезло не столкнуться с проблемами вот и все.
В данный момент мы уже отказались от дальнейшего развития QPILE
Дальше стоит вопрос об отказе поддержки. То что раньше приходилось "делать раз в 10 лет" делаться более не будет.
Сталкивался и не раз - нововведения любимая игра бюрократов и биржа не исключение. Но я уже писал вам, что переделка логики робота это проблема на стороне пользователя. А какие уж такие проблемы и трудозатраты на вашей стороне вы так и не показали. Из-за копеечного вопроса  вы показываете полное пренебрежение интересами клиентов. Лицемерно пишите, что интересуетесь мнением клиентов, а потом проговариваетесь, что вопрос решен.

Вот это пренебрежение и лицемерие даже в большей степени основание подумать с вами расстаться, чтобы через пару лет не пришлось срочно переходить с клуа на какой-нибудь супер новомодный Си с тремя плюсами с миллионами функций, которых не было в старом клуа,  и на что вы самоотверженно бросите все свои силы.

В общем, давайте, стреляйте себе в ногу из-за копеечного вопроса.
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Sergey Gorokhov написал:
То что с документацией есть сложности к сожалению правда, мы стараемся исправить этот недочет.
В лубом случае если возникнет недопонимание, служба поддержки всегда готова помочь.
Уж как минимум прежде чем заставлять переходить с купайла на клуа надо бы разобраться и устранить "недочеты" (уж точно он не один), а не обещать стараться. Откровенное пренебрежение к клиентам и как вы стараетесь давно всем ясно.
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Sergey Gorokhov написал:
Да пришлось кардинально менять логику роботов QPILE, так как кардинально изменились сами принципы торговли. Если Вам повезло не застать этот период или не столкнуться с переходом, это не значит что другим повезло также.
А причем здесь логика роботов? Эта проблема была на стороне пользователей. А на вашей - добавить стандартную табличку. Всего делов, а не логику менять. Неподъёмная работа раз в 10 лет. И из-за этого столько проблем для пользователя. Да еще под соусом - купайл говно,морально  устарел. Лицемерие сплошное.
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Sergey Gorokhov написал:
те где есть упоминание про вид лимита:
GET_CLIENT_MARGINAL_PORTFOLIO_INFO_EX
GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX
+ дать доступ к полю LIMIT_KIND из таблиц MONEY_LIMITS и DEPO_LIMITS
И что? Пришлось менять логику самого купайла? Добавлять "сотни тысяч" функций, которых нет в купайле, но есть в клуа? И это раз в 10 лет. Сколько трудов ушло на добавление новой обычной таблички... О ужас! А заставить сотни клиентов переучиваться и перелопачивать полностью свои наработки, да еще не известно с каким результатом - это фигня, конечно, по сравнению с этим.
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Sergey Gorokhov написал:
Например когда появилась Т+ схема лимитирования.
А конкретнее, какие новые функции пришлось добавлять в купайл?
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Sergey Gorokhov написал:
Это потому что была поддержка, а теперь мы планируем ее убрать.
То есть не факт что оно дальше будет работать
Можете привести конкретный пример за последние 10 лет когда без поддержки купайл перестал бы работать?

Тема не только вызвала резонанс, но и показала четкое разделение мнений: те кто работает на рынке - руки прочь от купайла, те кто программирует - купайл говно и в скобочках "могу переписать любую прогу с QPILE на LUA, но не бесплатно". Ну всё понятно...
[ Закрыто] Отказ от поддержки встроенного языка QPILE, Отказ от поддержки встроенного языка QPILE
 
Цитата
Sergey Gorokhov написал:
рано или поздно возникнет ситуация, при которой Ваши алгоритмы будут просто не подготовлены к текущей ситуации на рынке так как биржа постоянно обновляется.
А ручонки-то чешутся...
У меня купайл с 2005 года работает. И ничего, все обновления пережил. Отключение переживет вряд ли.
Единственная просьба: о решении сообщить заранее, за месяц хотя бы. И не через форум, а сообщением в квике. Заранее благодарен.
Глюк БКС
 
Таблица Позиции по счетам Вар. маржа обнулена. В таблице параметров все нормально, а при обращении из купайла Пред. оценка, шаг цены и его стоимость обнулены.
позиции по фьючам
 
Раньше в таблице позиции по фьчам в столбце стоимость позиции после дневного клиринга показывалась вариационка дообеденная, а сейчас нули?
Страницы: Пред. 1 2 3
Наверх