Announcement

Collapse
No announcement yet.

Changing symbol in one chart causes another chart to restart script!!!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Changing symbol in one chart causes another chart to restart script!!!

    There seems to be interdependence between charts when one chart has a symbol that matches a symbol accessed via "sym()" in another chart.

    I've not yet fully defined the exact circumstances in which this occurs, but cause of the difficulty in doing so here is what I know so far in case anyone can shed light on the issue.

    In more detail, but there is more to it as I can't always reproduce it...
    * Chart "A" (15mins) has, say, "HBOS-LON" in it and a formula that I wrote that accesses, say, "ICI-LON" (via "sym()", various values such as price and mas are accessed).
    * A little later (this doesn't seem to happen if you do the next step immediately)...
    * In Chart "B" (15 mins), which has NO studies (ie certainly not mine), I load "ICI-LON".
    * I now see the Chart "A" formula go through it's whole cycle (ie BARSTATE_ALLBARS and reprocess all the bars, as if it were restarted).

    Why????

    It simply isn't reasonable that one chart should affect the other.
    One consequence is that my alerts in Chart "A" get refired.
    Another is that there is an extra delay.

    Can anyone throw any light on this please. What are the exact triggers and can it be avoided?

    Thanks

  • #2
    _

    Hello Dave,

    Check to see if you are using a Dynamic time templates in chart B. Depending on the amount of data that is loaded in chart A, chart B can generate a history request to load the corresponding data for chart B based on it’s time template settings. This history request is what triggers a reload of the formula using sym() or inv(), which is a default behavior of the application. You may be seeing this reload infrequently depending on the amount of data that was previously loaded in chart A. If the action in chart B does not require any data older that what has already been loaded by the application, the secondary request to the servers will not occur. The solution is to avoid using Dynamic time templates. Try using time templates that specify a set number of bars to load for both charts A and B. Hope this helps.
    Jason K.
    Project Manager
    eSignal - an Interactive Data company

    EFS KnowledgeBase
    JavaScript for EFS Video Series
    EFS Beginner Tutorial Series
    EFS Glossary
    Custom EFS Development Policy

    New User Orientation

    Comment


    • #3
      Hi Jason,
      I don't think this is the problem as:

      1) I have already heavily cut the data overhead by specifying small bar counts, but I'll check I haven't missed any dynamics. However it is probable that Chart "B" loads more bars than "A".

      2) If I run two copies of eSignal (with the charts split between them), the problem disappears. So I do have a bit of a workaround. Does this also mean for sure we don't have a "history request"-based cause?

      3) Even so, it's not clear to me why the data requirements of one chart should affect another. Just because I load data into "B" why should chart "A" redraw?

      Thanks for the other replies, I'll be back to them in due course.


      Dave

      Comment


      • #4
        I see that the manual entries for sym() and inv() caution that the use of Dynamic templates in other charts can lead to this effect.

        I think the manual entries are deficient in that Dynamic is not the point. As far as I can see, all that is needed is another chart with more bars. This can occur if a chart is loaded with / changed to a fixed template which specifies a greater number of bars than exist in the sym() / inv () series.
        Could the manual entries reflect this?

        Dave

        Comment

        Working...
        X