Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Вызов datasource_T падает #69

Open
dakuenjery opened this issue May 10, 2022 · 0 comments
Open

Вызов datasource_T падает #69

dakuenjery opened this issue May 10, 2022 · 0 comments

Comments

@dakuenjery
Copy link

Здравствуйте!
Пытаюсь получать обновление OHLCV данных. Хотел заиспользовать datasource_SetUpdateCallback, думая что можно задать коллбек и мне будут эти данные приходить, но вместо коллбека нужно строкой вписать fCbDef. И совсем не понятно что там должно быть...
В итоге для начала решил просто получить хоть какие-то данные.
Имеется следующий код (kotlin):

ZmqTcpQluaRpcClient.newInstance(CONNECT_CONFIG).apply { open() }.use { client ->
    val createDataSourceArgs = CreateDataSource.Args.builder()
        .classCode("SPBFUT")
        .secCode("USDRUBF")
        .interval(INTERVAL_M1)
        .build()

    val ds = client.datasource_CreateDataSource(createDataSourceArgs)

    val upd = client.datasource_SetEmptyCallback(ds.datasourceUUID)

    val sizeArgs = Size.Args(ds.datasourceUUID)

    val size = client.datasource_Size(sizeArgs)
    println("DataSource size = $size")

    val index = size - 1
    val o = client.datasource_O(O.Args(ds.datasourceUUID, index))
    val h = client.datasource_H(H.Args(ds.datasourceUUID, index))
    val l = client.datasource_L(L.Args(ds.datasourceUUID, index))
    val c = client.datasource_C(C.Args(ds.datasourceUUID, index))
    val v = client.datasource_V(V.Args(ds.datasourceUUID, index))
    // падаем
    val t = client.datasource_T(T.Args(ds.datasourceUUID, index))

    println("T: $t\nO: $o\nH: $h\nL: $l\nC: $c\nV: $v")
}

ohlvc получаю (и даже корректные).
Но при попытке запроса времени падаем, а квик ругается следующим сообщением об ошибке в скрипте:
Ошибка в poller:start. Стек вызовов: stack traceback: C:\BCS_Work\QUIK_BCS\lua\quik-lua-rpc/service.lua:374: in metamethod '__newindex' ...ua\quik-lua-rpc/impl\protobuf_request_response_serde.lua:631: in function <...ua\quik-lua-rpc/impl\protobuf_request_response_serde.lua:625> ...ua\quik-lua-rpc/impl\protobuf_request_response_serde.lua:46: in function 'impl.protobuf_request_response_serde.serialize_response' C:\BCS_Work\QUIK_BCS\lua\quik-lua-rpc/service.lua:141: in function <C:\BCS_Work\QUIK_BCS\lua\quik-lua-rpc/service.lua:98> (...tail calls...) C:\BCS_Work\QUIK_BCS\lua\lzmq\poller.lua:80: in method 'poll' C:\BCS_Work\QUIK_BCS\lua\lzmq\poller.lua:88: in function <C:\BCS_Work\QUIK_BCS\lua\lzmq\poller.lua:85> (...tail calls...) [C]: in function 'xpcall' C:\BCS_Work\QUIK_BCS\lua\quik-lua-rpc/service.lua:369: in function 'service.start' [C]: in function 'pcall

Квик версии 9.5.0.42.
Был бы очень благодарен, если бы вы сказали что нужно поправить, или подсказали бы другой способ получения OHLCVT данных (желательно в режиме реального времени по мере прихода этих данных в стакан).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant