Alex Hell
Alex Hell Ответы на вопросы
16 мая 2018, 17:17

LUA:Здравствуйте подскажите как получить баланс цену? https://i.gyazo.com/ef16679461d1c0be24291d9d8d6b0245.png как получить цену последней сделки у меня есть код, НО а что если я докупился?

LUA: Здравствуйте подскажите как получить баланс цену?i.gyazo.com/ef16679461d1c0be24291d9d8d6b0245.pngкак получить цену последней сделки у меня есть код, НО а что если я докупился?
1 Комментарий
  • tranquility
    24 мая 2018, 00:46
    Оно?
    OnTransReply

     

    Функция вызывается терминалом QUIK при получении ответа на транзакцию пользователя, отправленную с помощью Trans2quik.dll, QPILE, QLua или динамической загрузки транзакций из файла. При отправке транзакций вручную через интерфейс Рабочего места QUIK функция не вызывается.

    Формат вызова:

    OnTransReply(TABLE trans_reply)

    Параметры:

     

    Параметр Тип Описание
    trans_reply TABLE Таблица с описанием транзакций

     

    А вот пример кода из spread_robot1.lua
    function OnTransReply(repl)
     
      message(«TrRepl = »… tostring(repl.status)… " o_num="… tostring(repl.ordernum)… " R="… tostring(repl.R)… " ["… repl.result_msg… "]"… " uid="… tostring(repl.uid)… " price="… tostring(repl.price)… " quantity="… tostring(repl.quantity) ..  " cl_code="… tostring(repl.client_code)… " CURRENT_STATE="… CURRENT_STATE, 2)

      if (uniq_trans_id ~= repl.R) then
        message(«TrRepl NO LAST TRAN», 3)
        return
      end


      if     (CURRENT_STATE == 'OB') then  — если ждем результата выставления заявки на покупку
        current_order_num = repl.ordernum
        if current_order_num ~= 0 then  — заявка выставлена успешно?
          CURRENT_STATE = 'N'
         else
          CURRENT_STATE = '0'
         end
      elseif (CURRENT_STATE == 'MB') then  — если ждем результата снятия заявки на покупку
        if (repl.status == 3) then  — только если снятие было успешным, иначе скорее всего была сделка — ничего не делаем
          CURRENT_STATE = '0'  — состояние «заявки нет, позиции нет»
          MakeOrderBuy()        — и тут же ее перевыставляем
        end
      elseif (CURRENT_STATE == 'OS') then  — если ждем результата выставления заявки на продажу
        current_order_num = repl.ordernum
        if current_order_num ~= 0 then  — заявка выставлена успешно?
          CURRENT_STATE = 'L'
         else
          CURRENT_STATE = '1'
         end
      elseif (CURRENT_STATE == 'MS') then  — если ждем результата снятия заявки на продажу
        if (repl.status == 3) then  — только если снятие было успешным, иначе скорее всего была сделка — ничего не делаем
          CURRENT_STATE = '1'  — состояние «заявки нет, позиция есть»
          MakeOrderSell()       — и тут же ее перевыставляем
        end
      end

    end

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн