Announcement

Collapse
No announcement yet.

EFS Linetools Q/Request

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

  • EFS Linetools Q/Request

    Hi All,

    When using linetools in EFS (addLineTool()) is there a way to make the lines drawn by the EFS persistent? I want them to last through iterations of reloading the EFS and restarting eSignal. Just as happens with real linetools.

    If not, can this be added to addLineTool as an optional parameter?

    Thanks!

    Garth
    Garth

  • #2
    What you are saying is that the trend line your efs drew as part of your analysis yesterday should also show up today instead of having to draw them all over again, right?

    Personally, I would think it would be tough to integrate into efs, but you are much more familiar with what could be done with efs than I.

    If I were you, I would save these to a file in post main and reload them in an ALLBARS conditional

    if (getBarState() == BARSTATE_ALLBARS) {//true once during initial load and subsequent reload
    loadDef2();//loads all saved default flags
    load_Trade_Arrays();//loads all of todays saved trades
    }


    Here is what I do in by automated code. During development, I would get a buggered up if I had to reload the efs, so I wrote this. If I turn off the efs, or reload it for some reason, the position information is saved (provided dynaorder is connected)edit - dynaOrder is no longer maintaining this software as of 9/2/2006 .

    Just an idea, but I think it would work well in your case, especially if you save the points as an array or even better an array of objects.

    PHP Code:
    function postMain() {

        if (
    DynaOrder_Status[0][0] == 1){
            
    storeDef2();//function which saves all default flags
            
    Save_Trade_Arrays();//function which saves all of todays trades
        
    }
        else {
        
    //if(debug)debugPrintln("");
        //if(debug)debugPrintln("#############################################");
        //if(debug)debugPrintln("DO is not connected, therefore, position information is not being saved");
        //if(debug)debugPrintln("#############################################");
        //if(debug)debugPrintln("");
        
    }


    Regards,
    Last edited by Guest; 09-02-2006, 06:10 PM.

    Comment


    • #3
      Steve hit on the solution

      You have to use a routine to store this information to a file, then reload it when you restart your EFS.

      I have done something similar (marking certain bars with information, then reloading the efs causes the file to be read and the historical bars to be re-marked). This is something you can do if you put a little time into it.

      B
      Brad Matheny
      eSignal Solution Provider since 2000

      Comment


      • #4
        Thanks Steve and Brad,

        I was trying to avoid these solutions for three reasons:

        1) I'm lazy
        2) and more importantly - this will still mean if I do things like change time frames that I will have to determine how to redraw the linetool rather than have eSignal take care of it automagically. I guess this is partly #1 again really ;-)
        3) Use deleting said drawn lines would be impossible to feed back into my EFS script. So once drawn they will either always be there (with the file idea), or only there once (the way it works by default.

        Clearly the addLineTool gives us access to the exact same functions that drawing with the tools give us. We should have some options to take advantage of their persistance through iterations and intervals - as well as the ability to take advantage of the move, delete etc features that are part of linesTools.

        Garth
        Garth

        Comment


        • #5
          I only wish this was possible! I would just like to find an efs that I could use mouse clicks to draw lines.

          Fibbgann
          Excellent book on JavaScript for beginners

          Comment


          • #6
            you could use the mouse function to feed into efs, then have each line on the chart represented by a line y = mx+b, then if the line intersects the mouse click within a tolerance, delete the line. I know it is against tenent #1, but I've been working on something similar, it could be done. Here's the link for intersecting lines.

            Regards,

            Steve

            Comment


            • #7
              Hi Steve,

              Thanks for the reply and the link.

              Yes, I could replicate all the code eSignal already has to duplicate the functionality that they already offer. Of course it would run more slowly and take up more resources - but it would be so much easier if they just allowed linestools drawn by an EFS to function as if a user drew them. And I bet it wouldn't even be hard for them to implement it...

              So I might have to bite the bullet here and sink a few days into doing this, and a few more finding all the bugs. The meat of the code, that does the work of calculating the lines took me about 1 day to code and will be 1/2 the size and is unique...not a duplication.

              It starts to become silly if 90% of my code becomes how to deal with the UI...that is what the lower level support functions should supply so that I can focus on

              Anyway...clearly I will need to go directly to the developers with this request as there has been no official eSignal reply to this.

              Please don't take this as a tirade against you...I do appreciate your suggestions. I'm just trying to get what I consider broken fixed. Esp since it should be a trivial fix on eSignals part.

              Garth
              Garth

              Comment


              • #8

                Comment

                Working...
                X