#spread #broker #forex #symbols #tracking #pair #retrieve

bin+lib spread_tracker

外汇对散点追踪器

1 个不稳定版本

0.1.0 2024年4月8日

#592 in 网络编程

Apache-2.0

64KB
898

外汇散点追踪器

spread_tracker 是一个用于追踪外汇市场中各种符号的散点的库。

每个外汇经纪商对每个符号都有不同的散点。这个库用于追踪外汇市场中各种符号的散点。从不同的经纪商那里检索和抓取各种符号的散点。

支持的经纪商

  • Vantage
  • Pepperstone
  • FusionMarkets
  • UltimaMarkets
  • Tickmill
  • Errante
  • CapitalCom
  • XmGroup
  • Headway
  • ZeroMarkets
  • AcySecurities
  • MonetaMarkets
  • BlueberryMarkets
  • EbcFinancialGroup
  • FpMarkets
  • Fbs
  • DnaMarkets
  • OqTime
  • ExclusiveMarkets
  • GoMarkets
  • FxPro
  • ActiveTrades
  • Octa
  • ForexCom
  • AccentForex
  • Fxtm
  • RoboForex
  • MultiBankGroup
  • LiteForex
  • Just2Trade
  • CmcMarkets
  • Alpari
  • Fxgt
  • Exness
  • JustMarkets
  • FxPig
  • XmTrading
  • StarTrader
  • Tmgm
  • EightCap
  • IcMarkets
  • Afterprime

功能

  • 追踪外汇市场中各种符号的散点。
  • 从不同的经纪商处检索和抓取各种符号的散点。
  • 将散点数据存储在数据库中。
  • 缓存散点数据以最小化对经纪商的请求数量。

粒度

  • 查询所有经纪商的所有符号的散点。
  • 查询所有经纪商的特定符号的散点。
  • 查询特定经纪商的所有符号的散点。
  • 查询特定经纪商的特定符号的散点。

用法

将其添加到您的 Cargo.toml

[dependencies]
spread_tracker = "0.1.0"

如何分配正确的经纪商类型

use spread_tracker::config::{
    SpreadBrokerUrl,
    Brokers
};

如何获取他们的散点

use spread_tracker::config::SpreadBrokerUrl;
use spread_tracker::model::{
    Symbol,
    SymbolSpread
};

let config: SpreadBrokerUrl = SpreadBrokerUrl::new();

// In this example, we are tracking the spread of the symbols from the Vantage and EightCap brokers.
let brokers: Vec<Brokers> = vec![
    Brokers::Vantage,
    Brokers::EightCap,
];

// Get the spread of the symbols from the brokers
let spread: Value = SpreadTracker::get_spread(
    config,
    brokers
).await.unwrap();

println!("Spread: {:#?}", spread);

// Result:
{
 "spread": {
   "eightcap": [
     {
       "ask": 2197.92,
       "bid": 2209.92,
       "spread": 12.0,
       "symbol": "XAUUSD"
     },
     {
       "ask": 2031.57,
       "bid": 2060.8973,
       "spread": 29.3273,
       "symbol": "XAUEUR"
     },
     {
---------------- cut for brevity ----------------

返回类型

返回类型是 serde_json::Value 对象,它是一个 JSON 对象。

结构

Object[spread]Vector[broker] -> Object[symbol, ask, bid, spread]

  • spread 是散点数据的关键。
  • broker 是经纪商名称的关键,它将根据经纪商而有所不同。
  • 注意:有时将对象向量称为对象列表。它是一个没有特定顺序的对象集合。

配置

config.yaml用于存储用于追踪散点的经纪人URL,而model.rs用于存储散点追踪的数据模型。config.yaml文件的格式如下

BrokerSpreadUrls:
    Vantage: "https://www.vantagefx.com/trading-info/forex-market-hours/"
    MyFxBook: "https://www.myfxbook.com/forex-broker-quotes/vantage/6052"

其中VantageMyFxBook是经纪人名称,URL是从MyFxBook网站派生出的用于追踪散点的经纪人URL。

依赖项

~10-23MB
~349K SLoC