pub struct Chart { /* private fields */ }
Expand description
Aggregation of instrument id, timeframe and bars.
§ru
График - хранит идентификатора инструмента, таймфрейм и бары.
Implementations§
Source§impl Chart
impl Chart
Sourcepub fn new(iid: &Iid, tf: &TimeFrame, bars: Vec<Bar>) -> Chart
pub fn new(iid: &Iid, tf: &TimeFrame, bars: Vec<Bar>) -> Chart
Create new chart.
§ru
Конструктор.
§Examples
use avin_core::{Manager, TimeFrame, Bar, Chart};
let iid = Manager::find_iid("moex_share_sber").unwrap();
let tf = TimeFrame::Day;
let b1 = Bar::new(123456789, 320.5, 321.2, 320.1, 320.8, 10, None);
let b2 = Bar::new(123456789, 320.5, 321.2, 320.1, 320.8, 10, None);
let bars = vec![b1, b2];
let chart = Chart::new(&iid, &tf, bars);
assert_eq!(chart.ticker(), "SBER");
Sourcepub fn load(
iid: &Iid,
tf: &TimeFrame,
begin: &DateTime<Utc>,
end: &DateTime<Utc>,
) -> Result<Chart, AvinError>
pub fn load( iid: &Iid, tf: &TimeFrame, begin: &DateTime<Utc>, end: &DateTime<Utc>, ) -> Result<Chart, AvinError>
Loading chart with bars from half-open interval [begin, end)
market data must be available in [CFG.dir.data()
].
§ru
Загружает график с барами в полуоткрытом в интервале [begin, end). Данные должны быть доступны в папке указанной в конфиге пользователя. Рыночные данные можно загрузить воспользовавшись модулем avin_data написанном на python, доступен в том же репозитарии, и на PyPl: “pip install avin_data”. Так же есть консольная утилита avin-data см. репозитарий проекта.
Sourcepub fn bar(&self, ts: i64) -> Option<&Bar>
pub fn bar(&self, ts: i64) -> Option<&Bar>
Return bar of time == ts_nanos.
§ru
Возвращает ссылку на бар с заданным timestamp или None, если такой отсутствует.
Sourcepub fn first(&self) -> Option<&Bar>
pub fn first(&self) -> Option<&Bar>
Return fist historical bar of chart.
§ru
Возвращает ссылку на первый исторический бар или None, если график не содержит баров.
Sourcepub fn last(&self) -> Option<&Bar>
pub fn last(&self) -> Option<&Bar>
Return last historical bar of chart
§ru
Возвращает ссылку на последний исторический бар или None, если график не содержит баров.
Sourcepub fn now(&self) -> Option<&Bar>
pub fn now(&self) -> Option<&Bar>
Return real-time bar of chart
§ru
Возвращает ссылку на текущий real-time бар или None, если график не содержит баров.
Sourcepub fn last_price(&self) -> Option<f64>
pub fn last_price(&self) -> Option<f64>
Return last price
§ru
Возвращает цену последней сделки реал-тайм бара, если он есть, или последнего исторического бара. Если график не содержит баров, возвращает None.
Sourcepub fn select(&self, from: i64, till: i64) -> &[Bar]
pub fn select(&self, from: i64, till: i64) -> &[Bar]
Select bars in closed range [from, till].
§ru
Возвращает срез баров в закрытом интервале заданном начальным и конечным timestamp [from, till].
Sourcepub fn add_bar(&mut self, new_bar: Bar)
pub fn add_bar(&mut self, new_bar: Bar)
Add new bar Depending on datetime of ‘new_bar’ this function do:
- only update real-time bar
- add new historical bar and update real-time
§ru
Добавляет в график новый бар. В зависимости от даты и времени добавляемого бара функция:
- обновит текущий реал-тайм бар новым баром;
- сделает текущий реал-тайм бар историческим, а новый поставит текущим;
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Chart
impl RefUnwindSafe for Chart
impl Send for Chart
impl Sync for Chart
impl Unpin for Chart
impl UnwindSafe for Chart
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more