Еще раз проверил и забыл поставить галочку "Запускать приложение DDE сервера автоматически". Все заработало. Приношу извинения за отнятое время. Спасибо за оперативность)
Есть какое то ограничение на вывод строк и данных? С малым кол-вом до 100 все получается, если хочу вывести огромный список выдает Не удалось установить DDE соединение с сервером 'excel'. Либо не запущен 'C:\Users\PC\Desktop\123.xlsx', либо в него не загружен лист '1'. Таблица 'Текущие торги #3'
День добрый! Можно ли через "Вывод через DDE сервер" осуществить вывод двух разных таблиц( "Текущие торги " и " Состояние счета " ) на 1 лист в Excel в режиме онлайн? Спасибо.
Владимир, торгую роботами, некоторые активы выходят, некоторые стоят на очереди, все это рутинная работа которую хотелось бы автоматизировать. Для этого я и хочу сверять "Текущие торги"( формируемы мною портель) с "Состояние счета"( что имею в наличие), вот основная затея.
Добрый день! Можно ли сверить инструменты в таблицах "Текущие торги" и в таблице "Состояние счета", на наличие инструментов? То есть если в таблице "Состояние счета" нет инструмента ,который есть в таблице "Текущие торги" выдать сообщение с кодом инструмента. Через getNumberOf("Текущие торги #2") пытаюсь получить доступ к количеству элементов в таблице чтобы организовать цикл перебора, выдает -1. Цель: получить доступ к элементам таблицы "Текущие торги" и организовать цикл по всем элементам. На каждом инструменте таблицы "Текущие торги" делаю цикл сверки по таблице "Состояние счета", если элемент не найдет, выдать сообщение с кодом инструмента и остановить циклы.
Уважаемы разработчики, обратите внимание на пост. Получаю в переменную значение количества бумаг по инструменту с помощью такой вот конструкции local tblTotalLot = getDepoEx(FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT ,LIMIT_KIND) if tblTotalLot==nil then TotalLots=0 else TotalLots=tonumber(tblTotalLot.currentbal) end Вывожу переменную через message() и наблюдаю. Например 1000 раз получет правильное значение, на 1001 какое то другое значение( складывается впечатление, что кол-во бумаг с другого инструмента).
Добрый день! Вопрос, можно ли сделать перебор циклом строк таблицы Текущие торги и получение из них необходимых значений, например, код инстр., предлож., спрос , шаг цены и тд? Заранее спасибо.
то есть изначально было 18(лотов) 180 бумаг -> на следующем проходе бот получает в переменную TotalLots 700 лотов ( 7000 бумаг) и понимает, что это много и начинает закрытие -> после первого закрытия( скрипт торгует 1 лотом) в переменную приходит нормалное значение 17лотов( с учетом закрытой ранее позы) и открывает заново открытий лот. Из-за того, что в переменную приходят непонятные значения ( раньше такого не наблюдалось) скрипт тпокупает и продает по сути на ровном месте. В чем проблема не понимаю.
После обновления терминала квик до версии 8.5.2.11 начались непонятки с получением значений позиция. Данные пытаюсь получить таким образом: local tblTotalLot = getDepoEx(FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT ,LIMIT_KIND) if tblTotalLot==nil then TotalLots=0 else TotalLots=tonumber(tblTotalLot.currentbal) end выводится через message :13:29:07 SELL tblTotalLot table: 0000000012D6DF70 TotalLots 7000.0 при закрытии ордера выводится через message :13:29:10 BUY tblTotalLot table: 0000000012D6E3B0 TotalLots 170.0 при закрытии ордера
То есть в переменную получяю большее значение по позиции, бот зыкравет, на следующем проходе получает нормально значени по позиции опять открывает. Скрипт до этого работал без нареканий. Звонил в техподдержку брокера, сказали у них никакх проблем.
Спасибо. А по getMoneyEx(FIRM_ID, CLIENT_CODE, TAG, CURR_CODE,LIMIT_KIND) и getDepoEx(FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT ,LIMIT_KIND) тоже надо проверять находятся ли они в потоке или как?
День добрый! Подскажите знающие люди, правильно ли я пытаюсь получить параметры таблиц в переменные. Заранее спасибо. local tblAsk = getParamEx(CLASS_CODE, SEC_CODE, "OFFER") local tblBid = getParamEx(CLASS_CODE, SEC_CODE, "BID") local tblStatus = getParamEx(CLASS_CODE, SEC_CODE, "STATUS") local tblMinLot = getParamEx(CLASS_CODE, SEC_CODE, "LOTSIZE") local tblBalance = getMoneyEx(FIRM_ID, CLIENT_CODE, TAG, CURR_CODE,LIMIT_KIND) local tblTotalLot = getDepoEx(FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT ,LIMIT_KIND) local tblMinStepPrice = getParamEx(CLASS_CODE, SEC_CODE, "SEC_PRICE_STEP")
if tblAsk==nil then Ask=0 else Ask=tonumber(tblAsk.param_value) end if tblBid==nil then Bid=0 else Bid=tonumber(tblBid.param_value) end if tblStatus==nil then Status=0 else Status=tonumber(tblStatus.param_value) end if tblMinLot==nil then MinLot=0 else MinLot=tonumber(tblMinLot.param_value) end if tblBalance==nil then Balance=0 else Balance=tonumber(tblBalance.currentbal) end if tblTotalLot==nil then TotalLots=0 else TotalLots=tonumber(tblTotalLot.currentbal) end if tblMinStepPrice==nil then MinStepPrice=0 else MinStepPrice=tonumber(tblMinStepPrice.param_value) end