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

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

Страницы: Пред. 1 2 3 4 5 6 След.
Взаимодействие OLua и Lua под Виндой
 
Цитата
Андрей написал:
Мне кажется, нет я уверен, что хороший все сторонний тестер под Lua не написать (как мин без подключения доп. библиотек на языках типа плюсов и С#)
А мне кажется ничего и не нужно писать, lua работает с потоками, а это значит что скорость в lua должна быть выше любой сборки совместно с C# или С++. Может конечно я плохо знаю с#, но мне там не попадались стандартные функции работающие в своем потоке (кроме функций ввода-вывода). Поток там реализуется операционной системой виндовс, причем потоки разделяются между потоками задач самой операционной системы и пользовательскими задачами и скорость задержки пользовательских задач в среднем кратна 20 мс. А в lua на сколько я понял, используются dll которые сами создают потоки, и проблема может быть только одна пор идее, это синхронизация этих потоков, но это мои выводы, может кто то может это объяснить более грамотно. А отладчик для qlua декода, очень хороший отладчик, хоть и немного капризный. А для Lua мне очень нравится отладчик zbstudio.exe, на мой взгляд, лучше VS.
человек (не робот)
Взаимодействие OLua и Lua под Виндой
 
Цитата
lergen написал:
Хочу пока с lua разобраться какие варианты есть передать параметры из скрипта работающего в квике скрипту который запущен  в винде.
Наверно это возможно через общие объекты, доступные как в квике, так и в  Луа самой винды, например простой текстовый файл. Он может создаваться и там и там и соответственно читаться тоже. Или через файл HTML, с ним наверно даже проще его не нужно открывать и закрывать как текстовый, на одной стороне он просто дописывается, а на другой стороне он читается, единственная проблема, что если прочитать раньше времени, то данные будут не обновленные, а старые. Это на мой взгляд самая простая передача данных, а по времени она не затратная, скорость записи на диск на современных ПК составляет 133 Мбайт/сек. Можно наверно через MySQl, но мне кажется это все будет работать медленнее, хотя как вариант можно и через какую либо локальную БД.
человек (не робот)
Можно ли в Квике настроить контекстное меню к своей таблице?
 
В программе Квика хорошо используется контекстное меню в таблицах, могу ли я настроить такое меню (программно) для своих созданных таблиц (которые я создаю программно), они же визуально видны и было-бы очень удобно пользоваться таким меню, например оперативно закрыть свою сделку, если она например, не верно была отработана в системе Квика?
человек (не робот)
Можно ли в разных программах работать с одной заявкой?
 
Мне как новичку пока еще трудно написать полный код (и конечно отладить), что бы одновременно отслеживать тренд, для разных бумаг по своему индикатору, с открытием сделки
Код
sendTransaction(transaction)
. И одновременно, в этом же коде, отслеживать ее исполнение/прохождение
Код
OnTransReply -> OnTrade -> OnOrder
Можно ли мне пока разделить этот код на разные файлы и запускать их по отдельности? В первом файле я бы искал начало тренада по нужным мне бумагам и открывал сделку. И этот бы файл крутился постоянно в терминале, с некоторой задержкой, в конце очередного цикла. А второй файл, тоже бы постоянно крутился в цикле с задержкой и отслеживал результат сделки, и выводил бы свою таблицу с нужными мне данными по сделкам первого файла? Теоретически такое возможно?
человек (не робот)
Для чего нужна функция SetUpdateCallback?, Работа с данными.
 
Цитата
Борис Гудылин написал:
для обработки события - изменения свечи в источнике данных,
Спасибо, значит если я правильно понял, то:
1. SetUpdateCallback - приходят только изменения свечек
2.SetEmptyCallback -приходят 3000 последних свечек и в локальном терминале это пришедшие 3000 свечек - частично меняют те, которые уже были ранее?
А синхронизация свечей в таком случае идет по времени , привязанной к свече или у каждой свечи есть свой сквозной идентификатор ?
человек (не робот)
Где можно посмотреть функции пострения графиков?, QLUA.chm
 
Цитата
Egor Zaytsev написал:
При помощи LUA Вы можете получить данные с имеющихся графиков.
Чтобы построить свой график/индикатор, то для этого можно использовать "Индикаторы технического анализа"
Я понял так, что Квик график строит только, с помощью индикатора - можно рассчитать точки для графика в конкретном, открытом ранее вручную окне с заданным инструментом и интервалом. Я же имею в виду почему в Квике нет функция для программного открытия новых окон и программного построения в них графиков.Технически ведь это сделать на мой взгляд не трудно. В квике же есть команда разработчиков кода мне кажется.Зачем нужно руками, через меню открывать график/индикатор и потом с ним работать программно, если по идее проще открыть его программно? Или я что то не так понял?
человек (не робот)
Как прочитать данные от брокера , а затем их добавить и сохранить?, Работа с историческими данными
 
Цитата
Egor Zaytsev написал:
Все что свыше этого кол-ва копится непосредственно на терминале пользователя. Кол-во свечей в этом случае может доходить до 65 тысяч.
Большое спасибо за ответ, но если все это так, почему нет функции в Квике, для чтения этих данных (непосредственно на терминале пользователя) , это было бы удобно и логично, каждый бы сам собирал у себя все необходимые исторические данные и тестировал на них свой код, а не пользовался бы этими данными через десятки вспомогательных программ тестирования, зачем весь этот огород придуман? И ведь Lua сам отлично строит графики, а в винде не трудно создавать окна (ну или в формате html, lua может и это). Конечно все это я думаю можно написать и самому, но времени уйдет очень много. Почему Квик не развивается в этих направлениях? Мне кажется так удобнее было бы работать.
человек (не робот)
Где можно посмотреть функции пострения графиков?, QLUA.chm
 
Прочитал документацию и не нашел ни одной функции по построению графиков, может не в той документации смотрел? Но по идее такие функции должны быть, а то как то не логично строить графики руками, программно было бы удобнее строить графики. Вроде бы lua позволяет это делать, вот примерная ссылка
человек (не робот)
Для чего нужна функция SetUpdateCallback?, Работа с данными.
 
10 раз прочитал описание функции SetUpdateCallback в QLUA.chm, но так и не понял для чего она служит? Она буквами чем-то похожа на функцию SetEmptyCallback, но с этой функции примерно понятно, она в паре CreateDataSource позволяет получить данные с биржи за текущий интервал времени. Пример, который дается в QLUA.chm Пример получения времени из свечки: - получение времени какой либо свечки по индексу? Но если переводить английские слова в функции , то значить она должна что то типа - установки обновления обратного вызова, значит она по идее должна добавить вновь появившиеся свечи? Может быть есть еще какой-то пример для этой функции?  
человек (не робот)
Как работать с данными после рабочей сессии? (когда биржа закрыта или в выходные), Работа с историческими данными
 
Цитата
Egor Zaytsev написал:
Чем не удобен функционал считывание данных из самого графика в QUIK?
так не работает по выходным этот функционал, и после пол 7 вечера по москве тоже не работает или я не прав?
человек (не робот)
Как продать заявку на продажу по заданным инструментам?, Рыночная заявка.
 
Цитата
Игорь Б написал:
Я делаю через таблицу заявок. По номеру заявки через getItem(). Далее по флагу (активна/не активна).
Кто-то делает через таблицу сделок.
Спасибо большое , поразбираюсь.
человек (не робот)
Как продать заявку на продажу по заданным инструментам?, Рыночная заявка.
 
Цитата
Игорь Б написал:
Не много не понятен термин "закрыть заявку".
Можно закрыть позицию или сделку.
Спасибо за ответ, Вы правы формулировка еще пока "хромает" не понимаю четко, как понятнее задавать вопросы. Да конечно закрыть позицию или сделку.
человек (не робот)
Фильтрация транзакций "своего" робота
 
Цитата
Илья написал:
И это не спасает в случае, когда в систему загружены посторонние роботы.
На сколько я понял ответы разработчиков, то чужие ID (не ваших роботов) Вы не увидите, так как вы работаете в терминале и вам доступны только ваши сделки (только ваши ID), чужие сделки вы не сможете никак перепутать со своими. Если конечно я правильно понял вашу мысль.
человек (не робот)
Как продать заявку на продажу по заданным инструментам?, Рыночная заявка.
 
Написал первый код, автоматической подачи заявки по критериям (счастью нет предела)
Код
local Transaction={
   ['TRANS_ID']   = "12345",
   ['ACTION']     = 'NEW_ORDER',
   ['CLASSCODE']  = 'TQBR',
   ['SECCODE']    = sins,
   ['OPERATION']  = 'B',
   ['TYPE']       = 'M', 
   ['QUANTITY']   = '1', 
   ['ACCOUNT']    = 'L01-00000F00',
   ['PRICE']      = '0',
   ['COMMENT']    = 'Первая сделка'
     }
     -- Отправляет транзакцию
    sendTransaction(Transaction);
   sleep(200)
   local Status = trans_Status; --проверка результата ее регистрации на бирже
   message(Status);
А как сейчас мне закрыть эти заявки? Какой общепринятый механизм закрытия заявки, в коде я конечно могу поменять одну строку, что бы заявка закрылась
Код
['OPERATION']  = 'S',
Но сперва наверно нужно как-то убедиться, что заявка на покупку - перешла в сделку на исполнение, как это сделать? Что бы в заданный момент времени отправить противоположную заявку.
человек (не робот)
Как работать с данными после рабочей сессии? (когда биржа закрыта или в выходные), Работа с историческими данными
 
А какая есть?
человек (не робот)
Как работать с данными после рабочей сессии? (когда биржа закрыта или в выходные), Работа с историческими данными
 
В процессе работы с различными бумагами, данные из Квика записываются в локальные файлы, на рабочем компе с расширением *.dat (d:\BCS_Work\Учебный QUIK БКС\archive\TQBR_APTK_1.dat -пример) Какой функцией эти данные можно прочитать?

Пока я нашел только такой вариант, но это очень долго (перевожу данные через QMinEditor.exe в текстовый файл) и затем работаю с этим кодом
Код
...
f2 = io.open("1.txt","r"); --минуты
    f2:flush(); f2:seek("set",0);
      for line in f2:lines() do   
...
Но наверно я изобретаю велосипед и эти данные из файла примера можно считывать через функции , как-то проще?  
человек (не робот)
Как прочитать данные от брокера , а затем их добавить и сохранить?, Работа с историческими данными
 
Нашел такой код для считывания данных от брокера (может есть и проще?), но не понимаю пока механизм/принцип работы этой функции
Код
...
DS = CreateDataSource("TQBR", sins, INTERVAL_M1)
   if DS:Size() == 0 then 
     DS:SetEmptyCallback()
     sleep(200)
   end
...
Считываю в цикле данные по нужным мне бумагам, в течении одной сессии и заметил, что
Код
DS:Size()
количество свечей в процессе повторных запусков этого кода меняется, стал анализировать полученные данные и запутался, решил вот сформулировать несколько вопросов, если Вы на них ответите, то может быть что-то прояснится и сделаю для себя какие-то выводы, вопрос
Как работает эта функция?
Код
if DS:Size() == 0 then
Если понимать эту команду буквально, то данные (по идее) должны считываться в локальную базу данных только тогда, когда эта база пустая, но эта функция работает и тогда когда в текущей сессии, данные уже скачивались ранее.  Я на своем опыте заметил, что сначала , при первом запуске количество свечей около 3000 , а позднее при повторных запусках этой функции, по текущему инструменту, количество свечей увеличивается и доходит до 4 с лишним тысяч в течении дня. Вот не могли бы Вы как то "разжевать" как выполняется механизм заполнения свечей из бд брокера или биржи ( не знаю откуда идут данные, по идее должны идти с биржи) ко мне на комп в бд?
человек (не робот)
Можно ли QUIK запустить по расписанию?
 
Вот нашел в инете такой совет, это правда так работает ?
Цитата
Скрипты Lua запускаются сами, автоматически, если скрипт не был остановлен в момент выключения терминала, так что тут всё уже есть и работает само по себе.
человек (не робот)
выкидывает с программы Quik
 
Это наверно первоапрельская шутка, попробуйте завтра зайти
человек (не робот)
Можно ли QUIK запустить по расписанию?
 
Мне бы хотелось, что бы компьютер сам запустил QUIK в определенное время и собирал нужную мне информацию. Программу для сбора нужных мне данных я написал, она работает в цикле и через тайм-аут, считывает из базы нужные мне данные, по интересующим меня документам и соответственно формирует файлы по времени.Вот часть кода
Код
...
f = io.open(getScriptPath().."\\spisnakc.txt","r+");
  
  while 1 do
      f:flush();   f:seek("set",0);
      for line in f:lines() do
         
       for word in string.gmatch(line, "%a+") do
       message(word);
          f1 = io.open(getScriptPath().."\\F_"..word..os.date("_%d.%m.%Y.%H.%M")..".txt","w");    --.%S
          
                DS = CreateDataSource("TQBR", word, INTERVAL_M1)
            
         if DS:Size() == 0 then 
              DS:SetEmptyCallback()
              sleep(200)
         end
          sleep(100) v4=DS:Size();
...
Осталось настроить первую часть: 1.Windows позволяет в определенное время запускать какую либо программу, это настроить можно через планировщик задач. Таким образом Quik запустится в нужное время. 2. Авторизацию тоже вроде бы можно запустить автоматически, где то есть программа авто включения логина. Остается один вопрос, можно ли как-то тоже в автоматическом режиме запустить код на lua в квике?

Еще один вопрос в связи с этой темой возникает, можно ли подключиться к брокеру минуя квик или это в принципе невозможно? вопрос наверно дилетантский, но раз он возник, то решил спросить( айпи адрес есть, порт есть, логин и пароль есть - для подключения по типу фтп достаточно, но что бы считывать данные наверно этого мало? надо еще что-то, для подключения например к серверу бд или еще чему-то?...)
человек (не робот)
Как подать заявку по рыночной цене?, с минимумом данных
 
Цитата
Sergey Gorokhov написал:
Если не понятно, просто укажите 12345
Но ведь в торгах одновременно участвуют тысячи человек и такой номер может быть сразу у сотни человек одновременно, мне кажется номер должен быть уникальный, что бы он не спутался с номерами других участников торгов, зачем нужен этот номер в таком виде?
человек (не робот)
Как подать заявку по рыночной цене?, с минимумом данных
 
Цитата
Sergey Gorokhov написал:
Примеры полей транзакций Вы можете найти в документации на терминал QUIK (вызывается
Спасибо большое, посмотрю.
человек (не робот)
Как начать читать файл не с первой строки, а со 2й?, исторические данные
 
Кстати, вот пример из Вашей ссылки
Код
local lines = {}    -- read the lines in table 'lines'
    for line in io.lines() do
      table.insert(lines, line)
    end
    -- sort
    table.sort(lines)
так вот будет работать? или нет?
Код
  for line=2000 in io.lines() do
      table.insert(lines, line)
    end
человек (не робот)
Как начать читать файл не с первой строки, а со 2й?, исторические данные
 
Цитата
Sergey Gorokhov написал:
А что мешает в цикле который указан по ссылке пройти
Спасибо, я думаю мешает время. Хорошо если хочется посмотреть информацию по одному файлу, а если в папке их (файлов) несколько (много) это выливается во время, ну если нет, то нет, просто думал может есть что то такое, простое.
человек (не робот)
Как подать заявку по рыночной цене?, с минимумом данных
 
Как картинки выкладывать не подскажете?
человек (не робот)
Как подать заявку по рыночной цене?, с минимумом данных
 
[img]file:///D:/1/%D1%81%D1%87%D0%B5%D1%82.jpg[/img]
человек (не робот)
Как подать заявку по рыночной цене?, с минимумом данных
 
Хочу подать из программы заявку, но не понимаю некоторые поля, не могли бы объяснить/пояснить, вот нашел такой пример, можно ли его укоротить или надо наоборот что-то добавить?
Код
 local Transaction={                                       --шаблон заявки

      ['TRANS_ID']   = trans_id, (как задать этот параметр? откуда его получить, транзакция же еще не прошла, так как даже не подана заявка)

      ['ACTION']     = 'NEW_ORDER',

      ['CLASSCODE'] = "TQBR", --код класса
      ['SECCODE'] = "APTK", --код акции

      ['OPERATION']  = "B", --покупка

      ['TYPE']       = 'M', --рыночная

      ['QUANTITY']   = '1', --количество лотов в заявке

      ['ACCOUNT']    ="№ счета трейдера" , (где взять номер счета тредера, если это демо счет? Где его в Квике можно посмотреть?

      ['COMMENT']    = 'Заявка по рыночной цене'

   }

   sendTransaction(Transaction);  --подача заявки
   local Status = trans_Status; --проверка результата ее регистрации на бирже



[img]data:image/png;base64,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[/img]
Это номера счетов?
человек (не робот)
Как начать читать файл не с первой строки, а со 2й?, исторические данные
 
Как строки читать я знаю, для этого не обязательно давать ссылку на сайт, где нет ответа на поставленный вопрос в теме, мне нужно читать файл со второй строки , или с 10й или с 2900? Как в принципе можно выполнять цикл чтения файла с какой либо строки начиная от начала?
человек (не робот)
Как начать читать файл не с первой строки, а со 2й?, исторические данные
 
Пытаюсь понять как работают свечи, для этого читаю файлы исторических данных. Как читать с 1й строки разобрался, а вот как читать со второй не могу понять, методом тыка не получилось, вот пример текста файла (пока ручками удаляю 1ю строку и работаю с данными)
Код
<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
LKOH [TQBR],All,20180219,181300,3727.500000,3727.500000,3722.000000,3726.500000,1106.000000
LKOH [TQBR],All,20180219,181400,3724.500000,3724.500000,3723.000000,3724.500000,789.000000
LKOH [TQBR],All,20180219,181500,3724.500000,3726.000000,3719.000000,3720.000000,1525.000000

а вот часть кода, где в цикле файл читается построчно
Код
...
 f = io.open("TQBR_LKOH_15.txt","r+"); 
  ------------------цикл перебора строк->-------------------------
   for line in f:lines() do
...

команду вроде бы и нашел, по крайней мере по смыслу походит
Код
file:seek ([whence] [, offset])
но, что означает Смещение (offset) и в чем оно измеряется не понял, что понимается под смещением байт, бит, символ? Если это строки, то устанавливая 1 после запятой все равно читает с первой строки. Как это можно сделать?
человек (не робот)
Как обрезать число типа float до 2х знаков после запятой
 
все значительно проще
Код
 f3:write("\tПрибыль в %: "..vr7);
Прибыль в %: 16.504854368932
Код
 f3:write("\tПрибыль в %: "..string.format("%.2f",vr7));
Прибыль в %: 16.50
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Цитата
Андрей написал:
Я не люблю луа, так что с ним приходится только для примеров сталкиваться
Это конечно дело каждого на вкус и цвет как говориться суда нет, но пишут, что lua самый быстрый язык, а это для квика принципиально, так как  тиковые значения идут в микросекундах, если не в нано, а с++ под виндой работает в лучшем случае от 20 миллисекунд и выше, хотя платформа windows  и там и тут, и откуда в lua обозначено время в микросекундах не очень мне понятно, но я только начал разбираться, может со временем что-то прояснится. И второе мне почему то кажется, что один язык работает лучше чем 2 вместе, с++ ведь все равно использует библиотеки lua при роботе.Но в любом случае, вы мне очень помогли, спасибо.
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Цитата
Алексей написал:
отловит в строке s все числа, в т.ч. содержащие десятичную точку и поместит их в таблицу t
Спасибо большое, Ваш код более поятный
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Цитата
Андрей написал:
Так что с отладчиком не помогу к сожалению.
Ясно, спасибо
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Цитата
Андрей написал:
Раз уж я взялся отвечать, то попробую до конца помочь))
Спасибо большое, тяжело признаваться в тупости, но стараюсь разобраться с проблемой до конца по возможности, разрешите еще спросить, на чем можно отлаживать код? Мне нужен простого пошаговый режим при отладке с выводом значений переменных и все (без изысков), так и не могу понять в какой программе это можно делать.
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Не, толку не хватило разобраться, попробую еще позднее подумать, с функциями у  меня слабовато идет. Да и не понял еще с каким отладчиком надежнее работать, сперва decoda понравился, потом заметил, что он капризно работает, quik подвешивает иногда, еще видел ссылки на SciTE что тоже нравится людям и как редактор и как отладчик, попробую еще на нем, а ваш код крутил, вертел, что то не хочет работать. Ругается.
Код
lua:80: unexpected symbol near 'С' (в коде всего 23 строки, 80 и нет совсем, откуда он ее взял)
Код
function string:split(delimiter)
    local result = { }
    local from  = 1
    local delim_from, delim_to = string.find( self, delimiter, from  )
    while delim_from do
        table.insert( result, string.sub( self, from , delim_from-1 ) )
        from  = delim_to + 1
        delim_from, delim_to = string.find( self, delimiter, from  )
    end
    table.insert( result, string.sub( self, from  ) )
    return result
end


function main()

 S = "Hello,World";

S:split(",");
message(result[1]);

end
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Цитата
Андрей написал:
Вот так вот, правильнее вставить будет:
спасибо, в ссылку я видимо не вьехал, сделал по кривому,
Код
function main()

local s1={};
local n1=0;
local S="GAZA [TQBR],15,20160519,114500,432.20,432.45,430.64,431.00,16.00";
 for word in string.gmatch(S, "%d+") do
 n1=n1+1;
 s1[n1]=word
 end
 for i=4,13,2 do
 message(s1[i]..'.'..s1[i+1]);
 sleep(1000);
 end

end

попробую понять ваше предложение
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
нет, что то не хочет работать
Код
function main()
local s1={};
 S = "Hello//World";
--s1=S.split("//");
S.split("//");
message(S[1]);
    --message(S1[1]);

end
, ругается, похоже на то, что lua никто не объяснил, что он должен понимать этот метод, вот как ему дать понять, что он умеет с ним работать?
Код
lua:12: attempt to call field 'split' (a nil value)
lua: 12: попытка вызвать поле «split» (значение nil)
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Цитата
Андрей написал:
Я вот тут находил полезную
Спасибо большое, попробую. (Такое ощущение что раздвоение личности, сам себе пишу. И сам себе отвечаю. Но у нас количество сообщений разное)
человек (не робот)
Как разделить строку на отдельные числа?, Исторические данные
 
Скачивая исторические данные мы получаем построчно значения цены, каким образом записать в переменные отдельные значения цены в цикле ?
Код
GAZA [TQBR],15,20180220,160000,698.000000,700.000000,698.000000,700.000000,25.000000
GAZA [TQBR],15,20180220,161500,700.000000,700.000000,700.000000,700.000000,11.000000
GAZA [TQBR],15,20180220,163000,700.000000,700.000000,700.000000,700.000000,2.000000
GAZA [TQBR],15,20180220,170000,696.000000,696.000000,695.000000,695.000000,3.000000
(Lua вроде бы, это надстройка на с++ или дополнительные библиотеки) и тогда по идее в lua должны работать все функции си, так вот в си есть замечательный оператор
Код
"вася/петя/саша".Split('/');
для деления строки по символу в массив значений , можно ли на lua воспользоваться этим методом и если можно, то как? А если нельзя, то как это можно сделать? (мне бы хотелось получить числа, начиная с 5й по счету колонки и до конца).
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
ругалось на переменную ds
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
все понял кажется скопировал из разных мест и не учел чувствительность к регистру, вроде заработало, надо потестить
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
так тоже не читается полученная ранее таблица или я туплю и в этом
Цитата
Sergey Gorokhov написал:
См. описание в документации QLUA.chm
-Функции взаимодействия скрипта Lua и Рабочего места QUIK
--Функции для работы с графиками
---Функции O, H, L, C, V, T
даже зная точное количество строк все равно данные из таблицы не считываются, или в справке недостаточно информации или что то ускользает из видимости, можете еще помочь? не могу в цикле прочитать данные из полученной таблицы (выходит ошибка)
Код
function main()
 local DS=0 local nSize=0
 DS = CreateDataSource("TQBR", "AGRO", INTERVAL_M15)
if DS:Size() == 0 then 
  DS:SetEmptyCallback()
  sleep(200)

end
   
for i=0,3000 do  
 Open = ds:O(i)
High = ds:H(i)
Low = ds:L(i)
Close = ds:C(i)
Volume = ds:V(i)
week_day = ds:T(i).week_day
count = ds:T(i).count
message(tostring(week_day))
end

   message("все готово")
end
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
все открылось и работает, спасибо большое, я пробовал по фильтру в строке, а не крестиком
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
Цитата
Sergey Gorokhov написал:
Вы не умеете строить графики в QUIK?
извините, думал не открывается крестик, затупил....
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
вот код подправил, но что еще не идет
Код
function main()
 local DS=0 local nSize=0
 DS = CreateDataSource("TQBR", "AGRO", INTERVAL_M15)
if DS:Size() == 0 then 
  DS:SetEmptyCallback()
  sleep(200)

end
   nSize=ds:size()
for i=1,nSize do  
 Open = ds:O(i)
High = ds:H(i)
Low = ds:L(i)
Close = ds:C(i)
Volume = ds:V(i)
week_day = ds:T(i).week_day
count = ds:T(i).count
message(tostring(week_day))
end

   message("все готово")
end
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
я пробовал, но почему то данные не берутся, окно вообще не активное, может нужны какие то настройки?
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
Цитата
Sergey Gorokhov написал:
а можно просто в терминале QUIK построить окно с нужным графиком
Спасибо, если строить график,а данные возьмутся из этой таблицы или будут снова скачиваться и оновляться с сервера?
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
Цитата
Sergey Gorokhov написал:
См. описание в документации QLUA.chm
Спасибо попробую, а прочитать можно визуально файл например так да?
человек (не робот)
Как открыть таблицу?, Исторические данные из Квика
 
Прочитал исторические данные из Квика, они спокойно записались в таблицу и заархивировались в файл, если я правильно это понял, а как сейчас мне эти данные открыть, что бы с ними поработать? (пример нашел вот по этой ссылке) , код написал такой, а файл с таблицей получился такой TQBR_AGRO_15.dat
Код
function main()
  
 DS = CreateDataSource("TQBR", "AGRO", INTERVAL_M15)
if DS:Size() == 0 then 
  DS:SetEmptyCallback()
  sleep(200)
end
 
   message("все готово")
end
человек (не робот)
Как прочитать таблицу Текущие торги?
 
Цитата
Sergey Gorokhov написал:
Раздел 8. Алгоритмический язык QPILE
Спасибо, все нашел, именно это мне и нужно было.
человек (не робот)
Страницы: Пред. 1 2 3 4 5 6 След.
Наверх