-
Notifications
You must be signed in to change notification settings - Fork 0
99 Reference FAQ
Most common causes:
-
entry_thresholdtoo high -
allow_longorallow_shortdisabling one or both directions - indicator or signal outputs are mostly
NaNin the selected range
Check result.df[['signal_strength']].describe() and threshold values first.
This is expected for rolling windows (EMA, RSI, etc.) and for lagged features.
Warm-up bars need history before values are defined.
No. Use compute(df).
compute handles orchestration and lag shifting or renaming.
Use run_on(df) when data is already prepared, for example optimization loops, Monte Carlo runs, or custom data sources.
Use run() when the engine should fetch data from Yahoo Finance.
Use lag on signals and indicators so features at bar t only use information from bars < t.
Use ExternalSignal when the feature already exists as a column in your DataFrame, for example VIX, rates, macro releases, or sentiment indices merged from another source.
It is intended for ML feature pipelines. It does not implement to_signal_strength() and therefore should not be used inside StandardStrategy.
When n_jobs > 1, the Optuna-based optimizers switch to SQLite-backed storage for safe parallel workers.
Start with:
- strategy is
MLStrategy - model is wrapped in
KerasModelWrapper - final Dense layer has exactly 1 output unit
-
input_namesis non-empty - required extras are installed (
.[mql5]or.[onnx])
Deploy both:
- generated
.mq5EA file - generated
.onnxfile (copy toMQL5\Files\)
The current TensorFlow and tf2onnx dependency chain does not install cleanly there yet. Use Python 3.10-3.12 for the ONNX export workflow.
- Section Home
- Signals
- Signals Module
- Signals Usage Examples
- Indicators
- Indicators: Base API
- Indicators: Moving Averages
- Indicators: Oscillators
- Indicators: Volume
- Indicators: Trend/Volatility
- Indicators: Statistical/Kernels
- Strategies
- Risk Management
- Position Sizing
- Machine Learning