[INFO] fetching crate nersent_pace 0.6.22... [INFO] checking nersent_pace-0.6.22 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate nersent_pace 0.6.22 into /workspace/builds/worker-1-tc1/source [INFO] validating manifest of crates.io crate nersent_pace 0.6.22 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "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-1-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 281 packages to latest compatible versions [INFO] [stderr] Adding arrow2 v0.16.0 (latest: v0.18.0) [INFO] [stderr] Adding base64 v0.13.1 (latest: v0.22.1) [INFO] [stderr] Adding bitflags v1.3.2 (latest: v2.6.0) [INFO] [stderr] Adding brotli v3.5.0 (latest: v6.0.0) [INFO] [stderr] Adding brotli-decompressor v2.5.1 (latest: v4.0.1) [INFO] [stderr] Adding comfy-table v6.2.0 (latest: v7.1.1) [INFO] [stderr] Adding core-foundation v0.9.4 (latest: v0.10.0) [INFO] [stderr] Adding core-graphics v0.23.2 (latest: v0.24.0) [INFO] [stderr] Adding core-graphics-types v0.1.3 (latest: v0.2.0) [INFO] [stderr] Adding core-text v20.1.0 (latest: v21.0.0) [INFO] [stderr] Adding crossterm v0.26.1 (latest: v0.28.1) [INFO] [stderr] Adding dirs v4.0.0 (latest: v5.0.1) [INFO] [stderr] Adding dirs-sys v0.3.7 (latest: v0.4.1) [INFO] [stderr] Adding encode_unicode v0.3.6 (latest: v1.0.0) [INFO] [stderr] Adding font-kit v0.13.2 (latest: v0.14.2) [INFO] [stderr] Adding freetype-sys v0.20.1 (latest: v0.22.1) [INFO] [stderr] Adding gif v0.12.0 (latest: v0.13.1) [INFO] [stderr] Adding hashbrown v0.12.3 (latest: v0.14.5) [INFO] [stderr] Adding hashbrown v0.13.2 (latest: v0.14.5) [INFO] [stderr] Adding heck v0.4.1 (latest: v0.5.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (latest: v0.4.0) [INFO] [stderr] Adding image v0.24.9 (latest: v0.25.2) [INFO] [stderr] Adding indexmap v1.9.3 (latest: v2.5.0) [INFO] [stderr] Adding io-lifetimes v1.0.11 (latest: v2.0.3) [INFO] [stderr] Adding itertools v0.10.5 (latest: v0.13.0) [INFO] [stderr] Adding kdam v0.3.0 (latest: v0.5.2) [INFO] [stderr] Adding linux-raw-sys v0.3.8 (latest: v0.6.5) [INFO] [stderr] Adding memmap2 v0.5.10 (latest: v0.9.4) [INFO] [stderr] Adding miniz_oxide v0.7.4 (latest: v0.8.0) [INFO] [stderr] Adding mio v0.8.11 (latest: v1.0.2) [INFO] [stderr] Adding multiversion v0.6.1 (latest: v0.7.4) [INFO] [stderr] Adding multiversion-macros v0.6.1 (latest: v0.7.4) [INFO] [stderr] Adding ndarray v0.15.6 (latest: v0.16.1) [INFO] [stderr] Adding num-derive v0.3.3 (latest: v0.4.2) [INFO] [stderr] Adding parking_lot v0.11.2 (latest: v0.12.3) [INFO] [stderr] Adding parking_lot_core v0.8.6 (latest: v0.9.10) [INFO] [stderr] Adding planus v0.3.1 (latest: v0.4.0) [INFO] [stderr] Adding polars v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-arrow v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-core v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-io v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-lazy v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-ops v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-pipe v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-plan v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-time v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding polars-utils v0.27.2 (latest: v0.42.0) [INFO] [stderr] Adding redox_syscall v0.2.16 (latest: v0.5.3) [INFO] [stderr] Adding rustix v0.37.27 (latest: v0.38.35) [INFO] [stderr] Adding strum v0.24.1 (latest: v0.26.3) [INFO] [stderr] Adding strum_macros v0.24.3 (latest: v0.26.4) [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.77) [INFO] [stderr] Adding sysinfo v0.27.8 (latest: v0.31.4) [INFO] [stderr] Adding term v0.7.0 (latest: v1.0.0) [INFO] [stderr] Adding terminal_size v0.2.6 (latest: v0.3.0) [INFO] [stderr] Adding ttf-parser v0.20.0 (latest: v0.24.1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-core v0.52.0 (latest: v0.58.0) [INFO] [stderr] Adding windows-sys v0.48.0 (latest: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (latest: v0.59.0) [INFO] [stderr] Adding windows-targets v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.6) [INFO] [stderr] Adding yeslogic-fontconfig-sys v5.0.0 (latest: v6.0.0) [INFO] [stderr] Adding zstd v0.11.2+zstd.1.5.2 (latest: v0.13.2) [INFO] [stderr] Adding zstd v0.12.4 (latest: v0.13.2) [INFO] [stderr] Adding zstd-safe v5.0.2+zstd.1.5.2 (latest: v7.2.1) [INFO] [stderr] Adding zstd-safe v6.0.6 (latest: v7.2.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded polars-utils v0.27.2 [INFO] [stderr] Downloaded drawille v0.3.0 [INFO] [stderr] Downloaded float-ord v0.3.2 [INFO] [stderr] Downloaded cstr v0.2.12 [INFO] [stderr] Downloaded polars-ops v0.27.2 [INFO] [stderr] Downloaded terminal_size v0.2.6 [INFO] [stderr] Downloaded kdam v0.3.0 [INFO] [stderr] Downloaded polars-pipe v0.27.2 [INFO] [stderr] Downloaded font-kit v0.13.2 [INFO] [stderr] Downloaded polars-io v0.27.2 [INFO] [stderr] Downloaded textplots v0.8.6 [INFO] [stderr] Downloaded polars-lazy v0.27.2 [INFO] [stderr] Downloaded polars-plan v0.27.2 [INFO] [stderr] Downloaded crossterm v0.26.1 [INFO] [stderr] Downloaded comfy-table v6.2.0 [INFO] [stderr] Downloaded zstd v0.12.4 [INFO] [stderr] Downloaded pathfinder_simd v0.5.4 [INFO] [stderr] Downloaded polars-core v0.27.2 [INFO] [stderr] Downloaded lexical v6.1.1 [INFO] [stderr] Downloaded arrow-format v0.8.1 [INFO] [stderr] Downloaded hash_hasher v2.0.3 [INFO] [stderr] Downloaded multiversion v0.6.1 [INFO] [stderr] Downloaded polars-arrow v0.27.2 [INFO] [stderr] Downloaded polars v0.27.2 [INFO] [stderr] Downloaded yeslogic-fontconfig-sys v5.0.0 [INFO] [stderr] Downloaded pathfinder_geometry v0.5.1 [INFO] [stderr] Downloaded plotters-bitmap v0.3.6 [INFO] [stderr] Downloaded multiversion-macros v0.6.1 [INFO] [stderr] Downloaded zstd-safe v6.0.6 [INFO] [stderr] Downloaded parquet2 v0.17.2 [INFO] [stderr] Downloaded polars-time v0.27.2 [INFO] [stderr] Downloaded arrow2 v0.16.0 [INFO] [stderr] Downloaded freetype-sys v0.20.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a40bc6892d62f3255ff5edbdeff47e096ba45ec94c62644ca42bd83e76c117e8 [INFO] running `Command { std: "docker" "start" "-a" "a40bc6892d62f3255ff5edbdeff47e096ba45ec94c62644ca42bd83e76c117e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a40bc6892d62f3255ff5edbdeff47e096ba45ec94c62644ca42bd83e76c117e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a40bc6892d62f3255ff5edbdeff47e096ba45ec94c62644ca42bd83e76c117e8", kill_on_drop: false }` [INFO] [stdout] a40bc6892d62f3255ff5edbdeff47e096ba45ec94c62644ca42bd83e76c117e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6a795db416bc5091afa76d23d5ec81f337b6ed6602161aaf90a1ade5f362482a [INFO] running `Command { std: "docker" "start" "-a" "6a795db416bc5091afa76d23d5ec81f337b6ed6602161aaf90a1ade5f362482a", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking lexical-util v0.8.5 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling bytemuck_derive v1.7.1 [INFO] [stderr] Compiling snap v1.1.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Checking array-init-cursor v0.2.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling cc v1.1.15 [INFO] [stderr] Checking brotli-decompressor v2.5.1 [INFO] [stderr] Checking planus v0.3.1 [INFO] [stderr] Checking streaming-decompression v0.1.2 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking lexical-write-integer v0.8.5 [INFO] [stderr] Checking lexical-parse-integer v0.8.6 [INFO] [stderr] Compiling arrow2 v0.16.0 [INFO] [stderr] Compiling seq-macro v0.3.5 [INFO] [stderr] Checking lexical-write-float v0.8.5 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Checking arrow-format v0.8.1 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling smartstring v1.0.1 [INFO] [stderr] Checking lexical-parse-float v0.8.5 [INFO] [stderr] Checking dyn-clone v1.0.17 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking foreign_vec v0.1.0 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Checking hash_hasher v2.0.3 [INFO] [stderr] Checking ethnum v1.5.0 [INFO] [stderr] Checking streaming-iterator v0.1.9 [INFO] [stderr] Checking simdutf8 v0.1.4 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking brotli v3.5.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking sysinfo v0.27.8 [INFO] [stderr] Checking bytemuck v1.17.1 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking xxhash-rust v0.8.12 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking lexical-core v0.8.5 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Compiling lz4-sys v1.10.0 [INFO] [stderr] Compiling freetype-sys v0.20.1 [INFO] [stderr] Compiling pathfinder_simd v0.5.4 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking lexical v6.1.1 [INFO] [stderr] Compiling yeslogic-fontconfig-sys v5.0.0 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Compiling rustix v0.37.27 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling libmimalloc-sys v0.1.39 [INFO] [stderr] Compiling enum_dispatch v0.3.13 [INFO] [stderr] Compiling cstr v0.2.12 [INFO] [stderr] Checking now v0.1.3 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Compiling font-kit v0.13.2 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking parquet-format-safe v0.2.4 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking polars-utils v0.27.2 [INFO] [stderr] Checking pathfinder_geometry v0.5.1 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Compiling polars v0.27.2 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking float-ord v0.3.2 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Checking drawille v0.3.0 [INFO] [stderr] Checking term v0.7.0 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking rgb v0.8.50 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking ttf-parser v0.20.0 [INFO] [stderr] Checking encode_unicode v1.0.0 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Checking textplots v0.8.6 [INFO] [stderr] Checking prettytable-rs v0.10.0 [INFO] [stderr] Checking similar-asserts v1.5.0 [INFO] [stderr] Checking terminal_size v0.2.6 [INFO] [stderr] Checking mimalloc v0.1.43 [INFO] [stderr] Checking kdam v0.3.0 [INFO] [stderr] Compiling multiversion-macros v0.6.1 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking plotters-bitmap v0.3.6 [INFO] [stderr] Checking multiversion v0.6.1 [INFO] [stderr] Checking comfy-table v6.2.0 [INFO] [stderr] Checking zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Checking zstd v0.12.4 [INFO] [stderr] Checking plotters v0.3.6 [INFO] [stderr] Checking lz4 v1.26.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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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`, and `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` and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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` and `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` and `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` and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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` and `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`, and `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`, and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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` and `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`, and `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` and `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`, and `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` and `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` and `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`, and `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` and `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` and `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` and `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` and `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`, and `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`, and `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` and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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`, and `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` and `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` and `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` and `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: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/utils/time.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | return NaiveDateTime::from_timestamp_millis(time).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stdout] --> src/utils/time.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | return dt.timestamp(); [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] 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: fields `up_trend_confirmation` and `down_trend_confirmation` are never read [INFO] [stdout] --> src/content/aroon.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct AroonStrategy { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 81 | up_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | down_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 89 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/utils/time.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | return NaiveDateTime::from_timestamp_millis(time).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stdout] --> src/utils/time.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | return dt.timestamp(); [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: `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] 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] warning: fields `up_trend_confirmation` and `down_trend_confirmation` are never read [INFO] [stdout] --> src/content/aroon.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct AroonStrategy { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 81 | up_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | down_trend_confirmation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `max_run_up_percent` is never read [INFO] [stdout] --> src/strategy/metrics/tests/strategy_metrics_test.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 76 | struct TestUtilityMetrics { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 85 | pub max_run_up_percent: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestUtilityMetrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_path` is never used [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | fn format_path(path: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestExecutionTarget` is never constructed [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:10892:12 [INFO] [stdout] | [INFO] [stdout] 10892 | struct TestExecutionTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `next` are never used [INFO] [stdout] --> src/strategy/tests/strategy_test.rs:10902:16 [INFO] [stdout] | [INFO] [stdout] 10901 | impl TestExecutionTarget { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 10902 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10921 | pub fn next(&mut self) -> TestExecutionPayload { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_path` is never used [INFO] [stdout] --> src/ta/tests/relative_strength_index_test.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | fn format_path(path: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 166 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.86s [INFO] running `Command { std: "docker" "inspect" "6a795db416bc5091afa76d23d5ec81f337b6ed6602161aaf90a1ade5f362482a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a795db416bc5091afa76d23d5ec81f337b6ed6602161aaf90a1ade5f362482a", kill_on_drop: false }` [INFO] [stdout] 6a795db416bc5091afa76d23d5ec81f337b6ed6602161aaf90a1ade5f362482a