Konstantin (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Что означает ошибка sendTransaction -- Не указан режим транзакции?
 
клиент код добавлять не пришлось, не знаю что я сделал, но все заработало само собой.
Что означает ошибка sendTransaction -- Не указан режим транзакции?
 
Цитата
nikolz написал:
CLIENT_CODE
а где его взять, я в таблице "Ограничения по клиентским счетам" вижу только "Фирму" и "Торговый счет"
Что означает ошибка sendTransaction -- Не указан режим транзакции?
 
Цитата
nikolz написал:
CLIENT_CODE, CLASSCODE
добавил класс, та же ошибка
Что означает ошибка sendTransaction -- Не указан режим транзакции?
 
Цитата
s_mike@rambler.ru написал:
Класс инструмента не указан
Да, указал, ошибка та же.
Что означает ошибка sendTransaction -- Не указан режим транзакции?
 
Код
transaction = {}
    transaction.TYPE = "M"
    transaction.ACTION = "NEW_ORDER"
    transaction.ACCOUNT = accountId
    transaction.SECCODE = secCode
    transaction.OPERATION = "B"
    transaction.PRICE = tostring(lastPrice+500)
    transaction.TRANS_ID = tostring(ID + 1)
    transaction.QUANTITY = tostring(lots)
    
sendTransaction(transaction)



Вроде указано всё что необходимо
Как получить "лимит открытых позиций" по фьючерсам, т.е. количество денег на счету?
 
нашел функцию getFuturesLimit
Как получить "лимит открытых позиций" по фьючерсам, т.е. количество денег на счету?
 
В таблице возвращаемой getFuturesHolding ничего такого не нашёл, там только позиции по фьючерсным контрактам.
Запуск скрипта из примера подвешивает терминал Quik
 
Цитата
Старатель написал:
Если в основном цикле  while is_run do end  нет слипа, то он выполняется бесконечно и не прерывается на вызов колбеков. Поэтому счётчик #MAIN_QUEUE не увеличивается, и код даже не заходит в ветку  if #MAIN_QUEUE > 0 then
Чтобы колбеки вызывались, нужно добавить в цикл sleep или любую другую C-функцию.

Добавил seep в main -- не помогло.
Запуск скрипта из примера подвешивает терминал Quik
 
Цитата
Konstantin написал:
Цитата
 
Да, спасибо, теперь не виснет.
только в чем причина (разница кода не велика) не понятно
Запуск скрипта из примера подвешивает терминал Quik
 
Цитата
nikolz написал:
поправил
работает быстро
Код
   function   main ()
    while  is_run  do 
       while   # MAIN_QUEUE  >   0   do 
         ProcessingCallbakc(MAIN_QUEUE[ 1 ])
          table.sremove (MAIN_QUEUE,  1 )
       end 
       sleep ( 100 )
    end 
 end 

 function   ProcessingCallbakc (value)
    message ( string.format ( "Обработка события %s начата" , value.callback))
    message ( string.format ( "Обработка события %s завершена" , value.callback))
 end 
  
Да, спасибо, теперь не виснет.
Запуск скрипта из примера подвешивает терминал Quik
 
Цитата
Anton Belonogov написал:
Konstantin, добрый день.
Такое поведение связано с особенностями работы Lua-машины: при использовании бесконечных циклов в скрипте необходимо вносить небольшую задержку, иначе возникают зависания.
Таким образом, для корректной работы данного скрипта в цикл  while  в теле функции  main  нужно добавить функцию  sleep :
Код
   function   main ()
     while  is_run  do 
         if   # MAIN_QUEUE  >   0   then 
            ProcessingCallbakc(MAIN_QUEUE[ 1 ])
             table.sremove (MAIN_QUEUE,  1 )
             message ( "Размер очереди "   ..  tostring( # MAIN_QUEUE))
         end 
         sleep ( 1 )
     end 
 end   
ProcessingCallbakc содержит sleep на три секунды
Запуск скрипта из примера подвешивает терминал Quik
 
Цитата
Nikolay написал:
Т.к. в примере присутствует OnAllTrade и у Вас организована подписка на поток сделок, скажем, по многим инструментам, то он будет постоянно блокировать поток для внесения новых данных.
Лучше удалить этот колбек. Либо добавляйте print debug сообщения, для оценки происходящего.
Убрал onAllTrade результат тот же. Может ещё что убрать...
Запуск скрипта из примера подвешивает терминал Quik
 
ни у кого больше не вешает видимо
Запуск скрипта из примера подвешивает терминал Quik
 
Вот этот пример из PDF "Использование Lua в Рабочем месте Quik" (пункт 2 "Взаимодействие потоков Lua скрипта") вешает терминал.
Что я делаю не так
Страницы: 1
Наверх