Giter VIP home page Giter VIP logo

rust_ta-lib's Introduction

TA-Lib - Technical Analysis Library

  • The official home for C/C++ TA-Lib is https://ta-lib.org.

  • it is a skelton to build ffi for rust

refs

!important

  • if you found some func that you want to use is not implement just submit an issue or implement it like src/wrapper.rs then submit a PR , just feed free for it

sample

let close_prices: Vec<f64> = vec![
    1.087010, 1.087120, 1.087080, 1.087170, 1.087110, 1.087010, 1.087100, 1.087120, 1.087110,
    1.087080, 1.087000, 1.086630, 1.086630, 1.086610, 1.086630, 1.086640, 1.086650, 1.086650,
    1.086670, 1.086630,
];
let (sma_values, begin) = rust_ta_lib::wrapper::sma(10, &close_prices);
    // print values
for (index, value) in sma_values.iter().enumerate() {
    println!("Close index {} = {}", begin + index as i32 + 1, value);
}

rust_ta-lib's People

Contributors

ana-jiangr avatar zhangjiayin avatar

Stargazers

 avatar Pramukesh avatar Yuan Huang avatar  avatar Bing Zhu avatar  avatar  avatar

Watchers

Ji Tao avatar  avatar

rust_ta-lib's Issues

Failure to compile on Windows OS (Link error with unresolved external symbol)

Thanks for providing this rust wrapper, good job!

However, I failed to build it, the error message is as below. What other information should I provide to help with debugging the issue? Thank you. By the way, under WSL2 linux, everything works fine.

PS C:\Users\bz\Downloads\rust\talibt> cargo build
Compiling windows_x86_64_msvc v0.52.0
Compiling windows_x86_64_msvc v0.48.5
Compiling proc-macro2 v1.0.70
Compiling unicode-ident v1.0.12
Compiling winapi v0.3.9
Compiling glob v0.3.1
Compiling rustix v0.38.25
Compiling prettyplease v0.2.15
Compiling cfg-if v1.0.0
Compiling libc v0.2.150
Compiling clang-sys v1.6.1
Compiling getrandom v0.2.11
Compiling memchr v2.6.4
Compiling windows-targets v0.48.5
Compiling windows-targets v0.52.0
Compiling bitflags v2.4.1
Compiling regex-syntax v0.8.2
Compiling minimal-lexical v0.2.1
Compiling windows-sys v0.52.0
Compiling windows-sys v0.48.0
Compiling quote v1.0.33
Compiling nom v7.1.3
Compiling syn v2.0.39
Compiling rand_core v0.6.4
Compiling once_cell v1.18.0
Compiling errno v0.3.8
Compiling libloading v0.7.4
Compiling ppv-lite86 v0.2.17
Compiling either v1.9.0
Compiling bindgen v0.68.1
Compiling shlex v1.2.0
Compiling rand_chacha v0.3.1
Compiling lazycell v1.3.0
Compiling lazy_static v1.4.0
Compiling log v0.4.20
Compiling rustc-hash v1.1.0
Compiling home v0.5.5
Compiling regex-automata v0.4.3
Compiling cexpr v0.6.0
Compiling which v4.4.2
Compiling cc v1.0.83
Compiling peeking_take_while v0.1.2
Compiling rand v0.8.5
Compiling cmake v0.1.50
Compiling regex v1.10.2
Compiling concat-idents v1.1.5
Compiling rust_ta-lib v0.6.0-rc.1.build.3
Compiling talibt v0.1.0 (C:\Users\bz\Downloads\rust\talibt)
error: linking with link.exe failed: exit code: 1120
|
= note: "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.38.33130\bin\HostX64\x64\link.exe" "/NOLOGO" "C:\Users\bz\AppData\Local\Temp\rustcKBwfNP\symbols.o" "C:\Users\bz\rustargets\debug\deps\talibt.19sm2vnmrjpzy5ha.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.1fywanqjq34ah4lx.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.1gpkcpwn83ahny6g.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.213ww9oqudd0ynah.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.2ga224uw3ayc68k8.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.2hjx89ye01exlubb.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.2ig5nflmog72mzgq.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.2vslbf6faavdgk55.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.2yvhq62ih1h7aj0l.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.40qwl25eglcgrqkh.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.44p90fgzpqydvcq.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.4mklce4h3l5t71z7.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.4yc57cphur7x5n5j.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.57mqub0yynsvcxj4.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.d443lc0j858wgw4.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.dwyntjpvexdv65e.rcgu.o" "C:\Users\bz\rustargets\debug\deps\talibt.1f7buuevog6c99rt.rcgu.o" "/LIBPATH:C:\Users\bz\rustargets\debug\deps" "/LIBPATH:C:\Users\bz\rustargets\debug\build\rust_ta-lib-d90da092a72cfb69\out\lib" "/LIBPATH:C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\bz\rustargets\debug\deps\librust_ta_lib-4dbbd649727c00a9.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-a3b71310dd1e1ddf.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-52656861022758db.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-fdf9fb6cf4e81109.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd_detect-01736900cab0f7f9.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-fab259a51b0964e5.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-0f32565f081356f1.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-422e0d18d4b60218.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-6ff672e2205e01ba.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-ffd825071a1e1551.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-fa89d85bc9ed894d.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f117a9417935b51d.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-b86a9ba077d96bbb.rlib" "C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-6856e76ba99f7e60.rlib" "kernel32.lib" "advapi32.lib" "bcrypt.lib" "kernel32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "kernel32.lib" "ws2_32.lib" "kernel32.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "/OUT:C:\Users\bz\rustargets\debug\deps\talibt.exe" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/NATVIS:C:\Users\bz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\etc\libstd.natvis"

= note: librust_ta_lib-4dbbd649727c00a9.rlib(rust_ta_lib-4dbbd649727c00a9.rust_ta_lib.5088576deba7bbb3-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol TA_Initialize referenced in function _ZN11rust_ta_lib7wrapper8accbands17h8a94fcaa15f68fe9E
librust_ta_lib-4dbbd649727c00a9.rlib(rust_ta_lib-4dbbd649727c00a9.rust_ta_lib.5088576deba7bbb3-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol TA_Shutdown referenced in function _ZN11rust_ta_lib7wrapper8accbands17h8a94fcaa15f68fe9E
C:\Users\bz\rustargets\debug\deps\talibt.exe : fatal error LNK1120: 2 unresolved externals

error: could not compile talibt (bin "talibt") due to previous error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.