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

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

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

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

  1. Дмитрий! Помогите разобраться!
    Выставляю маркетные заявки через луа
    прилагаю вырезку из кода:
    price=0
    t = {
    ["CLASSCODE"]=p_classcode,
    ["SECCODE"]=tostring(ticker),
    ["ACTION"]="NEW_ORDER",
    ["ACCOUNT"]=p_account,
    ["CLIENT_CODE"]=p_clientcode,
    ["TYPE"]="M",
    ["OPERATION"]=dir,
    ["QUANTITY"]=tostring(volume),
    ["PRICE"]=tostring(price),
    ["EXPIRY_DATE"]="GTC",
    ["TRANS_ID"]=tostring(TRANS_ID)
    }
    res=sendTransaction(t)

    По каким то причинам ругается на цену, пишет неверная цена транзакция отправлена, при этом половина заявок не выставляется

  2. Приветствую всех.
    брокер - опен брокер.
    робот на lua.
    в теле ACCOUNT: 4ХХХF2
    когда срабатывает робот - пишет что счет не верный, хотя счет 4ХХХF2.
    почему?

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

        1. мда) придется видать научится работать с массивами и как то оттуда вынимать значения, вы не можете привести пример массива с несколькими значениями, и их изъятием и выводом в сообщение допустим для начала?

  3. Дбрый день

    Написал индикатор по формуле " Volume/(High-Low) " но на графике отображается пустой индикатор.
    Помогите решить эту задачу.

    function OnCalculate(index)
    if index < Settings.period then
    return nil
    else
    local sum = 0
    for i = index-Settings.period+1, index do
    sum = sum + V(i)/(H(i)-L(i))
    end
    return sum/Settings.period
    end
    end

    1. Здравствуйте! Посмотрите что у Вас не так, этот индикатор работает:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      
      Settings = {}
      Settings.Name = '*Test'
      Settings.period = 5
      Settings.line = {
         [1] = {
            Name = 'Test',
            Type = TYPE_LINE,
            Width = 2,
            Color = RGB(0, 200, 0)
         }   
      }
       
      Init = function()
         return 1
      end
       
      OnCalculate = function(index)
         if index < Settings.period then
            return nil
         else
            local sum = 0
            for i = index-Settings.period+1, index do
               sum = sum + V(i)/(H(i)-L(i))
            end
            return sum/Settings.period
         end
      end
  4. Доброго вечера, подскажите пожалуйста, к примеру создал таблицу и начал заполнять некими данными в строки

    1
    
    InsertRow

    Предположим я хочу после 100 строк очистить таблицу, но не всю, а 5 строк первых оставить, а с 5 - 100 очистить, как можно реализовать? Спасибо) Конечно можно перед тем как удалять всю таблицу запомнить 5 строк и вставить после удаления) Но вопрос в другом, мне просто нужно знать как удалить определенную строчку в таблице, например 57 или с 23 по 68 и т.д.) Спасибо

  5. Здравствуйте.
    Есть задача и как ее решить даже не представляю. Задача стоит в том что нужно распаковывать gzip файлы. Сначала пробовал на с++ написать, но так и не понял как это сделать. Имеются сторонние библиотеки по работе с архивами, но как их использовать не разберусь ни как. По описанию надо скачать исходники, сделать из них DLL и lib, а потом еще в VS настроить. Как не пробовал компилятор ругается на ошибки, ничего не вышло.
    Нашел библиотеку на чистом LUA, распаковывает gzip, но и тут проблема, распаковывает через раз, некоторые распаковывает отлично, а на некоторые выбрасывает ошибки CRC, хотя файлы по идее одной и тоже программой жмутся.
    Думал использовать 7z программу и распаковывать через командную строку, но хочу что бы одна библиотека DLL на C++ была, а не много дополнительных файлов .
    В общем вопрос такой. Имеет пример как сделать на С++ распаковку файлов gzip ?

  6. Здравствуйте!
    Помню как-то можно было определить что сейчас идёт торговая сессия или клиринг. А из головы вылетело как. Подскажите, если помните.

    1. Здравствуйте! Вот здесь есть варианты: https://quikluacsharp.ru/quik-qlua/poluchenie-dannyh-iz-tablits-quik-v-qlua-lua/
      Вот один из них

      1
      2
      3
      
      Status =  tonumber(getParamEx("SPBFUT",  "RIM5", "STATUS").param_value);
      -- Выводит сообщение о текущем состоянии
      if Status == 1 then message("RIM5 торгуется"); else message("RIM5 не торгуется"); end;
  7. Здравствуйте!
    Подскажите, пожалуйста, хотел бы видеть у себя в квике окошко с двумя кнопками, купить по текущей цене и продать по текущей, и счетчик который бы вел счет. Вопрос как сделать это окно? (как выставить заявку и посчитать в общих чертах ясно) Спасибо за ответ.
    Сил и терпения Вам на стройке!

    1. Здравствуйте! Благодарю за пожелания! Для решения Вашей задачи рекомендую Вам воспользоваться создаваемыми QLua таблицами, справка qlua.chm (находится в папке с терминалом), в ней раздел "Функции для работы с таблицами Рабочего места QUIK", для того, чтобы отлавливать события таблицы, такие как клик мышкой по ячейке используйте функцию SetTableNotificationCallback, таким образом, можно окрасить одну из ячеек, например, в зеленый цвет, добавить в нее надпись "Купить" и обрабатывая клик по этой ячейке Вы реализуете нужную Вам кнопку.

  8. Здравствуйте!
    Хотел узнать . Не могли ли вы посоветовать приложения или программы для изучения языка Lua .
    С задачами ,примерами , уроками как например в SoloLearn (только там нет Lua)
    Так как я не программист , мне очень сложно понять с чего начинать писать код. Хотя я прочёл ваши разделы (первые несколько частей) . Не имея основ программировани, я вижу лишь набор правил которых не понимаю.
    Конечно практика все решает, но методом «ТЫКА» все же тяжеловато))).
    Если не сможете посоветовать такие ресурсы, может вы сами заинтирисуетесь в написании таких задач-уроков ( с повышением уровня сложности) на Qlua ( что-то типа выставление заявки перед большим бидом или выставление стоп заявки , разными условиями) Я бы хотел купить такие задачки для практики у вас ))) Возможно и многие другие тоже хотели бы купить.
    Заранее спасибо!

    1. Здравствуйте, к сожалению, совсем нет времени сейчас этим заниматься, стройка, где такое есть не знаю, даже, но рекомендовал бы Вам найти и пройти любой бесплатный курс типа "Основы программирования", не важно на каком языке, если научитесь понимать основы (что такое переменные, условные операторы, циклы, функции), любой язык сможете освоить, т.к. их отличие только в синтаксисах.