pub struct InstanceBuilder<L = ()> { /* private fields */ }Expand description
Builder that compiles Navi source and produces an executable Instance.
Obtain a builder via Instance::builder.
The generic parameter L tracks the chain of library loaders registered
via with_library_loader. Start
with InstanceBuilder<()> (the default returned by Instance::builder)
and each call to with_library_loader prepends a new loader while
preserving the fallback chain in the type.
Implementations§
Source§impl<L> InstanceBuilder<L>
impl<L> InstanceBuilder<L>
Sourcepub fn with_locale(self, locale: impl Into<String>) -> Self
pub fn with_locale(self, locale: impl Into<String>) -> Self
Sets the locale used for i18n diagnostic messages.
Sourcepub fn with_dialect(self, dialect: Dialect) -> Self
pub fn with_dialect(self, dialect: Dialect) -> Self
Sets the source dialect used to parse the script (Pine or Navi).
Sourcepub fn with_input_value(self, id: usize, value: impl Serialize) -> Self
pub fn with_input_value(self, id: usize, value: impl Serialize) -> Self
Set the value of an input by its index.
Sourcepub fn with_input_sessions(self, sessions: InputSessions) -> Self
pub fn with_input_sessions(self, sessions: InputSessions) -> Self
Configures which trading sessions are accepted as input.
Sourcepub fn with_background_color(self, color: impl Into<Option<Color>>) -> Self
pub fn with_background_color(self, color: impl Into<Option<Color>>) -> Self
Overrides the chart background color used by visual outputs.
Sourcepub fn with_last_info(self, last_info: impl Into<Option<LastInfo>>) -> Self
pub fn with_last_info(self, last_info: impl Into<Option<LastInfo>>) -> Self
Provides the last-bar metadata used by some runtime features.
Sourcepub fn with_execution_limits(self, limits: ExecutionLimits) -> Self
pub fn with_execution_limits(self, limits: ExecutionLimits) -> Self
Configures runtime execution limits for the VM.
Sourcepub fn with_output_mode(self, mode: OutputMode) -> Self
pub fn with_output_mode(self, mode: OutputMode) -> Self
Sets the output mode for series graph data.
Sourcepub fn with_mtf_wait(self, duration: Duration) -> Self
pub fn with_mtf_wait(self, duration: Duration) -> Self
Sets the fixed delay applied before executing each realtime bar.
Sourcepub fn with_strategy_config_override(self, ov: StrategyConfigOverride) -> Self
pub fn with_strategy_config_override(self, ov: StrategyConfigOverride) -> Self
Overrides strategy execution parameters declared in the script source.
Fields set to Some(…) take precedence over the strategy() call
arguments. Fields left as None fall back to the script defaults.
Has no effect on non-strategy scripts.
Source§impl<L: LibraryLoader> InstanceBuilder<L>
impl<L: LibraryLoader> InstanceBuilder<L>
Sourcepub fn with_library_loader<Q: LibraryLoader>(
self,
loader: Q,
) -> InstanceBuilder<CombinedLoader<Q, L>>
pub fn with_library_loader<Q: LibraryLoader>( self, loader: Q, ) -> InstanceBuilder<CombinedLoader<Q, L>>
Prepends a library loader to the resolution chain.
The new loader is tried first; on failure it falls back to whichever loader was registered previously. The built-in prelude/stdlib loader is always appended as the final fallback regardless of how many custom loaders are registered.
Call this method multiple times to build a priority stack:
// Resolution order: loader_b → loader_a → builtins
let instance = Instance::builder(provider, source, timeframe, symbol)
.with_library_loader(loader_a)
.with_library_loader(loader_b)
.build()
.await?;Auto Trait Implementations§
impl<L> Freeze for InstanceBuilder<L>where
L: Freeze,
impl<L = ()> !RefUnwindSafe for InstanceBuilder<L>
impl<L = ()> !Send for InstanceBuilder<L>
impl<L = ()> !Sync for InstanceBuilder<L>
impl<L> Unpin for InstanceBuilder<L>where
L: Unpin,
impl<L> UnsafeUnpin for InstanceBuilder<L>where
L: UnsafeUnpin,
impl<L = ()> !UnwindSafe for InstanceBuilder<L>
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§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.