- Consistently use QuantConnect/Lean naming convention for method variables;
- Use `IND(PARAM1,PARAM2, ..., PARAMN)` format for indicators. Indicators that are created by a helper method become: `IND(PARAM1,PARAM2, ..., PARAMN, SYMBOL_res)`.
- Fixes `RegressionChannelTest`.
- Implements `IIndicatorWarmUpPeriodProvider`;
- Refactors `IchimokuKinkoHyo`;
- Fixes sub-indicator computations: the `Delay` sub-indicators were accepting input from indicators that were not realy;
- Adds `Chikou` indicator (closes#919);
- Indicators with name starting with A;
- `Maximum`. `Minimum` and `MACD`;
- Adds new unit test method to `CommonIndicatorTests`: `WarmsUpProperly`;
- Indicators unit tests inherit from `CommonIndicatorTests`.
This helper method can be used to warm up indicators individually whether it is created after the security has been added to the universe or before (universe selection scenario).
- Fix the subscription addition to `SubcriptionManager` when a History request is made before the security is created, since it should be not added.
- `IndicatorBase.Update` does not throw when an input is older than the last update. We only log (adds QuantConnect.Logging dependency to QuantConnect.Indicators) the error and discard the addition. Removes unit test for that exception.
- Lower and Upper bands from the BollingerBands indicator are a
`CompositeIndicator` that gets updated automatically when both left and
right are updated. So there is no need to update them
again. Same happens in the `RegressionChannel` indicator. Adding unit
tests.
- Fixes `TrueRange` computation: it was not using the H-L range;
- Fixes `SmoothedDirectionalMovementMinus` that used a constant value instead of the defined period;
- Use a `WilderMovingAverage` to compute ADX based on DX.
- Fixes `AverageDirectionalMovementIndexRating` only be ready when there is enough past values.
- Removes external data for `AverageDirectionalMovementIndexRating` and points to column in `AverageDirectionalMovementIndex` external data.
Closes#2666
A constructor overload was missing in the previsous version. In the indicators' pattern they have constructors that don't need a string as the first parameter.
Refactored the code to implement QuantConnect's code style.