def parse_three_candles(value): three_candles = [Candle("USDT_ETH"), Candle("USDT_BTC"), Candle("BTC_ETH")] candles_input = value.split(';') for candle_input in candles_input: candle_part = candle_input.split(',') for candle in three_candles: if candle.pair == candle_part[0]: candle.date = float(candle_part[1]) candle.high = float(candle_part[2]) candle.low = float(candle_part[3]) candle.open = float(candle_part[4]) candle.close = float(candle_part[5]) candle.volume = float(candle_part[6]) return three_candles
def test_ADX_fixed_values(self): adx = ADX() candle_1 = Candle("USDT_ETH", 30.20, 29.41, 29.87) candle_2 = Candle("USDT_ETH", 30.28, 29.32, 30.24) adx.feed([candle_1, candle_2]) self.assertTrue(truncate(adx.TR[-1], 2) == 0.96) self.assertTrue(truncate(adx.DM_positive[-1], 2) == 0.00) self.assertTrue(truncate(adx.DM_negative[-1], 2) == 0.09) candle_3 = Candle("USDT_ETH", 30.45, 29.96, 30.10) adx.feed([candle_2, candle_3]) self.assertTrue(truncate(adx.TR[-1], 2) == 0.48) self.assertTrue(round(adx.DM_positive[-1], 2) == 0.17) self.assertTrue(round(adx.DM_negative[-1], 2) == 0.00) candle_4 = Candle("USDT_ETH", 29.35, 28.74, 28.90) adx.feed([candle_3, candle_4]) self.assertTrue(truncate(adx.TR[-1], 2) == 1.36) self.assertTrue(round(adx.DM_positive[-1], 2) == 0.00) self.assertTrue(round(adx.DM_negative[-1], 2) == 1.22) candle_5 = Candle("USDT_ETH", 29.35, 28.56, 28.92) adx.feed([candle_4, candle_5]) self.assertTrue(truncate(adx.TR[-1], 2) == 0.79) self.assertTrue(round(adx.DM_positive[-1], 2) == 0.00) self.assertTrue(round(adx.DM_negative[-1], 2) == 0.18) candle_6 = Candle("USDT_ETH", 29.29, 28.41, 29.48) adx.feed([candle_5, candle_6]) candle_7 = Candle("USDT_ETH", 28.83, 28.08, 28.56) adx.feed([candle_6, candle_7]) candle_8 = Candle("USDT_ETH", 28.73, 27.43, 27.56) adx.feed([candle_7, candle_8]) candle_9 = Candle("USDT_ETH", 28.67, 27.66, 28.47) adx.feed([candle_8, candle_9]) candle_10 = Candle("USDT_ETH", 28.85, 27.83, 28.28) adx.feed([candle_9, candle_10]) candle_11 = Candle("USDT_ETH", 28.64, 27.40, 27.49) adx.feed([candle_10, candle_11]) candle_12 = Candle("USDT_ETH", 27.68, 27.09, 27.23) adx.feed([candle_11, candle_12]) candle_13 = Candle("USDT_ETH", 27.21, 26.18, 26.35) adx.feed([candle_12, candle_13]) candle_14 = Candle("USDT_ETH", 26.87, 26.13, 26.33) adx.feed([candle_13, candle_14]) candle_15 = Candle("USDT_ETH", 27.41, 26.63, 27.03) adx.feed([candle_14, candle_15]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_16 = Candle("USDT_ETH", 26.94, 26.13, 26.22) adx.feed([candle_15, candle_16]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_17 = Candle("USDT_ETH", 26.52, 25.43, 26.01) adx.feed([candle_16, candle_17]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_18 = Candle("USDT_ETH", 26.52, 25.35, 25.46) adx.feed([candle_17, candle_18]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_19 = Candle("USDT_ETH", 27.09, 25.88, 27.03) adx.feed([candle_18, candle_19]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_20 = Candle("USDT_ETH", 27.69, 26.96, 27.45) adx.feed([candle_19, candle_20]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_21 = Candle("USDT_ETH", 27.69, 26.96, 28.36) adx.feed([candle_20, candle_21]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_22 = Candle("USDT_ETH", 28.53, 28.01, 28.43) adx.feed([candle_21, candle_22]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_23 = Candle("USDT_ETH", 28.67, 27.88, 27.95) adx.feed([candle_22, candle_23]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_24 = Candle("USDT_ETH", 29.01, 27.99, 29.01) adx.feed([candle_23, candle_24]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_25 = Candle("USDT_ETH", 29.87, 28.76, 29.38) adx.feed([candle_24, candle_25]) #print("TR = ", adx.TR[-1], "DI_pos = ", adx.DI_positive[-1], "DX = ", adx.DX[-1], file=sys.stderr) candle_26 = Candle("USDT_ETH", 29.80, 29.14, 29.36) adx.feed([candle_25, candle_26]) candle_27 = Candle("USDT_ETH", 29.75, 28.71, 28.91) adx.feed([candle_26, candle_27]) candle_28 = Candle("USDT_ETH", 30.65, 28.93, 30.61) adx.feed([candle_27, candle_28])