Fix calendar EST offset
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
config::ALPACA_API_URL,
|
config::ALPACA_API_URL,
|
||||||
types::{self, alpaca::api::outgoing},
|
types::{self, alpaca::api::outgoing},
|
||||||
utils::de,
|
utils::{de, time::EST_OFFSET},
|
||||||
};
|
};
|
||||||
use backoff::{future::retry_notify, ExponentialBackoff};
|
use backoff::{future::retry_notify, ExponentialBackoff};
|
||||||
use governor::DefaultDirectRateLimiter;
|
use governor::DefaultDirectRateLimiter;
|
||||||
@@ -25,8 +25,8 @@ impl From<Calendar> for types::Calendar {
|
|||||||
fn from(calendar: Calendar) -> Self {
|
fn from(calendar: Calendar) -> Self {
|
||||||
Self {
|
Self {
|
||||||
date: calendar.date,
|
date: calendar.date,
|
||||||
open: OffsetDateTime::new_utc(calendar.date, calendar.open),
|
open: OffsetDateTime::new_in_offset(calendar.date, calendar.open, *EST_OFFSET),
|
||||||
close: OffsetDateTime::new_utc(calendar.date, calendar.close),
|
close: OffsetDateTime::new_in_offset(calendar.date, calendar.close, *EST_OFFSET),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -24,7 +24,7 @@ impl Default for Calendar {
|
|||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
start: OffsetDateTime::UNIX_EPOCH,
|
start: OffsetDateTime::UNIX_EPOCH,
|
||||||
end: OffsetDateTime::from_unix_timestamp(MAX_TIMESTAMP).unwrap(),
|
end: *MAX_TIMESTAMP,
|
||||||
date_type: DateType::Trading,
|
date_type: DateType::Trading,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,10 +1,16 @@
|
|||||||
|
use lazy_static::lazy_static;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use time::OffsetDateTime;
|
use time::{OffsetDateTime, UtcOffset};
|
||||||
|
|
||||||
pub const ONE_SECOND: Duration = Duration::from_secs(1);
|
pub const ONE_SECOND: Duration = Duration::from_secs(1);
|
||||||
pub const ONE_MINUTE: Duration = Duration::from_secs(60);
|
pub const ONE_MINUTE: Duration = Duration::from_secs(60);
|
||||||
pub const FIFTEEN_MINUTES: Duration = Duration::from_secs(60 * 15);
|
pub const FIFTEEN_MINUTES: Duration = Duration::from_secs(60 * 15);
|
||||||
pub const MAX_TIMESTAMP: i64 = 253_402_300_799;
|
|
||||||
|
lazy_static! {
|
||||||
|
pub static ref MAX_TIMESTAMP: OffsetDateTime =
|
||||||
|
OffsetDateTime::from_unix_timestamp(253_402_300_799).unwrap();
|
||||||
|
pub static ref EST_OFFSET: UtcOffset = UtcOffset::from_hms(-5, 0, 0).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
pub fn last_minute() -> OffsetDateTime {
|
pub fn last_minute() -> OffsetDateTime {
|
||||||
let now_timestamp = OffsetDateTime::now_utc().unix_timestamp();
|
let now_timestamp = OffsetDateTime::now_utc().unix_timestamp();
|
||||||
|
Reference in New Issue
Block a user