#终端 #图表 #交易 #蜡烛图 #图表 #命令行

程序+库 cli-candlestick-chart

一个用于在终端中显示蜡烛图的库

7 个不稳定版本 (3 个破坏性更新)

0.4.1 2021年12月14日
0.4.0 2021年12月14日
0.3.1 2021年11月15日
0.2.1 2021年11月15日
0.1.2 2021年11月13日

#157 in 可视化

MIT 许可证

89KB
607



在您的终端中直接绘制蜡烛图。 📈



特性

  • 可定制
  • 自动适应终端大小
  • 以简单 API 的库形式提供
  • 以独立使用二进制形式提供

API 使用

将以下内容添加到您的 Cargo.toml

[dependencies]
cli-candlestick-chart = "0.3"
use cli_candlestick_chart::{Candle, Chart};

fn main() {
    // Add some candles
    let candles: Vec<Candle> = vec![
        Candle::new(133.520004, 133.610001, 126.760002, 129.410004),
        Candle::new(128.889999, 131.740005, 128.429993, 131.009995),
        Candle::new(127.720001, 131.050003, 126.379997, 126.599998),
        Candle::new(128.360001, 131.630005, 127.860001, 130.919998),
        Candle::new(132.429993, 132.630005, 130.229996, 132.050003),
    ];

    // Create and display the chart
    let mut chart = Chart::new(&candles);

    // Set the chart title
    chart.set_name(String::from("BTC/USDT"));

    // Set customs colors
    chart.set_bear_color(1, 205, 254);
    chart.set_bull_color(255, 107, 153);
    chart.set_vol_bull_color(1, 205, 254);
    chart.set_vol_bear_color(255, 107, 153);

    chart.set_volume_pane_height(6);
    chart.set_volume_pane_enabled(false);
    
    chart.draw();
}

二进制使用

在此处下载适用于您平台的最新版本 这里

USAGE:
    cli-candlestick-chart.exe [OPTIONS] --mode <MODE>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --bear-color <BEAR_COLOR>    Sets the descending candles color in hexadecimal.
        --bull-color <BULL_COLOR>    Sets the ascending candles color in hexadecimal.
        --chart-name <CHART_NAME>    Sets the chart name.
    -f, --file <FILE>                [MODE:*-file] File to read candles from.`   
    -m, --mode <MODE>                Select the method for retrieving the candles. 
                                     [possible values: stdin, csv-file, json-file]

在请求 CSV 文件模式时,库期望有一个包含以下标题字段的 CSV 文件:open,high,low,close

在请求 JSON 或 stdin 模式时,库期望一个具有以下格式的 JSON

[
  {
    "open": 28994.009766,
    "high": 29600.626953,
    "low": 28803.585938,
    "close": 29374.152344
  },
  ...
]

示例

API

带有 CSV 解析的基本示例 : 使用以下命令运行 cargo run --example basic-with-csv-parsing --features=serde,csv

从 binance 获取蜡烛图 : 使用以下命令运行 cargo run --example fetch-from-binance --features=serde,reqwest

二进制

  • 从文件读取 CSV
./cli-candlestick-chart \
    --mode=csv-file \
    -f=./examples/BTC-USD.csv \
    --chart-name="My BTC Chart" \
    --bear-color="#b967ff" \
    --bull-color="ff6b99"
  • 从 stdin 读取
echo '[
  {
    "open": 28994.009766,
    "high": 29600.626953,
    "low": 28803.585938,
    "close": 29374.152344
  },
  {
    "open": 29376.455078,
    "high": 33155.117188,
    "low": 29091.181641,
    "close": 32127.267578
  }
]' | ./cli-candlestick-chart \
    --mode=stdin \
    --chart-name="My BTC Chart" \
    --bear-color="#b967ff" \
    --bull-color="ff6b99"

依赖关系

~0–14MB
~145K SLoC