[INFO] fetching crate nersent_pace 0.6.22... [INFO] checking nersent_pace-0.6.22 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate nersent_pace 0.6.22 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate nersent_pace 0.6.22 on toolchain 23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate nersent_pace 0.6.22 [INFO] finished tweaking crates.io crate nersent_pace 0.6.22 [INFO] tweaked toml for crates.io crate nersent_pace 0.6.22 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3b8d77c0b0b4f912a127045779fc504df44084982b5f08208d70db90730d0cb8 [INFO] running `Command { std: "docker" "start" "-a" "3b8d77c0b0b4f912a127045779fc504df44084982b5f08208d70db90730d0cb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3b8d77c0b0b4f912a127045779fc504df44084982b5f08208d70db90730d0cb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b8d77c0b0b4f912a127045779fc504df44084982b5f08208d70db90730d0cb8", kill_on_drop: false }` [INFO] [stdout] 3b8d77c0b0b4f912a127045779fc504df44084982b5f08208d70db90730d0cb8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a17d91aad6e887e7fc1f447f8de19d351247cfcec8597d53f41a3ee1f718c99c [INFO] running `Command { std: "docker" "start" "-a" "a17d91aad6e887e7fc1f447f8de19d351247cfcec8597d53f41a3ee1f718c99c", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.7 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Compiling semver v1.0.18 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking futures-channel v0.3.28 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling ahash v0.8.3 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Compiling snap v1.1.0 [INFO] [stderr] Checking rayon-core v1.11.0 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking brotli-decompressor v2.3.4 [INFO] [stderr] Checking array-init-cursor v0.2.0 [INFO] [stderr] Checking streaming-decompression v0.1.2 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking planus v0.3.1 [INFO] [stderr] Checking lexical-core v0.8.5 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Compiling multiversion-macros v0.6.1 [INFO] [stderr] Compiling seq-macro v0.3.5 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling smartstring v1.0.1 [INFO] [stderr] Compiling ucd-trie v0.1.6 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling const-random-macro v0.1.15 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking foreign_vec v0.1.0 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Checking ethnum v1.4.0 [INFO] [stderr] Checking hash_hasher v2.0.3 [INFO] [stderr] Checking dyn-clone v1.0.14 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking streaming-iterator v0.1.9 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Checking simdutf8 v0.1.4 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Compiling arrow2 v0.16.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Checking sysinfo v0.27.8 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking xxhash-rust v0.8.7 [INFO] [stderr] Checking const-random v0.1.15 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Checking lexical v6.1.1 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking dirs v4.0.0 [INFO] [stderr] Checking brotli v3.3.4 [INFO] [stderr] Compiling yeslogic-fontconfig-sys v3.2.0 [INFO] [stderr] Checking libloading v0.8.0 [INFO] [stderr] Compiling rustix v0.37.23 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Compiling matrixmultiply v0.3.7 [INFO] [stderr] Compiling font-kit v0.11.0 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking const-cstr v0.3.0 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Checking colored v2.0.4 [INFO] [stderr] Compiling polars v0.27.2 [INFO] [stderr] Checking chrono v0.4.31 [INFO] [stderr] Checking num-complex v0.4.4 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Compiling zstd-sys v2.0.8+zstd.1.5.5 [INFO] [stderr] Compiling lz4-sys v1.9.4 [INFO] [stderr] Compiling freetype-sys v0.13.1 [INFO] [stderr] Compiling libmimalloc-sys v0.1.35 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking float-ord v0.2.0 [INFO] [stderr] Checking drawille v0.3.0 [INFO] [stderr] Checking similar v2.2.1 [INFO] [stderr] Checking term v0.7.0 [INFO] [stderr] Checking console v0.15.7 [INFO] [stderr] Checking freetype v0.7.0 [INFO] [stderr] Checking ttf-parser v0.17.1 [INFO] [stderr] Checking encode_unicode v1.0.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking multiversion v0.6.1 [INFO] [stderr] Checking similar-asserts v1.5.0 [INFO] [stderr] Checking now v0.1.3 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking polars-utils v0.27.2 [INFO] [stderr] Checking terminal_size v0.2.6 [INFO] [stderr] Checking mimalloc v0.1.39 [INFO] [stderr] Checking kdam v0.3.0 [INFO] [stderr] Checking comfy-table v6.2.0 [INFO] [stderr] Checking num v0.4.1 [INFO] [stderr] Compiling thiserror-impl v1.0.48 [INFO] [stderr] Compiling bytemuck_derive v1.5.0 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling async-trait v0.1.73 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Compiling enum_dispatch v0.3.12 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Checking futures-util v0.3.28 [INFO] [stderr] Checking bytemuck v1.14.0 [INFO] [stderr] Checking image v0.24.7 [INFO] [stderr] Checking rgb v0.8.36 [INFO] [stderr] Compiling thiserror v1.0.48 [INFO] [stderr] Compiling pest v2.7.3 [INFO] [stderr] Checking textplots v0.8.4 [INFO] [stderr] Compiling semver-parser v0.10.2 [INFO] [stderr] Checking zstd v0.12.4 [INFO] [stderr] Checking zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Checking plotters-bitmap v0.3.3 [INFO] [stderr] Compiling semver v0.11.0 [INFO] [stderr] Compiling rustc_version v0.3.3 [INFO] [stderr] Checking serde v1.0.188 [INFO] [stderr] Compiling pathfinder_simd v0.5.1 [INFO] [stderr] Checking futures-executor v0.3.28 [INFO] [stderr] Checking futures v0.3.28 [INFO] [stderr] Checking parquet-format-safe v0.2.4 [INFO] [stderr] Checking pathfinder_geometry v0.5.1 [INFO] [stderr] Checking plotters v0.3.5 [INFO] [stderr] Checking lz4 v1.24.0 [INFO] [stderr] Checking arrow-format v0.8.1 [INFO] [stderr] Checking csv v1.2.2 [INFO] [stderr] Checking prettytable-rs v0.10.0 [INFO] [stderr] Checking parquet2 v0.17.2 [INFO] [stderr] Checking polars-arrow v0.27.2 [INFO] [stderr] Checking polars-core v0.27.2 [INFO] [stderr] Checking polars-ops v0.27.2 [INFO] [stderr] Checking polars-time v0.27.2 [INFO] [stderr] Checking polars-io v0.27.2 [INFO] [stderr] Checking polars-plan v0.27.2 [INFO] [stderr] Checking polars-pipe v0.27.2 [INFO] [stderr] Checking polars-lazy v0.27.2 [INFO] [stderr] Checking nersent_pace v0.6.22 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `TradeDirection` [INFO] [stdout] --> src/content/aroon.rs:7:39 [INFO] [stdout] | [INFO] [stdout] 7 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale` [INFO] [stdout] --> src/content/awesome_oscillator.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | statistics::normalization::rescale, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/balance_of_power.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/bollinger_bands_pb.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/bollinger_bands_width.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | ta::{ [INFO] [stdout] 12 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/chaikin_money_flow.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | lowest_bars::LowestBars, sum::Sum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/chande_kroll_stop.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | }, [INFO] [stdout] 7 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{ [INFO] [stdout] 9 | average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | lowest::Lowest, lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils` [INFO] [stdout] --> src/content/chande_momentum_oscillator.rs:13:39 [INFO] [stdout] | [INFO] [stdout] 13 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, sum::Sum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | }, [INFO] [stdout] 19 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/choppiness_index.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | lowest::Lowest, lowest_bars::LowestBars, sum::Sum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`, `utils::float::Float64Utils` [INFO] [stdout] --> src/content/commodity_channel_index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | statistics::normalization::rescale, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | cross_under_threshold::CrossUnderThreshold, dev::Dev, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | lowest_bars::LowestBars, simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/connors_relative_strength_index.rs:13:39 [INFO] [stdout] | [INFO] [stdout] 13 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, percent_rank::Prank, rate_of_change::Roc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/coppock_curve.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, rate_of_change::Roc, weighted_moving_average::Wma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/directional_movement_index.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | cross_under_threshold::CrossUnderThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/donchian_channels.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | }, [INFO] [stdout] 7 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{ [INFO] [stdout] 9 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | lowest::Lowest, lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/macd.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/price_oscillator.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `println` [INFO] [stdout] --> src/content/relative_strength_index.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, println}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnyProcessor`, `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/relative_strength_index.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnyProcessor, AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `CrossMode`, `Cross`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils` [INFO] [stdout] --> src/content/relative_vigor_index.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::{Cross, CrossMode}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/relative_volatility_index.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/stoch_relative_strength_index.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/ultimate_oscillator.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/volume_oscillator.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnyProcessor, AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/vortex.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | cross_under_threshold::CrossUnderThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/williams_percent_range.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | lowest::Lowest, [INFO] [stdout] 20 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash_map::Values`, `path::Path` [INFO] [stdout] --> src/core/asset.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{hash_map::Values, HashMap}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | fmt::{Display, Formatter}, [INFO] [stdout] 4 | path::Path, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::polars::io::read_df` [INFO] [stdout] --> src/core/asset.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::polars::io::read_df; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataProvider`, `in_memory_data_provider::InMemoryDataProvider` [INFO] [stdout] --> src/core/asset.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | data_provider::{AnyDataProvider, DataProvider}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 12 | in_memory_data_provider::InMemoryDataProvider, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `RefCell`, `RefMut`, `UnsafeCell` [INFO] [stdout] --> src/core/context.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | borrow::{Borrow, BorrowMut}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] 3 | cell::{Cell, RefCell, RefMut, UnsafeCell}, [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::Context` [INFO] [stdout] --> src/core/features.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | core::{context::Context, incremental::Incremental, trend::Trend}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::Arc` [INFO] [stdout] --> src/core/in_memory_data_provider.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, time::Duration}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::prelude::DataFrame` [INFO] [stdout] --> src/core/in_memory_data_provider.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use polars::prelude::DataFrame; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common::src::Src` [INFO] [stdout] --> src/core/incremental.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::common::src::Src; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`, `time::Duration` [INFO] [stdout] --> src/polars/dataframe.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataType`, `IsFloat`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`, `series::Series` [INFO] [stdout] --> src/polars/dataframe.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | SerReader, SerWriter, TimeUnit, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | series::Series, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ensure_dir`, `get_filename_extension` [INFO] [stdout] --> src/polars/dataframe.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::utils::fs::{ensure_dir, get_filename_extension}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/polars/in_memory_data_provider.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `data_provider::DataProvider` [INFO] [stdout] --> src/polars/in_memory_data_provider.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::{data_provider::DataProvider, in_memory_data_provider::InMemoryDataProvider}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path` [INFO] [stdout] --> src/polars/series.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataFrame`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit` [INFO] [stdout] --> src/polars/series.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | SerReader, SerWriter, TimeUnit, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `trade_direction_from_f64` [INFO] [stdout] --> src/polars/series.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | strategy::trade::{trade_direction_from_f64, StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `row` [INFO] [stdout] --> src/strategy/metrics/cobra_metrics.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use prettytable::{color, row, Attr, Cell, Row, Table}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StrategyEvents`, `StrategyMetrics` [INFO] [stdout] --> src/strategy/metrics/equity_metrics.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | strategy::{Strategy, StrategyEvents, StrategyMetrics}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental` [INFO] [stdout] --> src/strategy/optimization.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::{context::Context, data_provider::AnyDataProvider, incremental::Incremental}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `strategy::Strategy` [INFO] [stdout] --> src/strategy/optimization.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | strategy::Strategy, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | trade::{SignalFixture, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut`, `Ref`, `rc::Rc` [INFO] [stdout] --> src/strategy/strategy.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | cell::{Ref, RefCell, RefMut}, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] 3 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::src::ohlc4` [INFO] [stdout] --> src/strategy/strategy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | common::src::ohlc4, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/strategy/strategy_runner.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{any::Any, collections::HashMap, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `context::Context`, `self` [INFO] [stdout] --> src/strategy/strategy_runner.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | context::Context, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | data_provider::{self, AnyDataProvider}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradingViewMetricsData`, `TradingViewMetrics`, `strategy::Strategy`, `trade::StrategySignal` [INFO] [stdout] --> src/strategy/strategy_runner.rs:13:36 [INFO] [stdout] | [INFO] [stdout] 13 | metrics::tradingview_metrics::{TradingViewMetrics, TradingViewMetricsData}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | strategy::Strategy, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | trade::StrategySignal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColoredString`, `Colorize` [INFO] [stdout] --> src/strategy/trade.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::{ColoredString, Colorize}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::export::ahash::HashMap` [INFO] [stdout] --> src/strategy/utils.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use polars::export::ahash::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental` [INFO] [stdout] --> src/strategy/utils.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::core::{context::Context, incremental::Incremental}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::strategy::Strategy` [INFO] [stdout] --> src/strategy/utils.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use super::strategy::Strategy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::prelude::IsFloat` [INFO] [stdout] --> src/ta/bars.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use polars::prelude::IsFloat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `MaKind`, `Ma`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::stdev::Stdev`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/ta/commodity_channel_index.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | }, [INFO] [stdout] 7 | statistics::stdev::Stdev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ta::{ [INFO] [stdout] 10 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 11 | cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | cross_under_threshold::CrossUnderThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | dev::Dev, [INFO] [stdout] 14 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CrossMode`, `cross_under` [INFO] [stdout] --> src/ta/cross_over_threshold.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | use super::cross::{cross_over, cross_under, CrossMode}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over` [INFO] [stdout] --> src/ta/cross_under.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over` [INFO] [stdout] --> src/ta/cross_under_threshold.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/rate_of_change.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/running_moving_average.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `pinescript::common::PineScriptFloat64`, `utils::float::Float64Utils` [INFO] [stdout] --> src/ta/simple_moving_average.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/stoch.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/sum.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/symmetrically_weighted_moving_average.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/true_range.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ColoredString` [INFO] [stdout] --> src/testing/array_snapshot.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::{ColoredString, Colorize}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `sync::Arc` [INFO] [stdout] --> src/testing/fixture.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | sync::Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `strategy::trade::TradeDirection` [INFO] [stdout] --> src/testing/fixture.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc` [INFO] [stdout] --> src/common/tests/fixnan_test.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc` [INFO] [stdout] --> src/common/tests/float_series_test.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider` [INFO] [stdout] --> src/common/tests/float_series_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::data_provider::DataProvider; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `context::Context`, `in_memory_data_provider::InMemoryDataProvider` [INFO] [stdout] --> src/common/tests/float_series_test.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | common::fixnan::FixNan, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | core::{context::Context, in_memory_data_provider::InMemoryDataProvider}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TradeDirection` [INFO] [stdout] --> src/content/aroon.rs:7:39 [INFO] [stdout] | [INFO] [stdout] 7 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale` [INFO] [stdout] --> src/content/awesome_oscillator.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | statistics::normalization::rescale, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/balance_of_power.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/bollinger_bands_pb.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/bollinger_bands_width.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | ta::{ [INFO] [stdout] 12 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | lowest_bars::LowestBars, simple_moving_average::Sma, stdev::Stdev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/chaikin_money_flow.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | lowest_bars::LowestBars, sum::Sum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/chande_kroll_stop.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | }, [INFO] [stdout] 7 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{ [INFO] [stdout] 9 | average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | lowest::Lowest, lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils` [INFO] [stdout] --> src/content/chande_momentum_oscillator.rs:13:39 [INFO] [stdout] | [INFO] [stdout] 13 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, sum::Sum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | }, [INFO] [stdout] 19 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/choppiness_index.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | average_true_range::Atr, cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | lowest::Lowest, lowest_bars::LowestBars, sum::Sum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::normalization::rescale`, `utils::float::Float64Utils` [INFO] [stdout] --> src/content/commodity_channel_index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | statistics::normalization::rescale, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | cross_under_threshold::CrossUnderThreshold, dev::Dev, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | lowest_bars::LowestBars, simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/connors_relative_strength_index.rs:13:39 [INFO] [stdout] | [INFO] [stdout] 13 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, percent_rank::Prank, rate_of_change::Roc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/coppock_curve.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | cross_under_threshold::CrossUnderThreshold, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, rate_of_change::Roc, weighted_moving_average::Wma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/directional_movement_index.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | cross_under_threshold::CrossUnderThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/content/donchian_channels.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | }, [INFO] [stdout] 7 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{ [INFO] [stdout] 9 | cross::Cross, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | cross_under_threshold::CrossUnderThreshold, highest::Highest, highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | lowest::Lowest, lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/macd.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/price_oscillator.rs:11:39 [INFO] [stdout] | [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 12 | ta::{ [INFO] [stdout] 13 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `println` [INFO] [stdout] --> src/content/relative_strength_index.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, println}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnyProcessor`, `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/relative_strength_index.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnyProcessor, AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `CrossMode`, `Cross`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `utils::float::Float64Utils` [INFO] [stdout] --> src/content/relative_vigor_index.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::{Cross, CrossMode}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/relative_volatility_index.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/stoch_relative_strength_index.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/ultimate_oscillator.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `SrcKind`, `Src`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/volume_oscillator.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnyProcessor, AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `MaKind`, `Ma`, `SrcKind`, `Src`, `TradeDirection`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/vortex.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | cross_under_threshold::CrossUnderThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaKind`, `Ma`, `TradeDirection`, `cross::Cross`, `highest_bars::HighestBars`, `lowest_bars::LowestBars` [INFO] [stdout] --> src/content/williams_percent_range.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | ta::{ [INFO] [stdout] 14 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | lowest::Lowest, [INFO] [stdout] 20 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataFrameFixtureUtils`, `ta::simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/aroon_test.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | ta::simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/awesome_oscillator_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/balance_of_power_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/bollinger_bands_pb_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/bollinger_bands_width_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/chaikin_money_flow_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/chande_kroll_stop_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/chande_momentum_oscillator_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | ta::{ [INFO] [stdout] 17 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 18 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/choppiness_index_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/commodity_channel_index_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/connors_relative_strength_index_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | ta::{ [INFO] [stdout] 17 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 18 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/coppock_curve_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/directional_movement_index_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 18 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/donchian_channels_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/macd_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/price_oscillator_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `StrategySignal`, `TradeDirection`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/relative_strength_index_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | strategy::trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 19 | ta::{ [INFO] [stdout] 20 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 21 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/relative_vigor_index_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/relative_volatility_index_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/stoch_relative_strength_index_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 18 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/ultimate_oscillator_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `SrcKind`, `Src`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/volume_oscillator_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `DataFrameFixtureUtils`, `MaKind`, `Ma`, `SrcKind`, `Src`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/vortex_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | content::{ [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AroonConfig`, `Aroon`, `AwesomeOscillatorConfig`, `AwesomeOscillator`, `MaKind`, `Ma`, `polars::dataframe::DataFrameUtils`, `simple_moving_average::Sma` [INFO] [stdout] --> src/content/tests/williams_percent_range_test.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | aroon::{Aroon, AroonConfig}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 9 | awesome_oscillator::{AwesomeOscillator, AwesomeOscillatorConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | polars::dataframe::DataFrameUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | ta::{ [INFO] [stdout] 15 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] 16 | simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash_map::Values`, `path::Path` [INFO] [stdout] --> src/core/asset.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{hash_map::Values, HashMap}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | fmt::{Display, Formatter}, [INFO] [stdout] 4 | path::Path, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::polars::io::read_df` [INFO] [stdout] --> src/core/asset.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::polars::io::read_df; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataProvider`, `in_memory_data_provider::InMemoryDataProvider` [INFO] [stdout] --> src/core/asset.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | data_provider::{AnyDataProvider, DataProvider}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 12 | in_memory_data_provider::InMemoryDataProvider, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `RefCell`, `RefMut`, `UnsafeCell` [INFO] [stdout] --> src/core/context.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | borrow::{Borrow, BorrowMut}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] 3 | cell::{Cell, RefCell, RefMut, UnsafeCell}, [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::Context` [INFO] [stdout] --> src/core/features.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | core::{context::Context, incremental::Incremental, trend::Trend}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::Arc` [INFO] [stdout] --> src/core/in_memory_data_provider.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, time::Duration}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::prelude::DataFrame` [INFO] [stdout] --> src/core/in_memory_data_provider.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use polars::prelude::DataFrame; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common::src::Src` [INFO] [stdout] --> src/core/incremental.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::common::src::Src; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc` [INFO] [stdout] --> src/pinescript/tests/float_test.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common::float_series::FloatSeries` [INFO] [stdout] --> src/pinescript/tests/float_test.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::float_series::FloatSeries; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider` [INFO] [stdout] --> src/pinescript/tests/float_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::data_provider::DataProvider; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `context::Context`, `in_memory_data_provider::InMemoryDataProvider` [INFO] [stdout] --> src/pinescript/tests/float_test.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | common::fixnan::FixNan, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | core::{context::Context, in_memory_data_provider::InMemoryDataProvider}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path`, `time::Duration` [INFO] [stdout] --> src/polars/dataframe.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataType`, `IsFloat`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit`, `series::Series` [INFO] [stdout] --> src/polars/dataframe.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | SerReader, SerWriter, TimeUnit, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | series::Series, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ensure_dir`, `get_filename_extension` [INFO] [stdout] --> src/polars/dataframe.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::utils::fs::{ensure_dir, get_filename_extension}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/polars/in_memory_data_provider.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `data_provider::DataProvider` [INFO] [stdout] --> src/polars/in_memory_data_provider.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::{data_provider::DataProvider, in_memory_data_provider::InMemoryDataProvider}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::OsStr`, `path::Path` [INFO] [stdout] --> src/polars/series.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ffi::OsStr, path::Path, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CsvReader`, `CsvWriter`, `DataFrame`, `ParquetReader`, `ParquetWriter`, `SerReader`, `SerWriter`, `TimeUnit` [INFO] [stdout] --> src/polars/series.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | CsvReader, CsvWriter, DataFrame, DataType, IsFloat, ParquetReader, ParquetWriter, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | SerReader, SerWriter, TimeUnit, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `trade_direction_from_f64` [INFO] [stdout] --> src/polars/series.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | strategy::trade::{trade_direction_from_f64, StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `row` [INFO] [stdout] --> src/strategy/metrics/cobra_metrics.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use prettytable::{color, row, Attr, Cell, Row, Table}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StrategyEvents`, `StrategyMetrics` [INFO] [stdout] --> src/strategy/metrics/equity_metrics.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | strategy::{Strategy, StrategyEvents, StrategyMetrics}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path`, `sync::Arc` [INFO] [stdout] --> src/strategy/metrics/tests/strategy_metrics_test.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | sync::Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TradeDirection` [INFO] [stdout] --> src/strategy/metrics/tests/strategy_metrics_test.rs:26:37 [INFO] [stdout] | [INFO] [stdout] 26 | trade::{StrategySignal, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental` [INFO] [stdout] --> src/strategy/optimization.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::{context::Context, data_provider::AnyDataProvider, incremental::Incremental}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradeDirection`, `strategy::Strategy` [INFO] [stdout] --> src/strategy/optimization.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | strategy::Strategy, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | trade::{SignalFixture, TradeDirection}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut`, `Ref`, `rc::Rc` [INFO] [stdout] --> src/strategy/strategy.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | cell::{Ref, RefCell, RefMut}, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] 3 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::src::ohlc4` [INFO] [stdout] --> src/strategy/strategy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | common::src::ohlc4, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/strategy/strategy_runner.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{any::Any, collections::HashMap, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `context::Context`, `self` [INFO] [stdout] --> src/strategy/strategy_runner.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | context::Context, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | data_provider::{self, AnyDataProvider}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TradingViewMetricsData`, `TradingViewMetrics`, `strategy::Strategy`, `trade::StrategySignal` [INFO] [stdout] --> src/strategy/strategy_runner.rs:13:36 [INFO] [stdout] | [INFO] [stdout] 13 | metrics::tradingview_metrics::{TradingViewMetrics, TradingViewMetricsData}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | strategy::Strategy, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | trade::StrategySignal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColoredString`, `Colorize` [INFO] [stdout] --> src/strategy/trade.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::{ColoredString, Colorize}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::export::ahash::HashMap` [INFO] [stdout] --> src/strategy/utils.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use polars::export::ahash::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `context::Context`, `incremental::Incremental` [INFO] [stdout] --> src/strategy/utils.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::core::{context::Context, incremental::Incremental}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::strategy::Strategy` [INFO] [stdout] --> src/strategy/utils.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use super::strategy::Strategy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fixture::Fixture` [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:22:44 [INFO] [stdout] | [INFO] [stdout] 22 | array_snapshot::ArraySnapshot, fixture::Fixture, pace::format_pace_fixture_path, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::prelude::IsFloat` [INFO] [stdout] --> src/ta/bars.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use polars::prelude::IsFloat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `IncrementalDefault`, `MaKind`, `Ma`, `SrcKind`, `Src`, `cross::Cross`, `cross_over_threshold::CrossOverThreshold`, `cross_under_threshold::CrossUnderThreshold`, `highest_bars::HighestBars`, `lowest_bars::LowestBars`, `statistics::stdev::Stdev`, `strategy::trade::TradeDirection` [INFO] [stdout] --> src/ta/commodity_channel_index.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | }, [INFO] [stdout] 7 | statistics::stdev::Stdev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ta::{ [INFO] [stdout] 10 | cross::Cross, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 11 | cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | cross_under_threshold::CrossUnderThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | dev::Dev, [INFO] [stdout] 14 | highest_bars::HighestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | lowest_bars::LowestBars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | moving_average::{Ma, MaKind}, [INFO] [stdout] | ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CrossMode`, `cross_under` [INFO] [stdout] --> src/ta/cross_over_threshold.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | use super::cross::{cross_over, cross_under, CrossMode}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over` [INFO] [stdout] --> src/ta/cross_under.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CrossMode`, `cross_over` [INFO] [stdout] --> src/ta/cross_under_threshold.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use super::cross::{cross_over, cross_under, CrossMode}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/rate_of_change.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/running_moving_average.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `pinescript::common::PineScriptFloat64`, `utils::float::Float64Utils` [INFO] [stdout] --> src/ta/simple_moving_average.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/stoch.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/sum.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/symmetrically_weighted_moving_average.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pinescript::common::PineScriptFloat64` [INFO] [stdout] --> src/ta/true_range.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | pinescript::common::PineScriptFloat64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/average_true_range_test.rs:7:39 [INFO] [stdout] | [INFO] [stdout] 7 | ta::{average_true_range::Atr, exponential_moving_average::Ema}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `dev::Dev`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/bars_since_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | average_true_range::Atr, bars_since::BarsSince, change::Change, dev::Dev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 10 | exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/change_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{average_true_range::Atr, change::Change, exponential_moving_average::Ema}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/commodity_channel_index_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | average_true_range::Atr, commodity_channel_index::Cci, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cross_over_threshold::CrossOverThreshold` [INFO] [stdout] --> src/ta/tests/cross_over_test.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | cross_over::CrossOver, cross_over_threshold::CrossOverThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/cross_test.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | average_true_range::Atr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | change::Change, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | cross::{Cross, CrossMode}, [INFO] [stdout] 11 | exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/cross_threshold_test.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | average_true_range::Atr, change::Change, cross::CrossMode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | cross_threshold::CrossThreshold, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/cross_under_test.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | average_true_range::Atr, change::Change, cross_under::CrossUnder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | exponential_moving_average::Ema, relative_strength_index::Rsi, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/cross_under_threshold_test.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | average_true_range::Atr, change::Change, cross_under_threshold::CrossUnderThreshold, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | exponential_moving_average::Ema, relative_strength_index::Rsi, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/dev_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{average_true_range::Atr, change::Change, dev::Dev, exponential_moving_average::Ema}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/exponential_moving_average_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/highest_bars_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/highest_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/lowest_bars_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/lowest_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/ta/tests/nan_test.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnySrc`, `Chained`, `DataFrameFixtureUtils`, `Fixture`, `SrcKind`, `Src`, `incremental::test_incremental`, `utils::float::Float64Utils` [INFO] [stdout] --> src/ta/tests/nan_test.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | common::src::{AnySrc, Src, SrcKind}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | incremental::{Chained, Incremental}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] 27 | incremental::test_incremental, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | utils::float::Float64Utils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/percent_rank_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{ [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/rate_of_change_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{ [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataFrameFixtureUtils`, `Fixture`, `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `simple_moving_average::Sma` [INFO] [stdout] --> src/ta/tests/relative_strength_index_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | relative_strength_index::Rsi, simple_moving_average::Sma, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fixture::{DataFrameFixtureUtils, Fixture}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Chained`, `SrcKind`, `Src`, `incremental::test_incremental`, `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/simple_moving_average_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | common::src::{Src, SrcKind}, [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] 7 | core::incremental::{Chained, Incremental}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 8 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | incremental::test_incremental, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/stdev_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | ta::{ [INFO] [stdout] 9 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, stdev::Stdev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/stoch_test.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, stoch::Stoch, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema`, `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/sum_test.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ta::{average_true_range::Atr, change::Change, exponential_moving_average::Ema, sum::Sum}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/symmetrically_weighted_moving_average_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `average_true_range::Atr`, `change::Change`, `exponential_moving_average::Ema` [INFO] [stdout] --> src/ta/tests/true_range_test.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | average_true_range::Atr, change::Change, exponential_moving_average::Ema, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::series::SeriesCastUtils` [INFO] [stdout] --> src/ta/tests/weighted_moving_average_test.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | polars::series::SeriesCastUtils, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ColoredString` [INFO] [stdout] --> src/testing/array_snapshot.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::{ColoredString, Colorize}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `sync::Arc` [INFO] [stdout] --> src/testing/fixture.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | sync::Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `strategy::trade::TradeDirection` [INFO] [stdout] --> src/testing/fixture.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | strategy::trade::TradeDirection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rc::Rc`, `sync::Arc` [INFO] [stdout] --> src/tests/integration/a_test.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::data_provider::DataProvider` [INFO] [stdout] --> src/tests/integration/a_test.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::data_provider::DataProvider; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `common::fixnan::FixNan`, `in_memory_data_provider::InMemoryDataProvider` [INFO] [stdout] --> src/tests/integration/a_test.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | common::fixnan::FixNan, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | core::{context::Context, in_memory_data_provider::InMemoryDataProvider}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/balance_of_power.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/chaikin_money_flow.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Incremental` [INFO] [stdout] --> src/strategy/strategy_runner.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | incremental::{Incremental, RunPeriod}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/choppiness_index.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/ultimate_oscillator.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/directional_movement_index.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/vortex.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataProvider` [INFO] [stdout] --> src/core/context.rs:13:45 [INFO] [stdout] | [INFO] [stdout] 13 | use super::data_provider::{AnyDataProvider, DataProvider}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/content/macd.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | let (value, signal) = self.inner.next(()); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/content/relative_vigor_index.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | fn default(ctx: Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_tick` [INFO] [stdout] --> src/content/vortex.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let current_tick = self.ctx.bar.index(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pinescript/pinescript_exporter.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mut offset: i32 = -1; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/strategy/metrics/cobra_metrics.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut cell = Cell::new(text) [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/equity_metrics.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f_raw` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let f_raw = |value: f64| format!("{:0.2}", value); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:82:36 [INFO] [stdout] | [INFO] [stdout] 82 | let f_price = with_suffix(&format!(" {}", currency)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] 83 | let f_percent = with_suffix("%"); [INFO] [stdout] 84 | let f = |price: f64, percent: f64| format!("{} {}", f_price(price), f_percent(percent)); [INFO] [stdout] | ------- borrow later captured here by closure [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] = note: this error originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:153:36 [INFO] [stdout] | [INFO] [stdout] 153 | let f_price = with_suffix(&format!(" {}", currency)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] 154 | let f_percent = with_suffix("%"); [INFO] [stdout] 155 | let f = |price: f64, percent: f64| format!("{}\n{}", f_price(price), f_percent(percent)); [INFO] [stdout] | ------- borrow later captured here by closure [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] = note: this error originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:336:21 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qty` [INFO] [stdout] --> src/strategy/strategy.rs:204:54 [INFO] [stdout] | [INFO] [stdout] 204 | if let StrategySignal::Sized(qty) = self.unfilled_signal { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_qty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 86 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0716`. [INFO] [stdout] [INFO] [stderr] error: could not compile `nersent_pace` (lib) due to 3 previous errors; 86 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/balance_of_power.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/chaikin_money_flow.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/choppiness_index.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/directional_movement_index.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/ultimate_oscillator.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IncrementalDefault` [INFO] [stdout] --> src/content/vortex.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | incremental::{Incremental, IncrementalDefault}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataProvider` [INFO] [stdout] --> src/core/context.rs:13:45 [INFO] [stdout] | [INFO] [stdout] 13 | use super::data_provider::{AnyDataProvider, DataProvider}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Incremental` [INFO] [stdout] --> src/strategy/strategy_runner.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | incremental::{Incremental, RunPeriod}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/content/macd.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | let (value, signal) = self.inner.next(()); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/content/relative_vigor_index.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | fn default(ctx: Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_tick` [INFO] [stdout] --> src/content/vortex.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let current_tick = self.ctx.bar.index(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/content/tests/macd_test.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | let (macd, signal) = target.next(()); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pinescript/pinescript_exporter.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mut offset: i32 = -1; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/strategy/metrics/cobra_metrics.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut cell = Cell::new(text) [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/equity_metrics.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f_raw` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let f_raw = |value: f64| format!("{:0.2}", value); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_raw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:82:36 [INFO] [stdout] | [INFO] [stdout] 82 | let f_price = with_suffix(&format!(" {}", currency)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] 83 | let f_percent = with_suffix("%"); [INFO] [stdout] 84 | let f = |price: f64, percent: f64| format!("{} {}", f_price(price), f_percent(percent)); [INFO] [stdout] | ------- borrow later captured here by closure [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] = note: this error originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:153:36 [INFO] [stdout] | [INFO] [stdout] 153 | let f_price = with_suffix(&format!(" {}", currency)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] 154 | let f_percent = with_suffix("%"); [INFO] [stdout] 155 | let f = |price: f64, percent: f64| format!("{}\n{}", f_price(price), f_percent(percent)); [INFO] [stdout] | ------- borrow later captured here by closure [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] = note: this error originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/strategy/metrics/tradingview_metrics.rs:336:21 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(e) = &strategy.events.on_trade_exit { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qty` [INFO] [stdout] --> src/strategy/strategy.rs:204:54 [INFO] [stdout] | [INFO] [stdout] 204 | if let StrategySignal::Sized(qty) = self.unfilled_signal { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_qty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 142 | let output = target.next(signal); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_capital` [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:10938:17 [INFO] [stdout] | [INFO] [stdout] 10938 | let initial_capital = self.strategy.config.initial_capital; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_capital` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/tests/integration/a_test.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let mut sum = 0.0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `speedin` [INFO] [stdout] --> src/tests/integration/a_test.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | fn _test(ctx: Context, mut src: AnySrc, per: usize, speedin: usize, expected: &[f64]) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_speedin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests/integration/a_test.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | let mut sum = 0.0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 158 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0716`. [INFO] [stdout] [INFO] [stderr] error: could not compile `nersent_pace` (lib test) due to 3 previous errors; 158 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a17d91aad6e887e7fc1f447f8de19d351247cfcec8597d53f41a3ee1f718c99c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a17d91aad6e887e7fc1f447f8de19d351247cfcec8597d53f41a3ee1f718c99c", kill_on_drop: false }` [INFO] [stdout] a17d91aad6e887e7fc1f447f8de19d351247cfcec8597d53f41a3ee1f718c99c