pub mod alert_register;
pub mod currency;
pub mod engine;
pub mod error;
pub mod execution;
pub mod position;
pub mod position_manager;
pub mod profile;
pub mod rules;
pub mod sizing;
pub mod types;
pub mod validation;
pub use alert_register::PriceAlertRegister;
pub use currency::{
ConversionError, ConversionLeg, ConversionLegAudit, ConversionPriceSide, ConversionQuoteBook,
ConversionResult, ConversionRoute, FxPair, FxPairDirection, QuoteValidationError,
RunCurrencyPlan, RunCurrencyPlanError, resolve_conversion_route, resolve_fx_pair,
};
pub use engine::{FutureApplyError, FutureApplyResult, TradeEngine};
pub use error::{CoreError, Result};
pub use execution::{ExecutionError, ExecutionPricer, ExecutionResult};
pub use position::Position;
pub use profile::{
EntryLevelResolution, EntryResolutionContext, GeneratedTargetResolution, ManagementProfile,
PositionRef, PositionResolver, PriceGridSource, ProfileApplicationError,
ProfileValidationError, RawSignal, ResolvedEntry, RuleConfigDef, StoplossMode,
TargetResolution, TargetResolutionSource, TargetSelection, TargetSource, allocate_target_steps,
allocate_target_units, resolve_signal, resolve_unprofiled_entry, validate_profile,
};
pub use rules::Rule;
pub use sizing::{
InstrumentSizingError, LotCapStatus, SizingError, SizingPolicy, SizingResult,
compute_instrument_native_loss_per_lot, compute_instrument_size,
compute_instrument_size_for_spec, compute_instrument_size_for_spec_with_prices, compute_size,
};
pub use types::{
Action, CloseReason, Effect, EffectiveStop, ExecutionConvention, ExecutionFill, ExecutionModel,
Fill, FillModel, FillPurpose, FixedPrice, FutureEffect, FutureFill, GroupId, Lots, OrderType,
PositionId, PositionRecord, PositionStatus, PreparedPendingFill, PriceQuote, RuleConfig, Side,
Signal, SlippageModel, StopOrigin, TargetSpec, TradeId,
};
pub use validation::{
RawSignalValidationError, validate_entry_class, validate_raw_signal, validate_raw_signals,
};