function main() {
while (!exchange.IO("status")) {
Sleep(1000)
}
// 限制 GetTicker 每秒最多调用 3 次
exchange.IO("rate", "GetTicker", 3, "1s")
for (var i = 0; i < 10; i++) {
if (!exchange.IO("status")) {
Sleep(5000)
continue
}
var ticker = exchange.GetTicker("rb888")
if (ticker) {
Log("Success:", ticker.Last)
} else {
Log("Rate limit exceeded", "#FF0000")
}
Sleep(100)
}
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
# 限制 GetTicker 每秒最多调用 3 次
exchange.IO("rate", "GetTicker", 3, "1s")
for i in range(10):
if not exchange.IO("status"):
Sleep(5000)
continue
ticker = exchange.GetTicker("rb888")
if ticker:
Log("Success:", ticker["Last"])
else:
Log("Rate limit exceeded", "#FF0000")
Sleep(100)
rust
fn main() {
while exchange.IO("status").unwrap_or_default() != "true" {
Sleep(1000);
}
// 限制 GetTicker 每秒最多调用 3 次
let _ = exchange.IO(("rate", "GetTicker", 3, "1s"));
for _i in 0..10 {
if exchange.IO("status").unwrap_or_default() != "true" {
Sleep(5000);
continue;
}
match exchange.GetTicker("rb888") {
Ok(ticker) => Log!("Success:", ticker.Last),
Err(_) => Log!("Rate limit exceeded", "#FF0000"),
}
Sleep(100);
}
}
function main() {
while (!exchange.IO("status")) {
Sleep(1000)
}
// GetTicker 和 GetDepth 共享同一限流配额,合计每秒最多 5 次
exchange.IO("rate", "GetTicker,GetDepth", 5, "1s")
for (var i = 0; i < 10; i++) {
if (!exchange.IO("status")) {
Sleep(5000)
continue
}
if (i % 2 == 0) {
var ticker = exchange.GetTicker("m888")
Log("GetTicker:", ticker ? "Success" : "Failed")
} else {
var depth = exchange.GetDepth("m888")
Log("GetDepth:", depth ? "Success" : "Failed")
}
Sleep(100)
}
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
# GetTicker 和 GetDepth 共享同一限流配额,合计每秒最多 5 次
exchange.IO("rate", "GetTicker,GetDepth", 5, "1s")
for i in range(10):
if not exchange.IO("status"):
Sleep(5000)
continue
if i % 2 == 0:
ticker = exchange.GetTicker("m888")
Log("GetTicker:", "Success" if ticker else "Failed")
else:
depth = exchange.GetDepth("m888")
Log("GetDepth:", "Success" if depth else "Failed")
Sleep(100)
rust
fn main() {
while exchange.IO("status").unwrap_or_default() != "true" {
Sleep(1000);
}
// GetTicker 和 GetDepth 共享同一限流配额,合计每秒最多 5 次
let _ = exchange.IO(("rate", "GetTicker,GetDepth", 5, "1s"));
for i in 0..10 {
if exchange.IO("status").unwrap_or_default() != "true" {
Sleep(5000);
continue;
}
if i % 2 == 0 {
let ticker = exchange.GetTicker("m888");
Log!("GetTicker:", if ticker.is_ok() { "Success" } else { "Failed" });
} else {
let depth = exchange.GetDepth("m888");
Log!("GetDepth:", if depth.is_ok() { "Success" } else { "Failed" });
}
Sleep(100);
}
}
function main() {
while (!exchange.IO("status")) {
Sleep(1000)
}
// 默认模式:超过频率限制时返回 null
exchange.IO("rate", "GetTicker", 3, "1s")
for (var i = 0; i < 10; i++) {
if (!exchange.IO("status")) {
Sleep(5000)
continue
}
var ticker = exchange.GetTicker("rb888")
if (ticker) {
Log("Call", i+1, "Success")
} else {
Log("Call", i+1, "Rate limit exceeded, returned null", "#FF0000")
}
Sleep(100)
}
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
# 默认模式:超过频率限制时返回 null
exchange.IO("rate", "GetTicker", 3, "1s")
for i in range(10):
if not exchange.IO("status"):
Sleep(5000)
continue
ticker = exchange.GetTicker("rb888")
if ticker:
Log("Call", i+1, "Success")
else:
Log("Call", i+1, "Rate limit exceeded, returned null", "#FF0000")
Sleep(100)
rust
fn main() {
while exchange.IO("status").unwrap_or_default() != "true" {
Sleep(1000);
}
// 默认模式:超过频率限制时返回错误
let _ = exchange.IO(("rate", "GetTicker", 3, "1s"));
for i in 0..10 {
if exchange.IO("status").unwrap_or_default() != "true" {
Sleep(5000);
continue;
}
match exchange.GetTicker("rb888") {
Ok(_) => Log!("Call", i + 1, "Success"),
Err(_) => Log!("Call", i + 1, "Rate limit exceeded, returned error", "#FF0000"),
}
Sleep(100);
}
}
function main() {
while (!exchange.IO("status")) {
Sleep(1000)
}
exchange.IO("mode", 0)
// 所有行情函数共享配额
exchange.IO("rate", "GetTicker,GetDepth", 10, "1s")
var symbols = ["rb888", "m888", "i888", "c888"]
Log("Monitoring multiple symbols:", symbols.join(", "))
while (true) {
if (!exchange.IO("status")) {
Sleep(5000)
continue
}
for (var i = 0; i < symbols.length; i++) {
var ticker = exchange.GetTicker(symbols[i])
if (ticker) {
Log(symbols[i], "Price:", ticker.Last)
}
}
Sleep(1000)
}
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
exchange.IO("mode", 0)
# 所有行情函数共享配额
exchange.IO("rate", "GetTicker,GetDepth", 10, "1s")
symbols = ["rb888", "m888", "i888", "c888"]
Log("Monitoring multiple symbols:", ", ".join(symbols))
while True:
if not exchange.IO("status"):
Sleep(5000)
continue
for symbol in symbols:
ticker = exchange.GetTicker(symbol)
if ticker:
Log(symbol, "Price:", ticker["Last"])
Sleep(1000)
rust
fn main() {
while exchange.IO("status").unwrap_or_default() != "true" {
Sleep(1000);
}
let _ = exchange.IO(("mode", 0));
// 所有行情函数共享配额
let _ = exchange.IO(("rate", "GetTicker,GetDepth", 10, "1s"));
let symbols = ["rb888", "m888", "i888", "c888"];
Log!("Monitoring multiple symbols:", symbols.join(", "));
loop {
if exchange.IO("status").unwrap_or_default() != "true" {
Sleep(5000);
continue;
}
for symbol in &symbols {
if let Ok(ticker) = exchange.GetTicker(*symbol) {
Log!(*symbol, "Price:", ticker.Last);
}
}
Sleep(1000);
}
}