1mod bar_primitives;
8mod config;
9mod descriptor;
10mod error;
11mod expression;
12mod material;
13mod momentum_primitives;
14mod normalization_primitives;
15mod numeric;
16mod recursive_primitives;
17mod runtime;
18mod series_primitives;
19mod statistical_primitives;
20mod structure_primitives;
21mod template;
22mod temporal_primitives;
23mod value;
24
25pub use bar_primitives::{
26 MATERIAL_BAR_OVERLAP, MATERIAL_BODY_DIRECTION_FRACTION, MATERIAL_BODY_ENGULFING,
27 MATERIAL_BODY_FRACTION, MATERIAL_CLOSE_LOCATION_VALUE, MATERIAL_CLOSE_POSITION,
28 MATERIAL_ENGULF_SIZE_RATIO, MATERIAL_INSIDE_BAR, MATERIAL_LOWER_WICK_FRACTION,
29 MATERIAL_NARROW_RANGE, MATERIAL_OUTSIDE_BAR, MATERIAL_RELATIVE_RANGE, MATERIAL_RETURN_LOG,
30 MATERIAL_ROC, MATERIAL_THREE_BAR_GAP_DOWN, MATERIAL_THREE_BAR_GAP_UP,
31 MATERIAL_UPPER_WICK_FRACTION, MATERIAL_WIDE_RANGE,
32};
33pub use config::{
34 ActionTemplate, AssignmentConfig, BarField, ConfiguredActionKind, DecisionKind,
35 DecisionTemplate, Expr, FeedbackField, MAX_ACTIONS, MAX_ASSIGNMENTS, MAX_COMPLETED_BARS,
36 MAX_ENTRY_TARGETS, MAX_EXPR_DEPTH, MAX_EXPR_NODES, MAX_LEGS, MAX_MATERIAL_ARGS,
37 MAX_MATERIAL_INPUTS, MAX_MATERIAL_LOOKBACK, MAX_MATERIAL_STATE_BYTES, MAX_MATERIALS,
38 MAX_NAMED_VALUES, MAX_NOTES, MAX_OUTPUT_COMMANDS, MAX_OUTPUT_NOTES, MAX_PARAMETER_OPTIONS,
39 MAX_PARAMETERS, MAX_PENDING_FEEDBACK, MAX_SOURCES, MAX_STATES, MAX_TRANSITIONS, MAX_VARIABLES,
40 MaterialArg, MaterialArgs, MaterialConfig, MaterialParams, NamedExpr, NoteKind, NoteTemplate,
41 ParameterBinding, ParameterConfig, ParameterKind, ParameterValue, PositionField, SourceId,
42 StateConfig, StrategyConfig, TransitionConfig, VariableConfig,
43};
44pub use descriptor::{
45 BarShapeCalculation, BarStructureCalculation, MaDerivativeCalculation, MomentumCalculation,
46 MovingAverageCalculation, NormalizedCalculation, NumericCalculation, NumericDescriptor,
47 NumericInputs, NumericMissingPolicy, NumericRange, NumericUnit, PriceChangeCalculation,
48 PriceInputCalculation, RecursiveCalculation, StatisticalCalculation,
49};
50pub use error::{CompileError, EvaluationError};
51pub use material::{
52 CommandFact, CommandFeedback, CommandTerminalStatus, CompletedBar, CompletedBarRequirement,
53 CompletedBarUpdate, ConfiguredStrategyRequirements, EntryRequirement, MATERIAL_ATR,
54 MATERIAL_BAR_FIELD, MATERIAL_BARS_SINCE_OPEN, MATERIAL_CANCELLATION_APPLIED,
55 MATERIAL_CANCELLATION_REJECTED, MATERIAL_CROSS_ABOVE, MATERIAL_CROSS_BELOW, MATERIAL_EMA,
56 MATERIAL_ENTRY_FILLED, MATERIAL_ENTRY_REJECTED, MATERIAL_INPUT_TIME, MATERIAL_LAG,
57 MATERIAL_POSITION_ADVERSE_EXCURSION, MATERIAL_POSITION_CLOSED, MATERIAL_POSITION_ENTRY_PRICE,
58 MATERIAL_POSITION_EXISTS, MATERIAL_POSITION_FAVORABLE_EXCURSION,
59 MATERIAL_POSITION_INITIAL_RISK, MATERIAL_POSITION_OPEN, MATERIAL_POSITION_OPENED_AT,
60 MATERIAL_POSITION_PENDING, MATERIAL_POSITION_REMAINING_SIZE, MATERIAL_POSITION_SIDE,
61 MATERIAL_POSITION_STOPLOSS, MATERIAL_READINESS, MATERIAL_ROLLING_MAX, MATERIAL_ROLLING_MIN,
62 MATERIAL_RSI, MATERIAL_SECONDS_OF_DAY, MATERIAL_SMA, MATERIAL_STDDEV, MATERIAL_STRICT_EMA,
63 MATERIAL_STRICT_SMA, MATERIAL_WEEKDAY, MaterialBuild, MaterialEvalContext, MaterialEvaluator,
64 MaterialFactory, MaterialLibrary, MaterialLookback, MaterialUpdateTrigger,
65 NamedInputRequirement, NamedValue, ParamKind, ParamSpec, StrategyInput, TradeSlotFacts,
66 TradeSlotState,
67};
68pub use momentum_primitives::{
69 MATERIAL_ADX, MATERIAL_CCI, MATERIAL_DI_DIFFERENCE, MATERIAL_DX, MATERIAL_MACD,
70 MATERIAL_MACD_HISTOGRAM, MATERIAL_MACD_SIGNAL, MATERIAL_MINUS_DI, MATERIAL_PLUS_DI,
71 MATERIAL_RSI_CHANGE, MATERIAL_STOCHASTIC_FAST_K, MATERIAL_STOCHASTIC_SLOW_D,
72 MATERIAL_STOCHASTIC_SLOW_K, MATERIAL_STRICT_RSI,
73};
74pub use normalization_primitives::{
75 MATERIAL_MA_ACCELERATION_ATR, MATERIAL_MA_DISTANCE_ATR, MATERIAL_MA_GAP_ATR,
76 MATERIAL_MA_SLOPE_ATR, MATERIAL_MACD_ATR, MATERIAL_MACD_HISTOGRAM_ATR,
77 MATERIAL_MACD_SIGNAL_ATR,
78};
79pub use recursive_primitives::{
80 MATERIAL_BB_KC_SQUEEZE, MATERIAL_BODY_ABS_ATR, MATERIAL_BODY_ABS_CURRENT_ATR,
81 MATERIAL_BODY_SIGNED_ATR, MATERIAL_BODY_SIGNED_CURRENT_ATR,
82 MATERIAL_DONCHIAN_LOWER_DISTANCE_ATR, MATERIAL_DONCHIAN_LOWER_DISTANCE_CURRENT_ATR,
83 MATERIAL_DONCHIAN_UPPER_DISTANCE_ATR, MATERIAL_DONCHIAN_UPPER_DISTANCE_CURRENT_ATR,
84 MATERIAL_GAP_ATR, MATERIAL_GAP_CURRENT_ATR, MATERIAL_HEIKIN_ASHI_CLOSE,
85 MATERIAL_HEIKIN_ASHI_HIGH, MATERIAL_HEIKIN_ASHI_LOW, MATERIAL_HEIKIN_ASHI_OPEN,
86 MATERIAL_HIGH_CHANGE_ATR, MATERIAL_HIGH_CHANGE_CURRENT_ATR, MATERIAL_HMA, MATERIAL_KAMA,
87 MATERIAL_KAMA_SMOOTHING_CONSTANT, MATERIAL_KELTNER_LOWER, MATERIAL_KELTNER_MIDDLE,
88 MATERIAL_KELTNER_UPPER, MATERIAL_LOW_CHANGE_ATR, MATERIAL_LOW_CHANGE_CURRENT_ATR,
89 MATERIAL_MOVE_ATR, MATERIAL_MOVE_CURRENT_ATR, MATERIAL_RANGE_ATR, MATERIAL_RANGE_CURRENT_ATR,
90 MATERIAL_SUPERTREND_DIRECTION, MATERIAL_SUPERTREND_LEVEL,
91};
92pub use series_primitives::{
93 MATERIAL_CLOSE_PRICE, MATERIAL_HL2, MATERIAL_HLC3, MATERIAL_MA_ACCELERATION,
94 MATERIAL_MA_ALIGNMENT, MATERIAL_MA_DISTANCE, MATERIAL_MA_GAP, MATERIAL_MA_SLOPE,
95 MATERIAL_OHLC4, MATERIAL_STRICT_ATR, MATERIAL_STRICT_RMA, MATERIAL_STRICT_WMA,
96 MATERIAL_TRUE_RANGE,
97};
98pub use statistical_primitives::{
99 MATERIAL_AROON_DOWN, MATERIAL_AROON_UP, MATERIAL_ATR_CHANGE, MATERIAL_ATR_PERCENT,
100 MATERIAL_ATR_RATIO, MATERIAL_BOLLINGER_LOWER, MATERIAL_BOLLINGER_PERCENT_B,
101 MATERIAL_BOLLINGER_UPPER, MATERIAL_BOLLINGER_WIDTH, MATERIAL_CHANNEL_MID_DISTANCE,
102 MATERIAL_CHANNEL_WIDTH, MATERIAL_CHOPPINESS, MATERIAL_DONCHIAN_LOWER, MATERIAL_DONCHIAN_UPPER,
103 MATERIAL_EFFICIENCY_RATIO, MATERIAL_EWMA_VOLATILITY, MATERIAL_HISTORICAL_PERCENTILE,
104 MATERIAL_MEDIAN_DEVIATION, MATERIAL_NEGATIVE_SEMIVARIANCE, MATERIAL_POSITIVE_SEMIVARIANCE,
105 MATERIAL_PREVIOUS_RANGE_POSITION, MATERIAL_RANGE_EXPANSION, MATERIAL_RANGE_POSITION,
106 MATERIAL_REALIZED_VARIANCE, MATERIAL_REALIZED_VOLATILITY, MATERIAL_REGRESSION_DEVIATION,
107 MATERIAL_REGRESSION_R2, MATERIAL_REGRESSION_RESIDUAL_RMS, MATERIAL_REGRESSION_SLOPE,
108 MATERIAL_RETURN_AUTOCORRELATION, MATERIAL_RETURN_RMS, MATERIAL_RETURN_STDDEV,
109 MATERIAL_ROLLING_HIGH_AGE, MATERIAL_ROLLING_LOW_AGE, MATERIAL_ROLLING_MEDIAN,
110 MATERIAL_VOLATILITY_ASYMMETRY, MATERIAL_ZSCORE,
111};
112
113pub use runtime::{
114 ConfiguredCommand, ConfiguredStrategy, Decision, NamedOutput, Note, OutputScalar, RelatedTrade,
115 StrategyOutput,
116};
117pub use template::{
118 StrategyTemplate, bind_expr, evaluate_parameter_expression, parameter_scalar_type,
119 parameter_value_label, require_boolean,
120};
121
122pub use structure_primitives::{
123 MATERIAL_CONFIRMED_LEVEL, MATERIAL_CONFIRMED_LINE_VALUE, MATERIAL_DIVERGENCE,
124 MATERIAL_LEG_AMPLITUDE, MATERIAL_LEG_DURATION, MATERIAL_LEVEL_AGE, MATERIAL_LEVEL_DISTANCE,
125 MATERIAL_RETRACEMENT, MATERIAL_SWING_CHANGE, MATERIAL_SWING_HIGHER, MATERIAL_SWING_LOWER,
126};
127pub use temporal_primitives::{
128 MATERIAL_BARS_SINCE_TRUE, MATERIAL_COUNT_TRUE, MATERIAL_DELTA, MATERIAL_FALL,
129 MATERIAL_HOLD_ALL, MATERIAL_RISE, MATERIAL_SEQUENCE_AB, MATERIAL_SETUP_LONG_BOUNDED_QUEUE,
130 MATERIAL_SETUP_LONG_REPLACE_LATEST, MATERIAL_SETUP_LONG_SINGLE_KEEP_FIRST,
131 MATERIAL_SETUP_SHORT_BOUNDED_QUEUE, MATERIAL_SETUP_SHORT_REPLACE_LATEST,
132 MATERIAL_SETUP_SHORT_SINGLE_KEEP_FIRST, MATERIAL_SHARE_TRUE, MATERIAL_STREAK_TRUE,
133 MATERIAL_STRICT_CROSS_ABOVE, MATERIAL_STRICT_CROSS_BELOW,
134};
135pub use value::{
136 Literal, MAX_GENERATED_ID_BYTES, MAX_ID_BYTES, MAX_TEXT_BYTES, ScalarType, Value, ValueType,
137};
138
139pub(crate) use config::{MAX_COMMAND_CORRELATIONS, bar_field_type};
140pub(crate) use value::{validate_id, validate_text};