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

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

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

Вопрос-ответ: 1 805 комментариев

    1. Сам спросил сам ответил - не меняется - щас рассмотрел. Почему вопрос возник с утра вроде менялся номер заявки или демо глюканул или я.

  1. Здравствуйте! Можно ли использовать тот же TRANS_ID для заявки, который уже был использован, но на следующий день, если квик не выключался на ночь и робот не останавливался?

  2. 1. Есть ли какой способ запускать из Qlua *.bat файл на компьютере? У меня вся логика в скриптах на Python, а их запустить нужно. 2. Предполагаю использовать для передачи данных (цены-ордера) обычный текстовый файл. А нельзя ли из QLua читать memory-mapped file object, созданный в Python?

    1. Здравствуйте!
      1. Можете использовать командную строку, пример закрытия терминала: os.execute('TASKKILL /IM info.exe')
      2.Думаю можно, но никогда не пытался этого сделать, по этому, не могу ничего подсказать, знаю только вариант подключения DLL к скрипту и работа с MMF через нее. Здесь есть разные примеры: https://quikluacsharp.ru/category/qlua-c-cpp-csharp/

  3. Здравствуйте. Столкнулся с такой проблемой. на счету есть деньги для покупки 6 контрактов. Через клуа покупаю 2 контракта и выставляю стоп заявку на 6 контрактов. При срабатывании стопа выдает ошибку
    " не достаточно средств" (хотя по идее могу выставлять стоп на 8 контрактов). Если это же действие выполнить вручную (покупка+стоп) ошибки не выдает. В чем может быть проблема?

      1. Не выдает. Спокойно срабатывает и позиция получается -4 контракта.
        Разница лонг или шорт не имеет значения, и там и там одинаковая ошибка

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

          1. Спасибо большое! Действительно, проскальзывание у меня стояло на мин.воз.цене (или на макс. воз.цене). Сделал проскальзывание в 100 пунктов и проблема решилась. Еще раз спасибо.

  4. Всем доброго времени суток!!!
    Обращаюсь к знающим людям.
    Нужно в переменные получить Ask, Bid , количество лотом по инструменту, минимальное количество акций в инструменте, баланс.
    Если кто может накидать пример, буду очень благдарен.

          1. Здравствуйте, Дмитрий!
            С Вашей помощью разобрался как получать данные по инструменту:
            Ask = getParamEx("TQBR", "VTBR", "OFFER").param_value
            Bid = getParamEx("TQBR", "VTBR", "BID").param_value и т.д. Здесь все понял.
            Но никак не могу понять как получать данные по открытым позициям по акциям
            for i = 0,getNumberOf("FUTURES_CLIENT_HOLDING") - 1 do --здесь что ставить вместо FUTURES_CLIENT_HOLDING чтобы перебирать позиции по акцим???
            if getItem("FUTURES_CLIENT_HOLDING",i).sec_code == "RIH5" and getItem("FUTURES_CLIENT_HOLDING",i).totalnet ~= 0 then -- здесь сравниваем код инструмента и проверяем объем, тогда по идее как я понимаю можно получать данные в переменные. Но никак. Помогите!

              1. Спасибо, Дмитрий!
                Вроде дело пошло. Начал перебирать ордера! Только еще один вопрос, у меня две активные позиции, а выдает 12.
                Как отсеять только работающие???

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

  5. Здравствуйте.
    Ищу способ в Квике иметь историю инструментов.
    Задача состоит именно в том, что бы можно было построить график любого фьючерса даже за 2010 год. Котировки взять из файла. Тип котировок не важен, бары или тики, создам какие нужно. Ну и конечно же что бы с этим графиком можно было работать как с обычным другим, то есть добавлять на него индикаторы, обращаться к нему из скриптов по ID.
    В общем хотелось бы создать что то типа тестера стратегий, но прям в квике, что бы не писать в разных платформах, да еще и на разных языках. Написать алгоритм, добавить его на фьючерсы которые в данный момент торгуются не проблема, но как бы увидеть как этот алгоритм работал ранее, на тех фьючерсах которые уже истекли, вот это проблема.
    Рассмотрю любые варианты, какие только в голову придут, даже самые .... в общем любые, вплоть до подмены файлов в папке Квика. Пока нашел только папку archive где вроде как я думаю лежат именно графики, которые я открывал или открыты в данный момент. Они конечно бинарные, и что бы их раскодировать придется постараться сильно, но может и получиться. Теоретически это выглядит так. Берем котировки нужного фьючерса, конвертируем их в файл понятный квику и отправляем в папку archive. Запускаем квик, он читает это наш файл и строит график в терминале.

    Если есть какие то еще варианты, напишите, может найдется путь проще.

    1. Могу предложить такой вариант, сам пользуюсь уже года 3-4.
      После сессии закрываете квик, делаете копию, из копии удаляете ненужный хлам - все папки кроме архива и файлы типа QLUA.chm, не нужные библиотеки, .pdf и т.п. - все файлы, без которых квик запустится нормально.
      Покупаете внешний диск на 1-3 Тб в нем делаете папки :2017 => 11 => Quik_28
      И пользуетесь.
      Например можно взять и всю историю сделок сохранить в файл, сделать бота, который рассчитает стратегию, а посмотреть можно на часовом графике - ну до куда дотянется.
      Стратегии по Таблице обезличенных сделок за год из файла у меня считаются секунд 20-30 на i5 3.8 GHz.

      1. Интересный способ, спасибо. Если я правильно понял собираем историю и подменяем когда нужно. Способ хороший, но мне все же нужна история не с сегодняшнего дня, а раньше.
        Вчера целый день разбирал файлы из папки архив и все же "раскодировал" их, разобрался что там и как записано. Оказалось там как раз то что нужно, просто бары и ничего лишнего там нет, только в начала что то типа идентификатора. В общем набросал небольшую программу что бы проверить. В итоге получил то что хотел. Программа создает файл для папки архива и Квик это файл подхватывает и читает как нужно. Теперь остается написать программу конвертации котировок в этот формат и можно любой инструмент подсунуть.
        Проверил по ограничениям, в принципе хватает. Реально удалось загрузить в Квик график из 65536 баров, не тормозит ни грамма, все отлично. остается проверять как с таким графиком можно будет работать, индикаторы, скрипты и прочее, но это уже в дальнейшем посмотрим, первый шаг сделан.

      2. А вот по поводу стратегий с этим мне еще предстоит разобраться. Видел в Квике такое окошко, но ничего там не понял, так что ничего создать не смог. Надо почитать, разобраться что к чему, может и стратегии применить как то удастся.