mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 23:29:58 -07:00
global: snapshot
This commit is contained in:
@@ -9,153 +9,153 @@ use super::time;
|
||||
|
||||
#[derive(Traversable)]
|
||||
pub struct Vecs<M: StorageMode = Rw> {
|
||||
pub height_1h_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_24h_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1d
|
||||
pub height_3d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_1w_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 7d
|
||||
pub height_8d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_9d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_12d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_13d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_2w_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 14d
|
||||
pub height_21d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_26d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_1m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 30d
|
||||
pub height_34d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_55d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_2m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 60d
|
||||
pub height_9w_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 63d
|
||||
pub height_12w_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 84d
|
||||
pub height_89d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_3m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 90d
|
||||
pub height_14w_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 98d
|
||||
pub height_111d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_144d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_6m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 180d
|
||||
pub height_26w_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 182d
|
||||
pub height_200d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_9m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 270d
|
||||
pub height_350d_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub height_12m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 360d
|
||||
pub height_1y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 365d
|
||||
pub height_14m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 420d
|
||||
pub height_2y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 730d
|
||||
pub height_26m_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 780d
|
||||
pub height_3y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1095d
|
||||
pub height_200w_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1400d
|
||||
pub height_4y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1460d
|
||||
pub height_5y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1825d
|
||||
pub height_6y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 2190d
|
||||
pub height_8y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 2920d
|
||||
pub height_9y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 3285d
|
||||
pub height_10y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 3650d
|
||||
pub height_12y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 4380d
|
||||
pub height_14y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 5110d
|
||||
pub height_26y_ago: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 9490d
|
||||
pub _1h: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _24h: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1d
|
||||
pub _3d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _1w: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 7d
|
||||
pub _8d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _9d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _12d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _13d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _2w: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 14d
|
||||
pub _21d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _26d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _1m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 30d
|
||||
pub _34d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _55d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _2m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 60d
|
||||
pub _9w: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 63d
|
||||
pub _12w: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 84d
|
||||
pub _89d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _3m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 90d
|
||||
pub _14w: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 98d
|
||||
pub _111d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _144d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _6m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 180d
|
||||
pub _26w: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 182d
|
||||
pub _200d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _9m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 270d
|
||||
pub _350d: M::Stored<EagerVec<PcoVec<Height, Height>>>,
|
||||
pub _12m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 360d
|
||||
pub _1y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 365d
|
||||
pub _14m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 420d
|
||||
pub _2y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 730d
|
||||
pub _26m: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 780d
|
||||
pub _3y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1095d
|
||||
pub _200w: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1400d
|
||||
pub _4y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1460d
|
||||
pub _5y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 1825d
|
||||
pub _6y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 2190d
|
||||
pub _8y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 2920d
|
||||
pub _9y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 3285d
|
||||
pub _10y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 3650d
|
||||
pub _12y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 4380d
|
||||
pub _14y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 5110d
|
||||
pub _26y: M::Stored<EagerVec<PcoVec<Height, Height>>>, // 9490d
|
||||
}
|
||||
|
||||
impl Vecs {
|
||||
pub(crate) fn forced_import(db: &Database, version: Version) -> Result<Self> {
|
||||
Ok(Self {
|
||||
height_1h_ago: ImportableVec::forced_import(db, "height_1h_ago", version)?,
|
||||
height_24h_ago: ImportableVec::forced_import(db, "height_24h_ago", version)?,
|
||||
height_3d_ago: ImportableVec::forced_import(db, "height_3d_ago", version)?,
|
||||
height_1w_ago: ImportableVec::forced_import(db, "height_1w_ago", version)?,
|
||||
height_8d_ago: ImportableVec::forced_import(db, "height_8d_ago", version)?,
|
||||
height_9d_ago: ImportableVec::forced_import(db, "height_9d_ago", version)?,
|
||||
height_12d_ago: ImportableVec::forced_import(db, "height_12d_ago", version)?,
|
||||
height_13d_ago: ImportableVec::forced_import(db, "height_13d_ago", version)?,
|
||||
height_2w_ago: ImportableVec::forced_import(db, "height_2w_ago", version)?,
|
||||
height_21d_ago: ImportableVec::forced_import(db, "height_21d_ago", version)?,
|
||||
height_26d_ago: ImportableVec::forced_import(db, "height_26d_ago", version)?,
|
||||
height_1m_ago: ImportableVec::forced_import(db, "height_1m_ago", version)?,
|
||||
height_34d_ago: ImportableVec::forced_import(db, "height_34d_ago", version)?,
|
||||
height_55d_ago: ImportableVec::forced_import(db, "height_55d_ago", version)?,
|
||||
height_2m_ago: ImportableVec::forced_import(db, "height_2m_ago", version)?,
|
||||
height_9w_ago: ImportableVec::forced_import(db, "height_9w_ago", version)?,
|
||||
height_12w_ago: ImportableVec::forced_import(db, "height_12w_ago", version)?,
|
||||
height_89d_ago: ImportableVec::forced_import(db, "height_89d_ago", version)?,
|
||||
height_3m_ago: ImportableVec::forced_import(db, "height_3m_ago", version)?,
|
||||
height_14w_ago: ImportableVec::forced_import(db, "height_14w_ago", version)?,
|
||||
height_111d_ago: ImportableVec::forced_import(db, "height_111d_ago", version)?,
|
||||
height_144d_ago: ImportableVec::forced_import(db, "height_144d_ago", version)?,
|
||||
height_6m_ago: ImportableVec::forced_import(db, "height_6m_ago", version)?,
|
||||
height_26w_ago: ImportableVec::forced_import(db, "height_26w_ago", version)?,
|
||||
height_200d_ago: ImportableVec::forced_import(db, "height_200d_ago", version)?,
|
||||
height_9m_ago: ImportableVec::forced_import(db, "height_9m_ago", version)?,
|
||||
height_350d_ago: ImportableVec::forced_import(db, "height_350d_ago", version)?,
|
||||
height_12m_ago: ImportableVec::forced_import(db, "height_12m_ago", version)?,
|
||||
height_1y_ago: ImportableVec::forced_import(db, "height_1y_ago", version)?,
|
||||
height_14m_ago: ImportableVec::forced_import(db, "height_14m_ago", version)?,
|
||||
height_2y_ago: ImportableVec::forced_import(db, "height_2y_ago", version)?,
|
||||
height_26m_ago: ImportableVec::forced_import(db, "height_26m_ago", version)?,
|
||||
height_3y_ago: ImportableVec::forced_import(db, "height_3y_ago", version)?,
|
||||
height_200w_ago: ImportableVec::forced_import(db, "height_200w_ago", version)?,
|
||||
height_4y_ago: ImportableVec::forced_import(db, "height_4y_ago", version)?,
|
||||
height_5y_ago: ImportableVec::forced_import(db, "height_5y_ago", version)?,
|
||||
height_6y_ago: ImportableVec::forced_import(db, "height_6y_ago", version)?,
|
||||
height_8y_ago: ImportableVec::forced_import(db, "height_8y_ago", version)?,
|
||||
height_9y_ago: ImportableVec::forced_import(db, "height_9y_ago", version)?,
|
||||
height_10y_ago: ImportableVec::forced_import(db, "height_10y_ago", version)?,
|
||||
height_12y_ago: ImportableVec::forced_import(db, "height_12y_ago", version)?,
|
||||
height_14y_ago: ImportableVec::forced_import(db, "height_14y_ago", version)?,
|
||||
height_26y_ago: ImportableVec::forced_import(db, "height_26y_ago", version)?,
|
||||
_1h: ImportableVec::forced_import(db, "height_1h_ago", version)?,
|
||||
_24h: ImportableVec::forced_import(db, "height_24h_ago", version)?,
|
||||
_3d: ImportableVec::forced_import(db, "height_3d_ago", version)?,
|
||||
_1w: ImportableVec::forced_import(db, "height_1w_ago", version)?,
|
||||
_8d: ImportableVec::forced_import(db, "height_8d_ago", version)?,
|
||||
_9d: ImportableVec::forced_import(db, "height_9d_ago", version)?,
|
||||
_12d: ImportableVec::forced_import(db, "height_12d_ago", version)?,
|
||||
_13d: ImportableVec::forced_import(db, "height_13d_ago", version)?,
|
||||
_2w: ImportableVec::forced_import(db, "height_2w_ago", version)?,
|
||||
_21d: ImportableVec::forced_import(db, "height_21d_ago", version)?,
|
||||
_26d: ImportableVec::forced_import(db, "height_26d_ago", version)?,
|
||||
_1m: ImportableVec::forced_import(db, "height_1m_ago", version)?,
|
||||
_34d: ImportableVec::forced_import(db, "height_34d_ago", version)?,
|
||||
_55d: ImportableVec::forced_import(db, "height_55d_ago", version)?,
|
||||
_2m: ImportableVec::forced_import(db, "height_2m_ago", version)?,
|
||||
_9w: ImportableVec::forced_import(db, "height_9w_ago", version)?,
|
||||
_12w: ImportableVec::forced_import(db, "height_12w_ago", version)?,
|
||||
_89d: ImportableVec::forced_import(db, "height_89d_ago", version)?,
|
||||
_3m: ImportableVec::forced_import(db, "height_3m_ago", version)?,
|
||||
_14w: ImportableVec::forced_import(db, "height_14w_ago", version)?,
|
||||
_111d: ImportableVec::forced_import(db, "height_111d_ago", version)?,
|
||||
_144d: ImportableVec::forced_import(db, "height_144d_ago", version)?,
|
||||
_6m: ImportableVec::forced_import(db, "height_6m_ago", version)?,
|
||||
_26w: ImportableVec::forced_import(db, "height_26w_ago", version)?,
|
||||
_200d: ImportableVec::forced_import(db, "height_200d_ago", version)?,
|
||||
_9m: ImportableVec::forced_import(db, "height_9m_ago", version)?,
|
||||
_350d: ImportableVec::forced_import(db, "height_350d_ago", version)?,
|
||||
_12m: ImportableVec::forced_import(db, "height_12m_ago", version)?,
|
||||
_1y: ImportableVec::forced_import(db, "height_1y_ago", version)?,
|
||||
_14m: ImportableVec::forced_import(db, "height_14m_ago", version)?,
|
||||
_2y: ImportableVec::forced_import(db, "height_2y_ago", version)?,
|
||||
_26m: ImportableVec::forced_import(db, "height_26m_ago", version)?,
|
||||
_3y: ImportableVec::forced_import(db, "height_3y_ago", version)?,
|
||||
_200w: ImportableVec::forced_import(db, "height_200w_ago", version)?,
|
||||
_4y: ImportableVec::forced_import(db, "height_4y_ago", version)?,
|
||||
_5y: ImportableVec::forced_import(db, "height_5y_ago", version)?,
|
||||
_6y: ImportableVec::forced_import(db, "height_6y_ago", version)?,
|
||||
_8y: ImportableVec::forced_import(db, "height_8y_ago", version)?,
|
||||
_9y: ImportableVec::forced_import(db, "height_9y_ago", version)?,
|
||||
_10y: ImportableVec::forced_import(db, "height_10y_ago", version)?,
|
||||
_12y: ImportableVec::forced_import(db, "height_12y_ago", version)?,
|
||||
_14y: ImportableVec::forced_import(db, "height_14y_ago", version)?,
|
||||
_26y: ImportableVec::forced_import(db, "height_26y_ago", version)?,
|
||||
})
|
||||
}
|
||||
|
||||
pub fn window_starts(&self) -> WindowStarts<'_> {
|
||||
WindowStarts {
|
||||
_24h: &self.height_24h_ago,
|
||||
_1w: &self.height_1w_ago,
|
||||
_1m: &self.height_1m_ago,
|
||||
_1y: &self.height_1y_ago,
|
||||
_24h: &self._24h,
|
||||
_1w: &self._1w,
|
||||
_1m: &self._1m,
|
||||
_1y: &self._1y,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn start_vec(&self, days: usize) -> &EagerVec<PcoVec<Height, Height>> {
|
||||
match days {
|
||||
1 => &self.height_24h_ago,
|
||||
3 => &self.height_3d_ago,
|
||||
7 => &self.height_1w_ago,
|
||||
8 => &self.height_8d_ago,
|
||||
9 => &self.height_9d_ago,
|
||||
12 => &self.height_12d_ago,
|
||||
13 => &self.height_13d_ago,
|
||||
14 => &self.height_2w_ago,
|
||||
21 => &self.height_21d_ago,
|
||||
26 => &self.height_26d_ago,
|
||||
30 => &self.height_1m_ago,
|
||||
34 => &self.height_34d_ago,
|
||||
55 => &self.height_55d_ago,
|
||||
60 => &self.height_2m_ago,
|
||||
63 => &self.height_9w_ago,
|
||||
84 => &self.height_12w_ago,
|
||||
89 => &self.height_89d_ago,
|
||||
90 => &self.height_3m_ago,
|
||||
98 => &self.height_14w_ago,
|
||||
111 => &self.height_111d_ago,
|
||||
144 => &self.height_144d_ago,
|
||||
180 => &self.height_6m_ago,
|
||||
182 => &self.height_26w_ago,
|
||||
200 => &self.height_200d_ago,
|
||||
270 => &self.height_9m_ago,
|
||||
350 => &self.height_350d_ago,
|
||||
360 => &self.height_12m_ago,
|
||||
365 => &self.height_1y_ago,
|
||||
420 => &self.height_14m_ago,
|
||||
730 => &self.height_2y_ago,
|
||||
780 => &self.height_26m_ago,
|
||||
1095 => &self.height_3y_ago,
|
||||
1400 => &self.height_200w_ago,
|
||||
1460 => &self.height_4y_ago,
|
||||
1825 => &self.height_5y_ago,
|
||||
2190 => &self.height_6y_ago,
|
||||
2920 => &self.height_8y_ago,
|
||||
3285 => &self.height_9y_ago,
|
||||
3650 => &self.height_10y_ago,
|
||||
4380 => &self.height_12y_ago,
|
||||
5110 => &self.height_14y_ago,
|
||||
9490 => &self.height_26y_ago,
|
||||
1 => &self._24h,
|
||||
3 => &self._3d,
|
||||
7 => &self._1w,
|
||||
8 => &self._8d,
|
||||
9 => &self._9d,
|
||||
12 => &self._12d,
|
||||
13 => &self._13d,
|
||||
14 => &self._2w,
|
||||
21 => &self._21d,
|
||||
26 => &self._26d,
|
||||
30 => &self._1m,
|
||||
34 => &self._34d,
|
||||
55 => &self._55d,
|
||||
60 => &self._2m,
|
||||
63 => &self._9w,
|
||||
84 => &self._12w,
|
||||
89 => &self._89d,
|
||||
90 => &self._3m,
|
||||
98 => &self._14w,
|
||||
111 => &self._111d,
|
||||
144 => &self._144d,
|
||||
180 => &self._6m,
|
||||
182 => &self._26w,
|
||||
200 => &self._200d,
|
||||
270 => &self._9m,
|
||||
350 => &self._350d,
|
||||
360 => &self._12m,
|
||||
365 => &self._1y,
|
||||
420 => &self._14m,
|
||||
730 => &self._2y,
|
||||
780 => &self._26m,
|
||||
1095 => &self._3y,
|
||||
1400 => &self._200w,
|
||||
1460 => &self._4y,
|
||||
1825 => &self._5y,
|
||||
2190 => &self._6y,
|
||||
2920 => &self._8y,
|
||||
3285 => &self._9y,
|
||||
3650 => &self._10y,
|
||||
4380 => &self._12y,
|
||||
5110 => &self._14y,
|
||||
9490 => &self._26y,
|
||||
_ => panic!("No start vec for {days} days"),
|
||||
}
|
||||
}
|
||||
@@ -167,67 +167,67 @@ impl Vecs {
|
||||
exit: &Exit,
|
||||
) -> Result<()> {
|
||||
self.compute_rolling_start_hours(time, starting_indexes, exit, 1, |s| {
|
||||
&mut s.height_1h_ago
|
||||
&mut s._1h
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1, |s| &mut s.height_24h_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 3, |s| &mut s.height_3d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 7, |s| &mut s.height_1w_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 8, |s| &mut s.height_8d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 9, |s| &mut s.height_9d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 12, |s| &mut s.height_12d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 13, |s| &mut s.height_13d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 14, |s| &mut s.height_2w_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 21, |s| &mut s.height_21d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 26, |s| &mut s.height_26d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 30, |s| &mut s.height_1m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 34, |s| &mut s.height_34d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 55, |s| &mut s.height_55d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 60, |s| &mut s.height_2m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 63, |s| &mut s.height_9w_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 84, |s| &mut s.height_12w_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 89, |s| &mut s.height_89d_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 90, |s| &mut s.height_3m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 98, |s| &mut s.height_14w_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1, |s| &mut s._24h)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 3, |s| &mut s._3d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 7, |s| &mut s._1w)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 8, |s| &mut s._8d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 9, |s| &mut s._9d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 12, |s| &mut s._12d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 13, |s| &mut s._13d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 14, |s| &mut s._2w)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 21, |s| &mut s._21d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 26, |s| &mut s._26d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 30, |s| &mut s._1m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 34, |s| &mut s._34d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 55, |s| &mut s._55d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 60, |s| &mut s._2m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 63, |s| &mut s._9w)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 84, |s| &mut s._12w)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 89, |s| &mut s._89d)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 90, |s| &mut s._3m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 98, |s| &mut s._14w)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 111, |s| {
|
||||
&mut s.height_111d_ago
|
||||
&mut s._111d
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 144, |s| {
|
||||
&mut s.height_144d_ago
|
||||
&mut s._144d
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 180, |s| &mut s.height_6m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 182, |s| &mut s.height_26w_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 180, |s| &mut s._6m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 182, |s| &mut s._26w)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 200, |s| {
|
||||
&mut s.height_200d_ago
|
||||
&mut s._200d
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 270, |s| &mut s.height_9m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 270, |s| &mut s._9m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 350, |s| {
|
||||
&mut s.height_350d_ago
|
||||
&mut s._350d
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 360, |s| &mut s.height_12m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 365, |s| &mut s.height_1y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 420, |s| &mut s.height_14m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 730, |s| &mut s.height_2y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 780, |s| &mut s.height_26m_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1095, |s| &mut s.height_3y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 360, |s| &mut s._12m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 365, |s| &mut s._1y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 420, |s| &mut s._14m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 730, |s| &mut s._2y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 780, |s| &mut s._26m)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1095, |s| &mut s._3y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1400, |s| {
|
||||
&mut s.height_200w_ago
|
||||
&mut s._200w
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1460, |s| &mut s.height_4y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1825, |s| &mut s.height_5y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 2190, |s| &mut s.height_6y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 2920, |s| &mut s.height_8y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 3285, |s| &mut s.height_9y_ago)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1460, |s| &mut s._4y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 1825, |s| &mut s._5y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 2190, |s| &mut s._6y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 2920, |s| &mut s._8y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 3285, |s| &mut s._9y)?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 3650, |s| {
|
||||
&mut s.height_10y_ago
|
||||
&mut s._10y
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 4380, |s| {
|
||||
&mut s.height_12y_ago
|
||||
&mut s._12y
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 5110, |s| {
|
||||
&mut s.height_14y_ago
|
||||
&mut s._14y
|
||||
})?;
|
||||
self.compute_rolling_start(time, starting_indexes, exit, 9490, |s| {
|
||||
&mut s.height_26y_ago
|
||||
&mut s._26y
|
||||
})?;
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user