sendTransaction

Страницы: 1
RSS
sendTransaction
 
Как получить результат транзакции, без использования OnTransReply ?

res=sendTransaction( transaction )
message ( "res= ".. tostring(res) .. " STATUS= ".. tostring(res.status) .. " DESCRIPTION= "..tostring(res.description) .. " result_msg = "..tostring(res. result_msg ) ,1)
Всё в куче, везде nil.
 
Цитата
Вячеслав пишет:
Как получить результат транзакции, без использования OnTransReply ?

res=sendTransaction( transaction )
message ( "res= ".. tostring(res) .. " STATUS= ".. tostring(res.status) .. " DESCRIPTION= "..tostring(res.description) .. " result_msg = "..tostring(res. result_msg ) ,1)
Всё в куче, везде nil.
Добрый день.
Только эмуляцией, с использованием sendTransaction и OnTransReply.
 
А что такое "эмуляция"?
----------------------------------------------
ВИки: Эмуля́ция (англ. emulation) в вычислительной технике — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (гостя) на другой, отличной от первой, вычислительной системе (хосте) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы (гостя).
------------------------------------------
Вы это рекомендуете?
 
Цитата
Николай Камынин пишет:
А что такое "эмуляция"?
----------------------------------------------
ВИки: Эмуля́ция ( англ. emulation ) в вычислительной технике — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования ) функций одной вычислительной системы ( гостя ) на другой, отличной от первой, вычислительной системе ( хосте ) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы ( гостя ).
------------------------------------------
Вы это рекомендуете?
Добрый день, Николай.
Вопрос риторический или Вам нужен ответ?
 
он опять в лирику вдарился - так что, это бывает:)))
 
Добрый день, Михаил,
Хорошо бы  увидеть конкретный ответ.
А то "эмуляция", хотя и короче двух слов и предлога между ними, но звучит почти также.
 
Цитата
Николай Камынин пишет:
Добрый день, Михаил,
Хорошо бы увидеть конкретный ответ.
А то "эмуляция", хотя и короче двух слов и предлога между ними, но звучит почти также.
Эмуляция
 
3.11.1 sendTransaction
Функция отправляет транзакцию на сервер QUIK. В случае ошибки обработки транзакции в терминале QUIK возвращает строку с диагностикой ошибки.
В качестве параметра принимает таблицу, в которой имена и значения полей соответствуют параметрам tri-файла

Раньше в LUA точно был ответ. В версиях 6.15 , 6.16 перестал замечать.
 
Добрый день, Михаил
Вы надеюсь поняли, что не ответили челу на его вопрос?
Если нет то повторю:
Вопрос:
Как получить результат транзакции, без использования OnTransReply ?
Естественно ожидать два варианта:
1) Невозможно.
2) или какой-то вариант "без использования OnTransReply "
Вот Ваш ответ:
"Только эмуляцией, с использованием sendTransaction и OnTransReply."
Вы придумали третий вариант очень напоминает ответ "сам дурак",
Просто замечательный ответ.
Главное доходчиво и сразу все понятно.
 
Может объясните, как эмуляцией с использованием OnTransReply
можно получить результат транзакции без использования OnTransReply
 
флуд
 
Цитата
Николай Камынин пишет:
Может объясните, как эмуляцией с использованием OnTransReply
можно получить результат транзакции без использования OnTransReply

Николай, фразу
Цитата

Только эмуляцией, с использованием sendTransaction и OnTransReply.
следует понимать так, что получить результат можно только используя эти две функции. Часть ошибок действительно можно получить непосредственно из sendTransaction, но это касается ситуаций когда транзакция еще не отправлена на сервер. То есть те ошибки, которые может диагностировать терминал - некорректная бумага, класс, транзакция и т.п. Все остальное приедет только в OnTransReply.
Возможно я недостаточно подробно объяснил свою мысль, но сарказм и риторические вопросы только затягивают обсуждение.
 
Michael Bulychev,
Теперь все понятно. Спасибо.
--------------------------------------------------
Замечу, что риторические вопросы не требуют ответов.
Поэтому они не могут затягивать обсуждение по определению.
Просто надо внимательно читать вопросы и учитывать,
что не все могут угадать,
что именно Вы спрятали по капот Вашего творения.
------------------------------------------
Каждый понимает вопросы по-своему.
Кому-то кажется сарказм,
кто-то вникает в суть, не обращая на форму,
а кто-то подглядывает со-стороны
и тупо вставляет свои оценки - "флуд".
----------------------------------------------
Не бывает глупых вопросов ,
бывают глупые ответы.
Глупее глупее ответов бывают лишь
глупые оценки подсматривающих за обсуждением.
 
А я голову ломаю, раньше "res" выдавал результат ошибки, а теперь не выдает.
Код
if sendTr ==1 then res = sendTransaction ( sv_order ) end 

if res~="" then message ( "sv_order (res) = ".. tostring(res) ,1) else

Оказалось если перед  "res =" добавить "local res =" , то tostring(res) = nil

Сам спросил, сам ответил.
 
Цитата
Вячеслав пишет:
Оказалось если перед"res =" добавить "local res =" , то tostring(res) = nil
Области видимости
Надо делать так, как надо. А как не надо - делать не надо.
 
код вида

Код
t = {.....}  -- правильный формат
sendTransaction(t) 
при исполнении в квике выдает сообщение, что заявка успешно зарегистрирована\или не очень успешно зарегистрирована..Хотя у меня в коде нет message или ontransreplay. По моей логике она должна молча исполниться и все.
Почему так?
 
В коде вида

Код
t = {.....}  -- правильный формат
sendTransaction(t)  
message("FFF")
 
сначала выдается сообщение fff далее оно затирается и выдается сообщение о результате транзакции
 
потому что такие же сообщения выдаются если подавать заявку руками
 
Цитата
Дмитрий пишет:
потому что такие же сообщения выдаются если подавать заявку руками
и что? я же не подаю заявку руками.
честно говоря не вижу никакой связи.
ну и в мануале об этом я тоже ничего не вижу. В случае успеха заявка улетает на сервер, в случае не успеха функция выдает строку с диагностикой ошибки.
 
Просто эти сообщения выдаются вне зависимости от способа подачи заявки
 
ну и кстати во всех примерах что я видел в интернетах испльзуется конструкция

Код
res=sendTransaction( transaction ) 
message ( "res= ".. tostring(res
к чему она? она не работает и выводит вообще пустое окно
 
у меня работает и выводит сообщение об ошибках если они есть
Но сообщения лучше выводить в лог файл вот такой конструкцией:


local res="";sendTransaction(trans); if res~="" then Log(trans,res);end
 
пардон опечатка:
вот такой конструкцией
local res=sendTransaction(trans); if res~="" then Log(trans,res);end
 
Все равно не понятно. А как подавить окно с результатом? У меня выводится результат при любом раскладе, хотя я не прошу
 
Цитата
Валентин пишет:
А как подавить окно с результатом?
Боюсь, что никак.
 
не буду увеличивать количество однотипных веток, спрошу здесь.

в qpile при установке стопордера у меня работал такой код:

...
  R = SEND_TRANSACTION(30, T)
   RESULT = GET_VALUE(R, "ORDER_NUMBER")
END FUNC
...

в qlua отправка транзакции происходит так:

local res=sendTransaction(t_Stop)

Можно ли получить из переменной res номер стопордера, если нет, то как это сдеклать?

Спасибо.
 
Здравствуйте,
Результат транзакции можно получить, воспользовавшись функцией обратного вызова OnTransReply.
 
> local res=sendTransaction(t)

В документации по sendTransaction функция описана как без параметров. В описании что эта функция возвращает написано что-то невнятное, не дающее реального ответа. Поправьте документацию (QLua.chm).
 
Здравствуйте,
Документацию поправим
 
Constantin,      Добрый день,
   
    Документация будет дополнена в одной из очередных версий программы.    
    Приносим извинения за причиненыне неудобства.
 
Интересует следующее: при отправке заявки, выставляются две заявки с разностью 1 секунда. Задержек никаких нет, все условия для того чтобы такого не происходило выполнено в скрипте.
 
Цитата
AlexLuvs написал:
Интересует следующее: при отправке заявки, выставляются две заявки с разностью 1 секунда. Задержек никаких нет, все условия для того чтобы такого не происходило выполнено в скрипте.
Добрый день,

Для диагностики проблемы просьба прислать Ваш скрипт, а также скриншот, где наблюдаете указанную разницу на адрес: quiksupport@arqatech.com указав в письме ссылку на данную ветку форума.
 
Цитата
Stanislav Tvorogov написал:
Цитата
AlexLuvs   написал:
Интересует следующее: при отправке заявки, выставляются две заявки с разностью 1 секунда. Задержек никаких нет, все условия для того чтобы такого не происходило выполнено в скрипте.
Добрый день,

Для диагностики проблемы просьба прислать Ваш скрипт, а также скриншот, где наблюдаете указанную разницу на адрес:  quiksupport@arqatech.com  указав в письме ссылку на данную ветку форума.
Добрый день!

Благодарю. Уже разобрался в чем дело. Блок с OnQuote был перегружен. Оптимизировал код, теперь все ровно и ничего не зависает
 
Constantin,      Добрый день,
   
    Описаннная в данном инциденте проблема была устранена в версии 7.2.0     терминала QUIK.    
    Рекомендуем Вам обновить версию программы.    
   
    Приносим извинения за причиненные неудобства.
Страницы: 1
Читают тему
Наверх