def test_ma(self):
     ma = MA('000001')
     global_data.add_data('000001')
     self.assertAlmostEqual(ma.get_ma('2017-03-09', 5), 9.42,
                            places=2)  # 与真实值对比 精确到后2位
     self.assertAlmostEqual(ma.get_ma('2017-02-10', 10), 9.29, places=2)
     self.assertAlmostEqual(ma.get_ma('2016-12-15', 30), 9.37, places=2)
     self.assertAlmostEqual(ma.get_ma('2017-03-14', 30), 9.41, places=2)
     self.assertAlmostEqual(ma.get_ma('2017-03-09', 90), 9.30, places=2)
     self.assertAlmostEqual(ma.get_ma('2017-03-20', 90), 9.32, places=2)
     global_data.save_database(global_data.DB_FILE)
 def test_kdj(self):
     kdj = KDJ('000001')
     global_data.add_data('000001')
     self.assertAlmostEqual(kdj.get_kdj('2017-06-16', 9, 3), 1.78,
                            places=2)  # 与真实值对比 精确到后2位
     self.assertAlmostEqual(kdj.get_kdj('2017-06-01', 9, 3),
                            109.21,
                            places=2)
     self.assertAlmostEqual(kdj.get_kdj('2017-02-20', 9, 3),
                            79.49,
                            places=2)
     global_data.save_database(global_data.DB_FILE)
    def test_macd(self):
        macd = MACD('600519')  # 它的MACD值比较大
        global_data.add_data('600519')
        self.assertAlmostEqual(macd.get_macd('2017-03-13', 12, 26, 9), 1.92, places=2)  # 与真实值对比 精确到后2位
        self.assertAlmostEqual(macd.get_macd('2017-03-14', 12, 26, 9), 1.58, places=2)
        # self.assertAlmostEqual(macd.get_macd('2016-11-22', 12, 26, 9), -2.59, places=2)
        # 上面的有一点点问题,算出来是-2.59701,通达信的是-2.594,导致assert报错,应该是早期的数据还不够多导致的

        macd = MACD('000001')
        global_data.add_data('000001')
        self.assertAlmostEqual(macd.get_macd('2017-03-13', 9, 20, 7), -0.03, places=2)
        self.assertAlmostEqual(macd.get_macd('2017-03-14', 9, 20, 7), -0.02, places=2)
        self.assertAlmostEqual(macd.get_macd('2017-03-17', 9, 20, 7), -0.02, places=2)
        self.assertAlmostEqual(macd.previous_value('2017-03-17', 1), 0.01, places=2)  # 获取的是03-16的值
        self.assertAlmostEqual(macd.get_saved_macd('2017-03-16'), 0.01, places=2)  # 获取的也是03-16的值
        global_data.save_database(global_data.DB_FILE)
 def test_mtm(self):
     mtm = MTM('000002')
     global_data.add_data('000002')
     self.assertAlmostEqual(mtm.get_mtm('2017-06-26', 12, 6), 1.67, places=2)  # 与真实值对比 精确到后2位
     self.assertAlmostEqual(mtm.get_mtm('2017-07-21', 12, 6), 0.08, places=2)
     global_data.save_database(global_data.DB_FILE)
 def test_dmi(self):
     dmi = DMI('000001')
     global_data.add_data('000001')
     pdi, mdi = dmi.get_dmi('2019-10-25', 14)
     self.assertAlmostEqual(pdi, 28.00, places=2)  # 与真实值对比 精确到后2位
     self.assertAlmostEqual(mdi, 11.25, places=2)  # 与真实值对比 精确到后2位