- Ensure that data is handled correctly
- Create a script to constantly download and update local datasets
- Remove all db references and revert back to using local files
- Candle data should be stored individually by frequency
- Implement websockets instead of polling. This should lead to more accurate data for shorter timeframes (ie: 1m, 5m, etc.)
- Implement test market for live simulations
-
MACDRow._row_decision
andMACD._row_strength
are overly simple and should be replaced with a better way to evaluate the decision and calculate the strength - Calculating strength from indicators is a bad idea. Indicators should only be used to make decisions. The entire 'strength' concept should be removed.
- The arguments passed to
Indicator._row_decision
should exclusively be aDataFrame
, not aSeries
. - There should be a way to plot indicator decisions on a chart.
- Rename
FrequncySignal
toIndicatorGroup
- Rename
IndicatorGroup._compute()
toIndicatorGroup._compute_signals()
- Rename
IndicatorGroup._process()
toIndicatorGroup._generate_indicator_graph()
- Improve
BBandsRow._row_decision()
to be only giveSELL
orBUY
signal more closely to bounds - Allow
IndicatorGroup
to be passed a function to evaluate buy signals. That way strategies can have more control over how to evaluate signals from indicators. For example, BollingerBands should restrict the overall output.
-
OrderHandler
should be used as a standalone object instead of a mixin. Should be renamed toOrderHandler
. - unpaired orders are not being accounted for. This affects pnl and should be of upmost priority.
- Implement builder methods for building strategies
- Verify functionality of
lookback
. It should follow the same logic asunison
. Ifunison
thenlookback
should look for repeated signals. If notusison
, thenlookback
should look for similar signals. - Rename
OrderHandler.unpaired
toOrderHandler.unsold_orders
-
TrendDetector
should use ranking of frequencies instead of a simple "mean". For example, if 1day isSELL
, and1h
isBUY
, then the final decision should lean more towardsBUY
. -
TrendDetector
should use a better indicator such as a combination of Bollinger Bands and EMA to determine the trend - Add legends to plotting
- Remove assets and amt from graph. Or at least plot this graph at the end.
- PNL function is way wrong...