Version 1.0


This is the initial release of the Deep Signal Library. It provides an easy way to create and use your own machine learning models using NinjaTrader


The Version 1.0 release installs the Deep Signal Library files, the Microsoft AutoML and ML.Net files, along with a sample strategy file for creating a new machine learning model and a sample strategy file for using the model. The predictive model can be used in backtests, optimizing parameter values or running live.


The following Deep Signal Library methods have been added:


  • AddDSTIndicator - AddDSTIndicator will add indicator data to the machine learning model for a strategy that is creating a new model or is using an existing model for predicting long or short trade entry signals.
  • AddDSTInstrument - AddDSTInstrument will add open or close values for an additional instrument. The user will need to pass a valid ticker symbol to the method.
  • DSTLongSignal - For predictive strategies, DSTLongSignal will return true if the model has found a signal for a long trade entry.
  • DSTShortSignal - For predictive strategies, DSTShortSignal will return true if the model has found a signal for a sell short trade entry.



Version 1.1


There have been several bug fixes along with additional functionality. The following Deep Signal Library methods have been added:



Version 1.2

Version 1.2 adds the ability to control which data sets get added for training a machine learning model. The following four advanced methods have been added in order to add a custom data set for training a model.

  • DSTAddLongDataWindow - This method will add a data set to the long trade training data sets used when creating a machine learning model. Pass an integer as signalBarsAgo to let the library know how many bars ago the Signal Bar occurred. The default for signalBarsAgo is 0 bars, which is the current bar.
  • DSTAddShortDataWindow - This method will add a data set to the short trade training data sets used when creating a machine learning model. Pass an integer as signalBarsAgo to let the library know how many bars ago the Signal Bar occurred. The default for signalBarsAgo is 0 bars, which is the current bar.
  • DSTAddFailedLongDataWindow - This method will add a data set to the failed to reach a long profit target training data sets used when creating a machine learning model. Pass an integer as signalBarsAgo to let the library know how many bars ago the Signal Bar occurred. The default for signalBarsAgo is 0 bars, which is the current bar. These sets are used in creating a supervised machine learning model to let the model know when not to enter a long trade.
  • DSTAddFailedShortDataWindow - This method will add a data set to the failed to reach a short profit target training data sets used when creating a machine learning model. Pass an integer as signalBarsAgo to let the library know how many bars ago the Signal Bar occurred. The default for signalBarsAgo is 0 bars, which is the current bar. These sets are used in creating a supervised machine learning model to let the model know when not to enter a short trade.


Additional Advanced Parameters have been added to allow for setting the maximum number of training sets when creating a new machine learning model.



Version 1.3


Version 1.3 adds the following:


  • New Progress Window when creating a machine learning model. It adds additional statistics to the window as well as allowing the user to look at training run data.
  • Allows the user to choose which trainers they would like to use when creating a new model.



Version 1.4


Version 1.4 adds the following:


  • Deep Signal Indicators - Gives the trader more insight into their machine learning models by showing where the model would enter a short or long trade in a chart. Please see the Using Deep Signal Indicators section for more information.
  • Using Multiple Models In A Strategy - The Deep Signal Library can now use multiple machine learning models in one strategy. Each model used will provide a long or short signal that can be used to determine whether to enter a new trade. Please see the Using Multiple Models In Strategies section for more information.


Version 1.5


Version 1.5 adds the following:


  • Regression and Multiclass Classification Trainers - Adds two new trainer types for creating new machine learning models.
  • Confidence Scores - Adds a confidence score to both long and short prediction results
  • Metrics from the best performing machine learning model in the Full Training Results window when creating a new model
  • The user can use custom feature data that is added bar by bar for creating new models or predicting with an existing model. Please see the Adding Custom Feature Data section for more information.
  • More control over data sets - The user can set the maximum number of positive/negative data sets for creating a new model. The data can be sorted by how much potential profit the library found from the signal bar to the end of the data set. 
  • Data sets can be filtered to remove outlier events where there were large swings in price data for a data set
  • Model training data can be displayed in a chart that shows the pre-signal window, signal bar and bars to target window data. Please see the Training Data Viewer section for more information.
  • DSTIsValidFailedLongDataSet and DSTIsValidFailedShortDataSet were added to allow the user to choose whether to accept a failed to reach profit target data set 


Version 1.6


Version 1.6 adds the following:


  • Permutation Feature Importance - Features that are added to models can be screened using Feature Importance to help determine their contribution to the model
  • Dataset Weights - Weights can be assigned to Profit Target (positive) and Profit Target Not Reached (negative) datasets to help balance the data. The weights can use the total positive and negative data sets to automatically assign a balanced weight or the user can customize the weight for their needs.
  • Several new customization options for trainers were added: Scda Trainer Options, Lbfgs Trainer Options, Fast Forest Trainer Options, Fast Tree Trainer Options, and Lgbm Trainer Options. The new options added the ability to fine tune the model creation process by customizing L1 Regularization, L2 Regularization, Number of Leaves, Number of Trees, Feature Fraction, Minimum Example Count Per Leaf, Maximum Bin Count Per Feature, and Learning Rate.
  • Upgraded Microsoft Machine Learning Libraries to ML.Net 3.0, AutoML.Net 2.1 





Futures, foreign currency and options trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing ones financial security or lifestyle. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results.