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

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

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

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

      1. Я не разбираюсь совсем в программировании луа . На квике вобщем то есть есть безубыток, но он не разовый, а трейлинг стоп. Может вы знаете как сделать чтоб один раз передвигал и потом всё, стандартными способами квика? Заранее спасибо.

    1. Я делал такого бота для фьючерсов, если надо можно и для опционов сделать - только вот если в этом смысл - если что пишите мне обсудим вопрос

          1. и наверное надёжней, я так понимаю часто люди не совсем понимают что хотят или не могут точно всё рассказать
            да и робота надо постоянно дорабатывать, т.к. могут появится новые идеи, дополнения , изменения

            а можно полюбопытствовать что у вас за стройка?)

            1. Да, люди оооочень часто не понимают что им нужно 🙂 И это действительно удобный формат.
              Стройка, это семейная экоферма, которую мы своими силами строим уже второй год, силы только свои, по этому скорость маленькая, а дел очень много, но мне нравится, живу на своей земле, на природе, все больше своих экологически чистых продуктов питания появляется, чистый воздух, красота 🙂

  1. Добрый день, такой вопрос: Если происходит событие то запоминаю время: VREMYA_Х = os.time() к нему прибавляю например секунд 20: VREMAY_Н = tonumber(VREMYA_Х) + 20, и когда наступает это время выводиться сообщение:if VREMAY_Н == os.time() then message ("VREMAY_Н"). Все работает, а вот с ценой так не получается почему то?
    Делал так же:
    function OnAllTrade(alltrade)
    if alltrade.sec_code == p_seccode then
    P = tostring(alltrade.price)
    if событие then
    sena_Х = P
    message ("Х"..sena_Х) -- это выводиться сообщение
    sena_Н = tonumber(sena_Х) +300
    message("sena_Н= "..sena_Н) --это выводиться сообщение. Далее пытаюсь сравнивать с текущей ценой:
    sena_О = tostring(sena_Н) >= P -- по идее должно быть, что когда текущая цена меньше или равна sena_О то должно вывестись сообщение.
    if sena_О then
    message ("sena_О= "..P) -- и вот тут ничего не выводиться, где то неправильно сравнил или как?
    Заранее спасибо.

    1. Здравствуйте, может быть потому, что Вы 2 строки сравниваете, а не 2 числа, и вообще нет смысла полученную цену приводить к строковому виду в самом начале, пусть у Вас в переменной Р хранится число, а не строка

        1. function OnAllTrade(alltrade)
          if alltrade.sec_code == p_seccode then
          P =tonumber(alltrade.price)
          if событие then
          sena_Х = P
          message ("Х"..sena_Х) -- это выводиться сообщение
          sena_Н = tonumber(sena_Х) +300
          message("sena_Н= "..sena_Н) --это выводиться сообщение. Далее пытаюсь сравнивать с текущей ценой:
          sena_О = tonumber(sena_Н) >= P
          if sena_О then
          message ("sena_О= "..P)
          Опять не получилось. Пробовал tonumber перед каждой переменной ставить, не помогло((

          1. 1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            
            function OnAllTrade(alltrade)
               if alltrade.sec_code == p_seccode then
                  P =tonumber(alltrade.price)
                  if событие then
                     sena_Х = P
                     message ("Х"..sena_Х) -- это выводиться сообщение
                     sena_Н = tonumber(sena_Х) +300
                     message("sena_Н= "..sena_Н) --это выводиться сообщение. Далее пытаюсь сравнивать с текущей ценой:
                     sena_О = tonumber(sena_Н) >= P
                     message('sena_Н='..tostring(sena_Н)..' P='..tostring(P)..' sena_О='..tostring(sena_О))
                     if sena_О then
                        message ("sena_О= "..P)

            Всегда выводите все зависящие переменные в сообщении и все станет понятно

  2. Добрый день! Пытаюсь воспользоваться отладчиком в программе SciTE. После запуска отладчика, прохожу по строкам. Строки меняются в нужном порядке.

    Но в окне, где должна появляться информация, выдает вот это

    clidebug c:\user\lua\5.1\scite\scite-debug\lua_clidebugger\debugger.lua
    lua -e "package.path='C:\\user\\Lua\\5.1\\SciTE\\scite-debug\\lua_clidebugger\\?.lua;'..package.path" -lclidebug "7 While.lua"
    nil nil
    Lua Debugger

    Возможно, кто-то сталкивался с подобным. Если да, то помогите пожалуйста разобраться с тем, как сделать так, чтобы отладчик работал корректно.

  3. Здравствуйте.
    хочу на график Сбербанка выставить метку с помощью AddLabel, подскажите :
    1. индетификатор графика-Тэг графика который мы указываем в AddLabel это "SBER" если хотим поставить метку на графике сбербанка?
    2.получаю сегодняшнюю дату и время вот так
    dt.day,dt.month,dt.year,dt.hour,dt.min,dt.sec = string.match(getInfoParam('TRADEDATE')..' '..getInfoParam('SERVERTIME'),"(%d*).(%d*).(%d*) (%d*):(%d*):(%d*)")
    for key,value in pairs(dt) do dt[key] = tonumber(value) end

    не могу сообразить что именно надо указать в таблица с параметрами метки в ['DATE'] =
    и в ['TIME']=
    ? или может подскажите как проще лучше это всё сделать?
    спасибо

    1. Здравствуйте!
      1.Идентификатор графика нужно указать сначала в настройках графика, во вкладке "Дополнительно"
      2.Формат даты/времени в метке посмотрите в файле справки qlua.chm, который находится в папке с квиком, раздел справки "Функции для работы с метками", указывайте дату время свечи, к которой будет привязана метка

          1. ещё вопрос, указал путь к изображению, формат bmp, надписи ставит а вот изображения нет, и ошибку не выдаёт, в чём может быть причина, есть какие то условия для изображений?

    2. Привет! вот это нужно один раз вызвать в начале скрипта, для формирования dt с текущей датой:
      local dt = {}
      dt.day,dt.month,dt.year = string.match(getInfoParam("TRADEDATE"),"(%d*)\.(%d*)\.(%d*)")
      но для меток dt не пригодиться, можно получить из dt время в секундах, например 10-00:
      dt.hour, dt.min,dt.sec = 10,0,0
      Для вашей задачи нужно знать индекс свечи, что бы получить бар по индексу и таблицу datetime:
      local datetime = bar.datetime
      переводим в секунды:
      local posix = os.time(datetime)
      и подставляем в поля таблицы метки:
      DATE = tonumber(os.date("%Y%m%d", posix)),
      TIME = tonumber(os.date("%H%M%S", posix)),

  4. Здравствуйте Дмитрий. Мне необходимо получать значения свечей high и low инструмента в момент их появления т.е. по событию и обрабатывать их у себя в dll (c++). Я так понимаю что нужно использовать CreateDataSource для этого. Не могли бы показать пример как это сделать, не могу разобраться как это сделать в связке qlua + dll