I've knocked up a slightly better schematic of what I think you're trying to achieve. In principle it could work but there are serious problems.
Naturally you realise that you can't turn on all four displays at the same time. There are two reasons for this.
Frstly, since all four displays share a common databus, they would all show an identical output.
Secondly, it would overload the opto issolators that are driving them.
(the opto issolators output are rated to an absolute maximum of 60 ma.
each SEGMENT of the display consumes 20ma 3 bars and you're out)
The way you can work around this is by time multiplexing
ie first turn on one digit, then turn it off and turn on the next digit.
If this is done at around 50 times per second, to the human eye it looks like all four digits are being displayed.
The problem comes with the opto-issolator that is driving the cathodes of each digit. This will have to handle the current for all 7 segments (and the decimal point) so if you ever wanted to show a floating number in the range of 8. something, you'd have 160ma being pushed through an opto-issolator that is only rated at 60ma
With a few mods this could work but it would need quite a bit of redesigning
Although I've drawn it a bit neater, i firmly believe this circuit will fail in it's current form.