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

  • обсудить на форуме:
  • Quik Lua
★1
ВНИМАНИЕ! КОММЕНТАРИИ ПЕРВОГО УРОВНЯ В ВОПРОСАХ УПОРЯДОЧИВАЮТСЯ ПО ЧИСЛУ ПЛЮСИКОВ, А НЕ ПО ВРЕМЕНИ ПУБЛИКАЦИИ.
Оно?
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
avatar

Только зарегистрированные и авторизованные пользователи могут оставлять ответы.

Залогиниться

Зарегистрироваться

теги блога Alex Hell

....все тэги



UPDONW
Новый дизайн