Crate dukascopy_rs

Crate dukascopy_rs 

Source
Expand description

§dukascopy-rs

github crates-io docs-rs

Stream historical tick data straight from Dukascopy

use dukascopy_rs::DukascopyService;
use futures::TryStreamExt;
use time::macros::datetime;

#[tokio::main]
async fn main() {
    DukascopyService::default()
        .download_ticks(
            String::from("EURGBP"),
            // only full hours are supported for now
            datetime!(2020-03-12 13:00),
            datetime!(2020-03-12 15:00),
        )
        .try_for_each(|e| async move {
            println!("{}", e);
            Ok(())
        })
        .await
        .unwrap_or(());
}

source: example/main.rs

For details on what are the possible inputs/outputs, please have a look on download_ticks method documentation.

§Optional cargo features

  • serde - enables serialization support for Tick struct

§TODO

  • support for any date and time (not only full hours)
  • DataSupplier that retries requests upon failure

Structs§

DukascopyService
Processes the data from a given DataSupplier
Error
Error that can be emitted when interacting with DukascopyService
Tick
Instrument’s price change event

Enums§

Kind
Represents different possible error types that could happen when interacting with the Dukascopy API.

Traits§

DataSupplier
An interface used by DukascopyService to fetch the data for further processing