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

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

Страницы: Пред. 1 ... 55 56 57 58 59 60 61 62 63 64 65 ... 78 След.
Индикатор Jurik Moving Average в Quik, Добавить в Quik индикатор Jurik Moving Average
 
Это вопрос уже к автору скрипта индикатора
Индикатор Jurik Moving Average в Quik, Добавить в Quik индикатор Jurik Moving Average
 
Вы путаете общедоступные индикаторы с платными.
Индикатор Jurik Moving Average в Quik, Добавить в Quik индикатор Jurik Moving Average
 
Я еще раз повторяю, мы не имеем права страивать в свой софт платные продукты сторонних компаний без урегулирования юридической стороны составляющей. И речь не о том "в состоянии" или "не в состоянии" а в согласовании вопросов обоих сторон.
В конце концов автор этого индикатора может просто отказать нам в этом и все.
Или заломить такую цену что целесообразность добавления конкретно этого индикатора будет не оправданной.
И при чем тут программисты когда речь о юридической стороне вопроса?
Открытие и Закрытие позиций
 
Сергей,
Если Вы уточните в чем именно отличие "позиций" то можно.

В идеале, если Вы хотите чтобы два робота торговали по разному, то и счета для них должны быть разными
если счет один, то они в любом случае будут пересекаться.
Банально например один робот все продал, и второму уже не досталось.
Поэтому нужно четко понимать в чем должна быть разница между "позициями"
Куда быстрее попадают новые данные, в стакан или таблицу текущих параметров?, Интересуют лучший спрос и лучшее предложение - спред в стакане.
 
Здравствуйте,
Вы правильно заметили что "если только программу писать для сравнения."
Так как порядок нигде жестко не прописан.
У каждого по разному.
Открытие и Закрытие позиций
 
Здравствуйте,
Если купить 1 бумажку за 10р
потом купить вторую, точно такую же за 11р
а потом третью, опять же ничем не отличающуюся, но по 12р.
итого получится 3 бумажки за 10+11+12=33 рубля. то есть со средней ценой приобретения 1бумажка=11р
так как бумажки абсолютно одинаковые, нет разницы какую потом продавать чтобы остаться в плюсе.
Главное чтобы цена была выше 11р за бумажку.
Зависает Квик при запуске скрипта передачи данных под Win10, При апгрейде Win 7 и 8 до Win 10 возникла проблема - квик зависает при запуске скрипта передачи данных
 
То что на старой винде он "вполне работал" совсем ничего не значит.
Просто потому что это разные операционные системы.
Если считаете что именно в этом причина, ищите различия в самих системах. С Ваших слов код же одинаковый, а значит проблем в нем в нет.
Или же все таки прислушаться к совету и привести его в порядок и тогда на любой системе он будет работать нормально.
Это и есть та оптимизация с которой сталкиваются любые программисты
Зависает Квик при запуске скрипта передачи данных под Win10, При апгрейде Win 7 и 8 до Win 10 возникла проблема - квик зависает при запуске скрипта передачи данных
 
Alex
Из приведенного кода не совсем понятно что он делает.
Он при каждом изменении сохраняет последние 50 свечек?
Если так то возможно проблема в логике кода и не надо сохранять последние 50 свечек, а только одну которая изменилась?
Для этого есть функции ds:O(index), ds:H(index), ds:L(index), ds:C(index), ds:V(index)

А если надо получить старые свечки, то не брать постоянно одни и те же свечи в колбэке (смысла нет т.к. они не меняются) а хранить их в какой-нибудь таблице в памяти и добавлять туда новые значения той же table.insert
Заявки тейк - профит
 
Здравствуйте,
Такое можно реализовать только через скрипт на QLUA
Проблема с функцией GET_CANDLE, не выполняется код программы с функцией GET_CANDLE
 
Константин
Отличие в типах данных. В частности  +0 возле массива Price_candle был явно лишним
+ бонусом перевели дату и время в строковый тип. Это не причина, но так оптимальней (особенность QPILE)
К слову рекомендуем забыть про QPILE так как он уже считается устаревшим и более не развивается и перейти на QLUA
Проблема с функцией GET_CANDLE, не выполняется код программы с функцией GET_CANDLE
 
Здравствуйте,
Просьба проигнорировать предыдущий ответ.
исправьте вот так:
Код
BUMAGA="ROSN" 
CLASS="TQBR" 
DATE_N="20160126"
TIME_N="104000"
Price_candle=GET_CANDLE(CLASS, BUMAGA, "", "10", "PRICE", DATE_N, TIME_N)
Price_candle_close = Get_Value (Price_candle,"close")+0 
Price_candle_open = Get_Value (Price_candle,"open")+0 
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Здравствуйте,
MOVE_ORDERS является биржевой транзакцией
brokerref является биржевым параметром.
В связи с чем, раз биржа переносит brokerref значит биржа считает это нормальной ситуацией.
За комментариями к специалистам биржи.
Зависает Квик при запуске скрипта передачи данных под Win10, При апгрейде Win 7 и 8 до Win 10 возникла проблема - квик зависает при запуске скрипта передачи данных
 
Вы совершенно верно заметили что анализ проблемы производительности скриптов
EasyScalp, Cofite LiveTrade Scalping следует адресовать непосредственно разработчикам этих скриптов.
getQuoteLevel2, Приведение данных к корректному виду
 
Ответ уже был дан, дополнительные комментарии считаю излишними.
getQuoteLevel2, Приведение данных к корректному виду
 
В обозримом будущем изменения в этом месте не планируются
getQuoteLevel2, Приведение данных к корректному виду
 
Здравствуйте,
Да это наследство от QPILE.
getBuySellInfoEx
 
Здравствуйте,
Согласно документации, функция getBuySellInfoEx служит для получения параметров из таблицы «Купить/Продать».
А значит для ответа на Ваш вопрос Вам достаточно просто взглянуть на эту таблицу в терминале QUIK
Напомню, она открывается из таблицы Клиентский портфель, двойным кликом по какой либо строке в этой таблице.
Собственно если Вы там увидите RIH6 значит сможете получить его через функцию getBuySellInfoEx
Но Вы его там можете и не увидеть, так как в первую очередь эта таблица создана не для фьючерсов, а для акций/облигаций.
Фьючерсы там отображаются только в случае если брокер использует единую денежную позицию
Зависает Квик при запуске скрипта передачи данных под Win10, При апгрейде Win 7 и 8 до Win 10 возникла проблема - квик зависает при запуске скрипта передачи данных
 
Здравствуйте,
Просьба прислать нам дампы для анализа на ящик quiksupport@arqatech.com
заранее спасибо
Фокус на Quik, В небольшой программе при нажатии на кнопку фокус должен перейти на приложение Quik.
 
Здравствуйте,
Мы не одобряем использование WinApi для доступа к терминалу QUIK
В связи с чем не можем давать ответы на указанные вопросы.
Как на диалог со списком скроптов Lua назначит горячую клавишу?
 
Добрый день,
   
    Ошибка будет исправлена в одной из очередных версий программы.
    Приносим извинения за причиненные неудобства.
Как эффективнее разгрузить КВИК
 
Цитата
Космонавт пишет:
Сергей Горохов,
это правда то, что написал Николай Камынин?
Неужели и в таблицу всех сделок данные заезжают срезами?
Нет, ТВС едет не срезами, тут скорее имеется в виду сама по себе технология TCP/IP которая сама по себе предполагает пакетную передачу данных. Но это уже вопрос не к QUIK а к Microsoft
getBuySellInfoEx
 
Здравствуйте,
В последнее время никаких обращений о проблемой с функцией getBuySellInfoEx к нам не поступало.
Если Вы считаете что функция работает не правильно, приведите конкретный пример вызова функции, ее результат, и скриншоты таблиц лимитов по бумагам и по деньгам.
Денежные средства по срочному рынку, Сумма по деньгам и открытым позициям
 
Цитата
Вячеслав пишет:
Как из lua заглянуть в таблицу "Состояние счета "?
Такой возможности нет
trans_id в OnTrade
 
Цитата
ilushin пишет:
Не правильно вопрос задал, знаю, что не устранены. Занимаетесь? Сделаете?
Мы работаем над выпуском обновления. К сожалению по срокам сообщить не можем.
Как в Lua сделать безусловный переход ? Или такой возможности нет ?
 
goto есть в Lua 5.2
Мы пока не планируем переводить QLUA на 5.2
Правильно ли я понимаю общую концепцию QUIK + DDE/QLua?, Впрос по концептуальному видению
 
Здравствуйте,
QLUA не работает с таблицами терминала (исключение только функции работы с графиками).
Она работает с хранилищем данных в котором находятся данные из этих таблиц
Это значит что пользователь может менять колонки местами, настраивать фильтры, открывать по несколько одинаковых таблиц с разными настройками, это ничего не изменит. в QLUA все равно попадут все данные из хранилища.
Другой вопрос в том как эти данные в хранилище попадают.
Они туда попадают только если был выполнен их заказ. Заказ данных, осуществляется как раз путем открытия таблиц.
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Цитата
PFelix пишет:
2. 50 сделок будут обработаны по порядку:
- вызов калбека, далее заполнение строки ТВС;
- вызов калбека, далее заполнение строки ТВС;
и так 50 раз
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Цитата
PFelix пишет:
Сергей, 50 калбеков разом/порцией.
колбэк в LUA сработает по порядку, никаких порций
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Цитата
PFelix пишет:
одним чохом
Просьба передать информацию более понятными терминами, так как нам не понятно что такое "чохом"
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Цитата
PFelix пишет:
Может ли сформироваться ситуация (при "подписке" на ликвидный инструмент, в момент какого-нибудь стопа), когда
основной поток не успевает складывать данные в хранилище, т.е. приходит калбек, а данные, переданные в предыдущий(ие),
в хранилище еще не поступили.
не понял вопроса.
Вы имеете в виду может ли быть нарушен хронологический порядок? Если так то нет.
Изучаем Qlua., "hello world"
 
Цитата
Никита Васильев пишет:
Все равно не получается
ЧТо именно не получается?
И зачем Вы что то добавляли в примере?
Вам просто надо вызвать функцию KillAllOrders с параметрами (код класса, код бумаги, код клиента)
Если Вам надо без кода клиента можно так:

Код
 function KillAllOrders(classCode, secCode)
   function myFind(C,S,F, BR)
      return (C == classCode) and (S == secCode) and (bit.band(F, 0x1) ~= 0) 
   end
   local res=1
    local ord = "orders"
   local orders = SearchItems(ord, 0, getNumberOf(ord)-1, myFind, "class_code,sec_code,flags")
   if (orders ~= nil) and (#orders > 0) then
      for i=1,#orders do
         local transaction={
                  ["TRANS_ID"]=tostring(1000*os.clock()),
                  ["ACTION"]="KILL_ORDER",
                  ["CLASSCODE"]=classCode,
                  ["SECCODE"]=secCode,
                  ["ORDER_KEY"]=tostring(getItem(ord,orders[i]).order_num)
            }
         local res=sendTransaction(transaction) 
      end
   end
   return res 
end
 
OnParam присылает нулевые колбеки
 
Цитата
Космонавт пишет:
то есть это был класс "неполные лоты", а не TQBR
то есть гипотеза была верной
OnParam присылает нулевые колбеки
 
Цитата
Sergey Gorokhov пишет:
Цитата
Космонавт пишет:
то есть гипотеза, что нули приходят из за какого то левого класса - не верна
Вы меняете bid_best и offer_best после того как пришел колбэк, это уже некорректно
Выполните эксперимент на нашем примере который был указан выше
Посмотрите сами,
Допустим пришел колбэк с нулями, по инструменту НЕ из TQBR
Согластно коду он записался в  bid_best[sec] и offer_best[sec]
Потом пришел другой колбэк без нулей по тому же самому инструменту но из класса TQBR
Согласно коду bid_best[sec] и offer_best[sec] возьмутся из первого колбэка то есть не из того класса который запишется в лог
OnParam присылает нулевые колбеки
 
Цитата
Космонавт пишет:
то есть гипотеза, что нули приходят из за какого то левого класса - не верна
Вы меняете bid_best и offer_best после того как пришел колбэк, это уже некорректно
Выполните эксперимент на нашем примере который был указан выше
OnParam присылает нулевые колбеки
 
Цитата
Космонавт пишет:
проверил.
Класс - TQBR
то есть правильный, основной
Что проверили? где класс корректный? Какой код используется?
OnParam присылает нулевые колбеки
 
Цитата
Космонавт пишет:
Там же есть строка if string.find(ticker_list,sec)~=nil then
Если вы прочитаете заглавное сообщение, то увидите нули по ликвидным акциям, которых не может быть в торговое время.
я не вижу проверки на класс в этой функции
Проверка инструмента да есть, а что если один инструмент в двух классах?
OnParam присылает нулевые колбеки
 
И потом, в таблицу bid_best и offer_best тоже попадают данные без проверки класса, а значит легко может оказаться что правильные данные затрутся неправильными.
И при первичном запуске тоже в лог запишутся нули.
В общем рекомендация переделать логику, а уже потом делать выводы что в колбеке нули
Хотя бы так:

Код
function OnParam (class, sec)
     if string.find(ticker_list,sec)~=nil then
      if getParamEx(class,  sec, "bid").param_value==0 then toLog (log, class.." "..sec.." пишет колбек бид 0") end
      if getParamEx(class,  sec, "offer").param_value==0 then toLog (log, class.." "..sec.." пишет колбек аск 0") end
   end
 end
OnParam присылает нулевые колбеки
 
Не по всем классам может быть спрос предложение, и это нормально.
У Вас же функция пишет в лог инструменты из всех классов
OnParam присылает нулевые колбеки
 
Здравствуйте,
Приведите пример кода
Неизвестная ошибка при запуске скрипта
 
Цитата
green_X5 пишет:
Один только вопрос, то сообщение, что на картинке в 1-ом посте, это из квиковских шаблонов при ошибках? Или одна из библиотек рожает?
Эту ошибку возвращает сам LUA
Неизвестная ошибка при запуске скрипта
 
Цитата
green_X5 пишет:
разрешения "Всем" к диску уже пробовал, тщетно
Попробуйте почитать в сторону UAC.
Неизвестная ошибка при запуске скрипта
 
Цитата
green_X5 пишет:
Есть предположение, что с библиотеками всё в порядке, а вот попытка найти лог файл и при его отсутствии создать оный и приводит к неведомой ошибке,
Не исключено, ибо Windows параноидально следит за папкой ProgramFiles
Выход либо писать файлы в другое место, либо перенести терминал в другую папку
Изучаем Qlua., "hello world"
 
Здравствуйте,
Попробуйте следующую функцию

Код
 function KillAllOrders(classCode, secCode, brokerref)
   function myFind(C,S,F, BR)
      return (C == classCode) and (S == secCode) and (bit.band(F, 0x1) ~= 0) and (BR == brokerref)
   end
   local res=1
    local ord = "orders"
   local orders = SearchItems(ord, 0, getNumberOf(ord)-1, myFind, "class_code,sec_code,flags,brokerref")
   if (orders ~= nil) and (#orders > 0) then
      for i=1,#orders do
         local transaction={
                  ["TRANS_ID"]=tostring(1000*os.clock()),
                  ["ACTION"]="KILL_ORDER",
                  ["CLASSCODE"]=classCode,
                  ["SECCODE"]=secCode,
                  ["ORDER_KEY"]=tostring(getItem(ord,orders[i]).order_num)
            }
         local res=sendTransaction(transaction) 
      end
   end
   return res 
end

Неизвестная ошибка при запуске скрипта
 
Цитата
green_X5 пишет:
И ещё одна проблема, только на моем компьютере. Квик Джуниор, при неудачном старте скрипта слетел пункт Доступа к скриптам в меню, как вернуть?
Попробуйте перезапустить терминал с очисткой данных (Система - Заказ данных - Перезаказать данные)
если не поможет попробуйте восстановить WND файл из резервной копии.
Если снова не поможет пришлите нам для анализа архив всей папки с терминалом на адрес quiksupport@arqatech.com
Неизвестная ошибка при запуске скрипта
 
Цитата
green_X5 пишет:
Абсолютно рабочий скрипт, запускается у меня без проблем.
Дал скрипт другу, у него брокер Открытие, вот такая беда при попытке запуска




Скрипт должен вначале подкачивать доп файл, пару библиотек, создать лог-файлы.
Диску C сделали полный доступ от "Все", не помогает.
Может быть кто сталкивался?
рекомендуем обратиться к автору скрипта, возможно не хватает каких-нибудь настроек или библоитек.
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Цитата
PFelix пишет:
А есть ли какая-либо приоритетность калбека, устанавливаемого SetUpdateCallback (от CreateDataSource) и OnAllTrade?
приоритетности нет
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Цитата
PFelix пишет:
Сергей, здравствуйте.
Не нашел в описании.
Я правильно понимаю?
Если не нашли в описании значит оно у Вас устаревшей версии, или сам терминал устаревшей версии, выполните обновление.
Цитата
PFelix пишет:
В калбеке получим индекс (номер строки), с которым "идем" в таблицу обезличенных сделок?
Согласно документации, колбек OnAllTrade возвращает таблицу, а не номер строки.
Решил сделать себе индикатор паттерна - прошу ответить на вопросы, детектция паттерна, индикатор паттерна
 
Цитата
Алексей Шафиков пишет:
хотя бы скажите где почитать как нанести линию меткой или как в индикаторе на qlua линии наносятся?
метка - это рисунок (например можно рисовать в paint)
Далее вы этот рисунок добавляете функцией AddLabel

в QLUA.chm описание есть в главе "Функции для работы с метками"
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Цитата
PFelix пишет:
Здравствуйте.
В версии 7 в ТВС появился OI
Как его получить в QLUA, не из таблицы истории а именно из ТВС?
Спасибо.
ровно также как и любой другой параметр из ТВС. Имя параметра который требуется open_interest
Мелкие утилиты и индикаторы, Может кому пригодится
 
Цитата
Валентин пишет:
а как нарисовать с помощью qlua вертикальную линию на определенной свече (которая была в определенное время)?
Здравствуйте,
Через Lua можно рисовать такие линии только через механизм работы с метками
Страницы: Пред. 1 ... 55 56 57 58 59 60 61 62 63 64 65 ... 78 След.
Наверх