1 个不稳定版本
0.0.1 | 2021年7月19日 |
---|
#82 in #broker
57KB
1.5K SLoC
ig-brokers
非官方的 IG REST API Rust 库
免责声明
这是一个非官方的实现,处于早期开发阶段。尚未进行全面测试,因此请自行承担风险。鉴于以下警告,使用此库产生的任何财务损失将由您自行承担。
使用方法
Cargo.toml
[dependencies]
ig-brokers = { git = "https://github.com/satnav/ig-brokers.git" }
.env
IG_ACCOUNT_ID=<Your IG Account Id>
IG_API_KEY=<Your IG API KEY>
IG_USERNAME=<Your IG Username>
IG_PASSWORD=<Your IG Password>
示例
use dotenv::dotenv;
use ig_brokers::api::IG;
use ig_brokers::models::*;
use std::env;
fn main() {
// Load .env file
dotenv().unwrap();
// Extract environment variables
let account_id = env::var("IG_ACCOUNT_ID").unwrap();
let api_key = env::var("IG_API_KEY").unwrap();
let username = env::var("IG_USERNAME").unwrap();
let password = env::var("IG_PASSWORD").unwrap();
// Switch to IG::live for live account
let api = IG::demo(account_id, api_key, username, password);
// Call endpoint, for reference use the IG REST API documentation
// https://labs.ig.com/rest-trading-api-reference
match api.get_accounts() {
Ok(res) => println!("{:?}", res),
Err(e) => println!("{:?}", e)
};
}
测试
并非所有测试都已实现,已有的测试也相当基础。由于 IG Web API 有速率限制,如果一次性尝试运行所有测试,大多数都会失败。不幸的是,您需要逐个测试它们,如果出错,还需要等待一分钟。此外,您需要在活跃的交易期间(例如工作日)执行测试,否则有些测试也可能失败。
依赖关系
~5–19MB
~264K SLoC