How trade engine works?
You can code a trade engine in language like C++ or any other which ever is suitable for you. What actually happens in the back-end is an script keeps on repeating after particular interval for new trades or deposits that script can be coded in any language which can communicate with the database. Following is the example of a PHP script which checks for new trades and then update the database if any new trade took place: 

&lt;?
$sell = mysql_query("SELECT * FROM trades WHERE `From`&lt;&gt;`Type` LIMIT 1000000000000");
$num = mysql_num_rows($sell);
echo $num;
for ($i = 0; $i &lt; $num; $i++) {
$id = mysql_result($sell,$i,"Id");
if($id != 0)
{
    $trade = new Trade($id);
    $trade-&gt;GetEquivalentTrade();
    $trade-&gt;ExecuteTrade();
}
}
?&gt;