function calculate($ctx) { $where = 1; $where = "status = '" . Contract::STATUS_NEW . "'"; $real_data = RealData::get_cache(); $real_price = $real_data['amount']; $sql = "SELECT name, strike_amount, ask_amount,"; $sql .= " ({$real_price}*(1+0.1)-strike_amount)/ask_amount as level_10,"; $sql .= " ({$real_price}*(1+0.15)-strike_amount)/ask_amount as level_15,"; $sql .= " ({$real_price}*(1+0.20)-strike_amount)/ask_amount as level_20"; $sql .= " FROM " . Contract::table(); $sql .= " WHERE status = '" . Contract::STATUS_NEW . "'"; $sql .= "order by level_20 desc, level_15 desc, level_10 desc"; $ctx->ds = Db::find($sql); }