Вопрос-ответ

Автор записи: Дмитрий (Admin)
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 7, среднее: 5,00 из 5)
Загрузка...
LogoNew
Если Ваш вопрос не имеет отношения к какой-то определенной статье на данном сайте, то, пожалуйста, задавайте его в комментариях здесь.

Добавить комментарий

Вопрос-ответ: 2 281 комментарий

  1. Всем привет.
    Есть массив - PrPos[n][i]. В какой то момент вываливается ошибка - attempt to index field '?' (a number value). По коду все ровно, да и ошибки раньше такой не было.

    1. все правильно выдается. просто в вашем коде в какой-то момент PrPos[n] перестает быть таблицей, а становится числом. очевидно, ошибка в 17-ой строке.

      1. В том то и дело что числом PrPos не становится - проверял. Какая такая ситуация может произойти, что массив вдруг стал числом? Причем это касается не только этого массива, но и еще такая же ошибка по 2м массивам иногда проходит. Ошибка возникает не понятно как - день - два все ровно, бац отвалился, при чем стоит 7 копий - один отвалился из-за ошибки - остальные работают. А какая 17 строка?

      2. "просто в вашем коде в какой-то момент PrPos[n] перестает быть таблицей, а становится числом". Да именно в этом и загадка. По какой такой причине массив вдруг может стать числом? В 17 стр. все хорошо, в 18 то же.

  2. Здравствуйте люди добрые подскажите пожалуйста getCandlesByIndex описание функции корневой папке квике её нет
    После желаю определить идентификатор для определения закрытых индикаторов с помощью скрипта которого приобрёл просторах интернета спасибо Герман

    1. все правильно выдается. 🙂 просто в вашем коде в какой-то момент PrPos[n] перестает быть таблицей, а становится числом. очевидно, ошибка в 17-ой строке.

    1. раз моекс идет на ухищрения, что бы не выкидывать в помойку свои сервера купленные в прошлом веке, то в связи с обновлением придется поменять страну. А заявкам из луа ничего не станется, вы же не резервируете память под 19-значный номер?

      1. Да я вообще не в теме. Смотрю где форум квик просто на поддержку накинулись-" Опять все переделывать на луа." Я даже не знаю точно где и как это в скрипте работает. Скопировал блок(и эти файлы 5,1,3 которые) и забыл . Что там на что меняют.

    2. нет. тип number в LUA, который на самом деле double, поддерживает примерно 16 десятичных знаков. номера сделок дорастут до этих значений очень нескоро.

      1. Кто знает, кто знает. Совсем недавно сделки были с номерами из 10 цифр и тут бац, на следующий день уже 14 цифр стало, так что вполне возможно что проснемся завтра, а номер уже из 19 цифр состоит...
        Отвечая на вопрос. В общем действовать по ситуации, в большинстве случаев думаю ничего предпринимать не потребуется, алгоритмы безболезненно перешли с 10 на 14 цифр, а дальше будет видно.
        Конечно "Скопировал блок и забыл" не лучший вариант, действительно неизвестно что там происходит, но если рассуждать таким же образом, то можно дать такой совет, "работает, пусть работает".

  3. Здравствуйте. Пытаюсь добавить метку на график, не получается. Подскажите как правильно?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    function main()
    	ds = CreateDataSource("SPBFUT", "RIH0", INTERVAL_D1)
    	local Size = ds:Size(); 
            local Cls = tonumber(ds:C(Size)); 
     
    	local label_params = {
    		  ['TEXT'] = tostring('Lable'),  
    		  ['IMAGE_PATH'] = '', 
    		  ['ALIGNMENT'] = '',  
    		  ['YVALUE'] = Cls, 
    		  ['DATE'] = tonumber(os.date('%Y%m%d')),  
    		  ['TIME'] = tonumber(os.date('%H%M')), 
    		  ['R'] = 0, 
    		  ['G'] = 0, 
    		  ['B'] = 0, 
    		  ['TRANSPARENCY'] = 0,   
    		  ['TRANSPARENT_BACKGROUND'] = 0,
    		  ['FONT_FACE_NAME'] = 'Verdana', 
    		  ['FONT_HEIGHT'] = 6, 
    		  ['HINT'] = 'This is hint' 
    		  }
     
    	AddLabel("rih",  label_params)
    end;
    1. Здравствуйте,
      укажите путь к файлу метки, например:
      ['IMAGE_PATH'] = "C:/Creator/labels/arrows/bs10.bmp"

      тут вы передаете системное время ПК, его график не знает, нужно конкретное время бара:
      ['DATE'] = tonumber(os.date('%Y%m%d')),
      ['TIME'] = tonumber(os.date('%H%M')),

      это на любителя, я не использую и не указываю в label_params:
      ['TEXT'] = tostring('Lable'),
      ['R'] = 0,
      ['G'] = 0,
      ['B'] = 0,
      ['TRANSPARENCY'] = 0,
      ['TRANSPARENT_BACKGROUND'] = 0,
      ['FONT_FACE_NAME'] = 'Verdana',
      ['FONT_HEIGHT'] = 6,

  4. Здравствуйте, подскажите, можно ли средствами Qlua сделать гиперссылку на web страницу, например нажал на ISIN облигации и открылась в браузере страница типа `https://www.rusbonds.ru/ank_obl.asp?tool=153324`.

  5. Добрый вечер!
    Посоветуйте библиотеку визуализации данных для lua (свечи, графики, столбчатые и точечные диаграммы).
    Если что-то подобное, что можно использовать в самом квике?

  6. Здравствуйте, уважаемые коллеги!
    Возник вопрос: можно ли средствами только LUA-скрипта регулировать настройки окна графика, т.е. управлять фреймом, инструментом (менять в соответствии с алгоритмом робота), назначать имена линий графика и менять прочие настройки?

      1. Ладно. Пусть будет так.
        А можно ли (опять же средствами QLUA) настроить фильтр кода инструмента в таблице "Текущие торги" (в таблице, где, например, по настройкам, отображаются текущие котировки, цена последней сделки, режим торгов, ГО, дата экспирации и прочее?
        Для того, чтобы с помощью фильтра установить нужный инструмент.
        После этого поставить "якорь", а на графике предварительно установить связь ("цепочка") с этой таблицей. Тогда график будет отображать цены активного инструмента.

        1. И снова нет.
          Ответ нет только лишь из за "средствами только LUA-скрипта" "средствами QLUA"
          Вы ставите ограничение, что будете использовать лишь функции доступные в LUA и QLUA а таких функция нет. Нет возможности как то управлять окнами, ставить якоря, цепочки ...
          Вот если Вы готовы снять ограничения, использовать сторонние или собственные DLL, тогда "нет" меняется на "может быть". Но ответа "Да" не будет все равно. Не известно сможете ли Вы найти подходящую готовую DLL, которая будет делать то что Вам нужно, или сможете написать собственную.
          Средствами LUA можете создать пользовательскую таблицу и вывести в ячейках любые значения и таблица будет выглядеть так как Вам нужно, а дальше, смотрите на таблицу и открываете нужный график, переключаете ТФ, но уже руками.

          1. Да, решение с помощью промежуточной таблицы - это понятно так же, как и применение сторонних .dll
            Но я надеялся, что есть область, которую я "прорыл" недостаточно для категорического отказа. Вы для меня всё же авторитет более высокого порядка, нежели я сам.

            Спасибо за то, что подтвердили результаты моих изысканий. Пусть даже и неудачных. "Отрицательный результат - это тоже результат!"
            Спасибо еще раз.

  7. Привет.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    function Stop_Kill(n) -- Функция снимает заявку (стоп-заявка)
       trans_id = trans_id + 1 -- Получает ID для транзакции
       OpCl[n] = 0
       local Transaction         = { -- Заполняет структуру для отправки транзакции
          ["TRANS_ID"]           = tostring(trans_id);
    	   ["CLASSCODE"]          = "SPBFUT";
          ["ACTION"]             = "Снять стоп-заявку";
          ["Номер Стоп-Заявки"]  = tostring(Num[n]);}
       local res = sendTransaction(Transaction) -- Отправляет транзакцию
       if res ~= "" then message("Снять стоп-заявку, ОШИБКА: "..res) end
    end

    Так вот иной раз выдает ошибку res = Указанный класс не найден: "SPBFUT"
    Вот как это понимать?