Expand description
TradingView study and fundamental data retrieval.
Provides a clean, high-level API modeled after crate::historical::HistoricalClient for fetching
TradingView indicator studies (both built-in and Pine Script studies) over WebSocket.
§Architecture
StudyClient::retrieve(request)
├── StudyRequest (symbol/exchange, study config, interval, bar count, timeout)
├── StudyState (accumulates points keyed by study ID, tracks completion)
├── StudyDataHandler (inspects timescale_update / du for study points)
└── returns StudyResult (symbol info, sorted/deduplicated points, elapsed duration)§Example
use tradingview::Interval;
use tradingview::chart::study::StudyConfiguration;
use tradingview::study::{StudyClient, StudyRequest};
use tradingview::models::pine_indicator::{PineIndicator, ScriptType};
use tradingview::DataServer;
let client = StudyClient::new("unauthorized_user_token", DataServer::Data);
let indicator = PineIndicator::build()
.fetch("STD;Fund_total_revenue_fy", "69.0", ScriptType::IntervalScript)
.await?;
let request = StudyRequest::builder()
.symbol("AAPL")
.exchange("NASDAQ")
.interval(Interval::OneDay)
.base_bar_count(100)
.study(StudyConfiguration::Pine(Box::new(indicator)))
.build();
let result = client.retrieve(request).await?;
println!("received {} study points for {}", result.len(), result.symbol_info.name);Re-exports§
pub use crate::chart::study::StudyConfiguration;
Structs§
- Study
Client - High-level client for fetching TradingView study and fundamental data.
- Study
Request - Immutable request object for a study or fundamental data fetch.
- Study
Result - The final result of a study data retrieval.