1. A system for facilitating trading of financial instruments in a market, the system comprising: a server at which financial instruments are traded; and an interface in communication with the server, the interface being configured to receive entry of at least one of a buy order and a sell order, each buy order and each sell order having a price, a volume, and an entry time and relating to a respective financial instrument; wherein the server is configured to receive a plurality of buy orders and sell orders from the interface, and to match buy orders relating to a first financial instrument and having a first price to sell orders relating to the first financial instrument and having the first price by, for each buy order and each sell order, using the volume and entry time to assign a volume weight and a time weight, and using the volume weights and the time weights to determine each match; and wherein the server is further configured to use each determined match to complete a respective trade, and wherein the server is further configured to determine each match according to a first algorithm which is expressible as f n = w v ( v n ∑ r = 1 N ⁢ v r ) + w t ( ( N + C ) - n ∑ r = 1 N ⁢ r ) w v + w t wherein each buy or sell order relating to the first financial instrument is assigned a value of n based on a time order of receipt; N=a total number of buy or sell orders relating to the first financial instrument; v n =a volume of the n th buy or sell order; r=a whole number greater than or equal to 1 and less than or equal to N; v r =a volume of the r th buy or sell order; C=a time offset; w v =the assigned volume weight; w t =the assigned time weight; and f n =a resultant pro-rata factor for the n th buy or sell order.