StockMQ is a high-performance RPC library that uses MsgPack and ZeroMQ designed to use with QUIK (ARQA Technologies) trading terminal.
Request -> msgpack([method, args...])
Response -> status, msgpack(payload)
- Supports x64 architecture (QUIK 8.0 and above)
- Simple and fast RPC protocol
- Works on Apple Silicon (using Parallels/VMWare and x64 emulation)
- Compatible with Lua 5.3 and Lua 5.4
Connectors available:
Python:
with RPCClient("tcp://127.0.0.1:8004") as rpc:
res = rpc.call("getParamEx2", "TQBR", "SBER", "LAST")
print(f"Result {res}")Go:
rpc, err := NewRPCClient(context.Background(), "tcp://127.0.0.1:8004")
if err != nil {
log.Fatalln(err)
}
defer rpc.Close()
var res map[string]string
if err := rpc.CallWithResult(&res, "getParamEx2", "TQBR", "SBER", "LAST"); err != nil {
log.Fatalln(err)
}
fmt.Printf("Result %v\n", res)Make sure you have installed the Microsoft C/C++ libraries
- Download and extract the latest release of stockmq-quik-connector from Releases
- Load quik.lua script
The connector opens a socket on loopback interface. You can bind it to the physical address by changing the STOCKMQ_RPC_URI variable:
STOCKMQ_RPC_TIMEOUT = 10
STOCKMQ_RPC_URI = "tcp://0.0.0.0:8004"
Before you begin building the application, you must have the following prerequisites installed on your system
cmake --build --preset ninja-vcpkg-release --config Release