Identifying code smells
The following is an implementation that passes the tests (for a listing of the test cases, download the code for this chapter from https://github.com/siddhi/test_driven_python). The implementation uses the timedelta
class from the datetime
module, so you'll have to import it at the top of the file to get it to work.
def get_crossover_signal(self, on_date): cpl = [] for i in range(11): chk = on_date.date() - timedelta(i) for price_event in reversed(self.price_history): if price_event.timestamp.date() > chk: pass if price_event.timestamp.date() == chk: cpl.insert(0, price_event) break if price_event.timestamp.date() < chk: cpl.insert(0, price_event) break # Return NEUTRAL signal if len(cpl) < 11: return 0 # BUY signal ...