QUIKSharp icon indicating copy to clipboard operation
QUIKSharp copied to clipboard

В событии OnAllTrade не приходят исторические сделки.

Open Sergey-A-Dvortsov opened this issue 4 years ago • 9 comments

При старте api в событии OnAllTrade приходят только текущие сделки. Есть ли возможность в quiksharp загружать сделки с начала торговой сессии?

Sergey-A-Dvortsov avatar Dec 17 '20 20:12 Sergey-A-Dvortsov

Они и в Квике (QLua) не приходят, на сколько мне известно (хотя, за несколько лет что-то могло измениться).

Pr0phet1c avatar Dec 18 '20 12:12 Pr0phet1c

Они и в Квике (QLua) не приходят, на сколько мне известно (хотя, за несколько лет что-то могло измениться).

Есть такой загрузчик маркетдаты S#.Data, который также работает через QLua, там все приходит.

Sergey-A-Dvortsov avatar Dec 18 '20 17:12 Sergey-A-Dvortsov

Можно прошерстить всю таблицу обезличенных сделок

function main()
n = getNumberOf(“all_trades”)
order={}
message(“total “.. tostring(n) .. “ of all trades”, 1)
for i=0,n-1 do
trade = getItem(“all_trades”, i)
-- обработать обезличенную сделку
end

Но на счет коллбэка не уверен

Neznakomec avatar Dec 26 '20 22:12 Neznakomec

Предварительно: Реализовал функцию "GetAllTrades", но тестирование пока не выполнял, и как следствие в форк не выгружал. После НГ проверю как она работает. и если все будет нормально - выгружу.

UPD: В общем, во время проверки вспомнил, что я у своих брокеров не подписывался на получение потока всех сделок. В итоге, обновление выкатил, но проверить работоспособность не могу. Кто работает с этими данными - попробуйте самостоятельно, и дайте обратную связь. Для проверки можно использовать демо-приложение. Я добавил туда вызов этой функции.

Pr0phet1c avatar Dec 31 '20 11:12 Pr0phet1c

можно "очистить всё и начать заново" в quik запустить программу с QuikSharp потом залогиниться в терминале, и все сделки пойдут по новой

iza88 avatar Feb 10 '21 15:02 iza88

Предварительно: Реализовал функцию "GetAllTrades", но тестирование пока не выполнял, и как следствие в форк не выгружал. После НГ проверю как она работает. и если все будет нормально - выгружу.

UPD: В общем, во время проверки вспомнил, что я у своих брокеров не подписывался на получение потока всех сделок. В итоге, обновление выкатил, но проверить работоспособность не могу. Кто работает с этими данными - попробуйте самостоятельно, и дайте обратную связь. Для проверки можно использовать демо-приложение. Я добавил туда вызов этой функции.

QuikSharp.LuaException: "Command not implemented in Lua qsfunctions module: get_all_trades" QuikSharp.MessageConverter.Create(Type objectType, JObject jObject) в QuikSharp\Serialization.cs:268

JakovlevAlexey avatar Feb 24 '21 20:02 JakovlevAlexey

QuikSharp.LuaException: "Command not implemented in Lua qsfunctions module: get_all_trades" QuikSharp.MessageConverter.Create(Type objectType, JObject jObject) в QuikSharp\Serialization.cs:268

Вы уверены, что скопировали в папку, из которой запускаете скрипт Lua, обновленный файл qsfunctions.lua? Какой код у Вас в этом файле с 742 по 758 строки?

Pr0phet1c avatar Feb 26 '21 10:02 Pr0phet1c

1.функция GetAllTrades() возвращает List((Trade)), а должна вроде List((AllTrade)). 2.возможно ли сделать, чтобы она отдавала данные порциями ? (например по 16384 записей как в DDE). Спасибо.

fedot161616 avatar Feb 27 '21 16:02 fedot161616

1.функция GetAllTrades() возвращает List((Trade)), а должна вроде List((AllTrade)). Пофиксил 2.возможно ли сделать, чтобы она отдавала данные порциями ? (например по 16384 записей как в DDE). Спасибо. На сколько я знаю, в QLua такое не предусмотрено.

Pr0phet1c avatar Feb 28 '21 11:02 Pr0phet1c