The routing protocol for low-power and lossy networks (RPL) has gained considerable popularity in the research community with the advent of the Internet of Things (IoT), primarily because of its versatility to cope with various network topologies and its ability to offer features such as self-healing, auto-configuration, detection, and loop avoidance. The objective function (OF) of the RPL calculates the ranks of nodes in the network depending on one routing metric, and then selects and optimizes the routes. Because of the single metric, both MRHOF and OF0 will suffer from long hops when selecting the routes to the sink, selecting inefficient routes such as paths containing nodes with small residual energy may cause the nod's energy to be consumed faster than other nodes. The other problem with RPL is the unbalanced choice of parents that make bottleneck nodes that cause more network delay and high packet loss ratio because of the high congestion nodes, especially the nodes located near the sink node. In this paper, we first reviewed the proposed objective functions and then suggested an improvement in the RPL objective function that considers three metrics (load, residual energy, and ETX metrics) instead of only one metric. The tool used in this paper is the Cooja simulator, we took three scenarios, and we compared the results of the proposed protocol with the original RPL MRHOF objective function; the results showed that the proposed protocol succeeded to enhance the RPL protocol in term of PDR, packet loss ratio, and total power consumption. The best performance of the proposed protocol is shown in the network with 60 nodes, and the proposed protocol increased the PDR by 0.4059, decreased the packet loss ratio by 0.21015, and decreased the total power consumption by 132.16 mw compared with the MRHOF protocol.