I'm developing a number of studies that run on several charts at the same time and talk to each other via global variables and a dll for some big history arrays.
For the most part these things are working well, but there are some intermittent problems that I'd like to solve. These seem to be timing related - IOW they depend on whether or not chart one loads and runs its copy of the indicator program before or after chart five runs its copy, etc.
Q1) Is there a way to enforce the order in which things like this will communicate with your data servers?
Q2) Is there a way to make programs execute one at a time during the load phase?
Q3) Is there a way to get an efs program to start over if it reaches a particular point in its processing and finds that some required global or external data is not yet ready?
I have experimented with the "reloadEFS()" function, but it seems to prevent any other efs programs from operating while it "reloads" and therefore ends up running in an endless loop that eventually times out and closes eSignal. If I use a counter or a flag to limit the number of passes through the loop, then it doesn't do any good because, again, reload seems to block other programs as it reloads repeatedly, until it is done.
Q4) The timing problems seem OS sensitive, also. On an 800Mhz P2 with 256 MB and W2000 and a T1 Internet they are rarely a problem.
But on a 1.1 Ghz Celeron with 128 MB and WXP and a 28.8 dialup Internet they are severe. Same code, same layout.
Q5) Tips, tricks, suggestions?
For the most part these things are working well, but there are some intermittent problems that I'd like to solve. These seem to be timing related - IOW they depend on whether or not chart one loads and runs its copy of the indicator program before or after chart five runs its copy, etc.
Q1) Is there a way to enforce the order in which things like this will communicate with your data servers?
Q2) Is there a way to make programs execute one at a time during the load phase?
Q3) Is there a way to get an efs program to start over if it reaches a particular point in its processing and finds that some required global or external data is not yet ready?
I have experimented with the "reloadEFS()" function, but it seems to prevent any other efs programs from operating while it "reloads" and therefore ends up running in an endless loop that eventually times out and closes eSignal. If I use a counter or a flag to limit the number of passes through the loop, then it doesn't do any good because, again, reload seems to block other programs as it reloads repeatedly, until it is done.
Q4) The timing problems seem OS sensitive, also. On an 800Mhz P2 with 256 MB and W2000 and a T1 Internet they are rarely a problem.
But on a 1.1 Ghz Celeron with 128 MB and WXP and a 28.8 dialup Internet they are severe. Same code, same layout.
Q5) Tips, tricks, suggestions?
Comment