Announcement

Collapse
No announcement yet.

eSignal Crashes

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

  • eSignal Crashes

    I have a second eSignal Premier subscribtion only serving for alerts of an efs study running on various advanced charts, each with a different symbol.

    However, when I reach about 110-120 such charts, eSignal crashes. I don't need to see these charts but only the "Triggered Alert List" window with its alarms. Is there ANY way to increase the number of charts?

    I'm using a brand new machine with 3GB ram and eSignal version 10.2.1375.1026.

    Thank you very much for your help.

    Nissan

  • #2
    Wow, that's quite a few charts! It's great to see how users stretch the use of eSignal in so many ways. Few questions for you. What version of eSignal are you on and when eSignal crashes, do you get the crash reporter with an opportunity to send that report? Or is it your PC/Windows crashing?

    I'm also curious when it crashes. Is it as you add chart 115 for example or are all the charts running and it suddenly crashes? Any addt'l description may help the programmers understand the issue better.

    Thanks.

    Comment


    • #3
      Hello Scott

      Thank you very much for your prompt reply. The following are my answers to your questions:

      I use eSignal Pro version 10.2.1375.1026. I open all charts one after the other and immediately minimize them to the "Start" bar, since I don't need to see them (I only use the alerts of the "Triggered Alert List" as inputs for my other eSignal Pro that is installed on another computer).

      Whenever I get to open and add chart no. 115 for example (sometimes it is 110, sometimes it is 120, but always in this neighbourhood), eSignal suddenly crashes (untill this point all previous charts are running OK and only when I add this last chart eSignal crashes) and an alarm window pops up titled "eSignal Pro" with a red "X" which reads "A required resource was". All icons of the main eSignal window vanish and turn blank and I can not make any one operation on any eSignal window. Unfortunately, I can not send any report. Looking at the applications window of the "Windows Task Manager" it reads that all eSignal windows are "Running" and my only way to close eSignal is to end this task here.
      This eSignal layout includes on top of the main window and the minimized charts also a "Triggered Alert List" window, and a quote window from which I open the (default) charts.

      As for the PC/Windows it does not crash and I can continue operating all other applications.

      Please let me know if you need any further info.

      Thank you,

      Nissan

      Comment


      • #4
        For what it's worth:

        I have eSignal 10.4 (the brand new one), and I too have to use multiple charts so that I can use the Alert.addToList function to build a rudimentary scanner. I only open 7 charts (not 100) and the damn thing freezes all the time.

        All these freeze-ups make me think of one thing: lack of multi-threading in the app.

        Perhaps if eSignal had some decent scanning capabilities all this multiple charts thingy wouldn't be necessary: any decent scan with at least some one hundred symbols would require some 14 charts to be open (with a max of 7 symbols per charts)...

        Comment


        • #5
          Nissan,

          We added some new developer troubleshooting code in 10.3 that might help us figure out what's happening. Can you download 10.4 and try to duplicate?

          Gekko71,

          To have only 7 charts create a crash sounds like an issue with an EFS running on those charts. Have you tried troubleshooting that code? Perhaps try to load charts w/o the formulas (as a test) and I suspect you'll be able to open quite a few w/o issue.

          Thanks.

          Comment


          • #6
            Hi Scott,

            Thanks for your reply

            The app doesn't actually 'crash' (sorry for the misunderstanding). It freezes up for a few seconds, CPU usage goes up to 60-70% (Intel Core2, 2GHz, 2GB RAM), and then resumes...

            The EFS is not very intensive. The real processing only happens once per new bar and with only 7 symbols to process i don't think it puts too much strain... Having said that since i'm not familiar with the scripting engine i'd be more than happy to send you the EFS and you can tell me if there's any issue with it...

            Thanks

            Max

            Comment


            • #7
              Nissan,

              One of our engineers already happened upon this thread and was able to duplicate the issue you describe as he approached opening 120 charts. They'll look to address it in the 10.5 release (current ETA is June) so no need for addt'l testing on your end.

              Max,

              I'll PM you with an email address to send the EFS routines and your layout.

              Thanks.

              Comment


              • #8
                Scott

                This happens to me ALL the time. I do not have 120 charts, only 7 or 8, a dashboard with about 15 rows and 2 timeframes, 2 quote windows with a total of aout 30-40 ETFs that I track.
                Under normal circustances, eSignal runs fine - no issues. But during heavy volume times (such as this morning) and during news announcements like Fed decision, the app freezes and you'd have to wait minutes before it resumes.
                Additionally, a chart with a very heavy volume stock like C or SPY, you can pretty much forget it - it is constantly freezing for several minutes.
                This has been an issue for a long time and has never been resolved - I download every new version in the hopes that it was addressed, to no avail. I am currently using the latest 10.3. I'll upgrade to 10.4, but I have a feeling I will get the same result.

                Thanks,
                Alex

                Comment


                • #9
                  shadowfax,

                  Do you have any custom EFS attached to your charts?

                  I'm trying to reduce the amount of arguments I pass to my custom EFS's to see if that makes any difference

                  Comment


                  • #10
                    Originally posted by shadowfax
                    Scott

                    This happens to me ALL the time. I do not have 120 charts, only 7 or 8, a dashboard with about 15 rows and 2 timeframes, 2 quote windows with a total of aout 30-40 ETFs that I track.
                    Under normal circustances, eSignal runs fine - no issues. But during heavy volume times (such as this morning) and during news announcements like Fed decision, the app freezes and you'd have to wait minutes before it resumes.
                    Additionally, a chart with a very heavy volume stock like C or SPY, you can pretty much forget it - it is constantly freezing for several minutes.
                    This has been an issue for a long time and has never been resolved - I download every new version in the hopes that it was addressed, to no avail. I am currently using the latest 10.3. I'll upgrade to 10.4, but I have a feeling I will get the same result.

                    Thanks,
                    Alex
                    Hey Alex,

                    Thanks for the report of the state of your eSignal experience. In order to try to replicate what you are seeing, we'd need to better understand what hardware you're running on, what studies you're using and what intervals you're tracking on your chart. Once you are using 10.4, if you are still still seeing the problem, drop me a PM with your username (use the Send PM button below,) and we can delve deeper into matter.
                    Regards,
                    Jay F.
                    Product Manager
                    _____________________________________
                    Have a suggestion to improve our products?
                    Click Support --> Request a Feature in eSignal 11

                    Comment


                    • #11
                      Hi Scott,

                      Thank you for your reply.

                      I am glad to hear that you wiil address this problem in the 10.5 version and now impatiently waiting for June.

                      Thank you again for your support.

                      Nissan

                      Comment


                      • #12
                        Jay

                        I will test it today with 10.4. I'll also test it with only one chart of SPY and my minumum EFS scripts that I need for my trading.

                        Thanks,
                        Alex

                        Comment


                        • #13
                          Hi All,

                          Here's what I've done to try to fix the problem:

                          I've taken all the arguments that were passed to the main() function and put them all in a config file leaving only the bare minimum (2 or 3 as opposed to 10 or 15). The file is parsed in preMain() only once and the rest of the time the function call is really light.

                          This has definitely improved performance. No more freeze-ups... so far!

                          Comment


                          • #14
                            Parsing Parameter File

                            Could you please publish the code you used to parse the config file?
                            Are you using the Windows DLL for this purpose
                            Thanks.

                            Comment


                            • #15
                              Hi

                              Here's how I did it

                              First off I put together a config file. There's no 'official' format for it so it's up to you

                              PHP Code:
                              #Name:"Alert DMI"; 
                              #DILength:14;  
                              #ADXLength:14;  
                              #ADXRLength:14;  
                              #MALength:20; 
                              #MAType:E;  
                              #playAlertSound:true;  
                              #alertSoundPath:"c:\program files\eSignal\Sounds\Warning.wav"; 
                              #END# 
                              I called that 'AlertDMI.config', and saved it in the FormulaOutput directory (you can create subs there if you want to keep it neat)

                              Then in the EFS file I created 2 functions to handle the config file content:

                              Code:
                              function readConfig(configFile) {
                              
                              	if(configFile == null || configFile == "") return;
                              	
                              	var SEPARATOR 	= ":";
                              	var END_OF_LINE = ";"
                              
                              	var file = new File( configFile ); 
                              	
                              	if( file.exists() ) { 
                              		
                              		file.open("rt"); // readonly
                              	   
                              		var sLine 		= null; 
                              		var iSepIndex 	= -1;
                              		var iEOL		= -1;
                              		
                              		while( !file.eof() ) {  
                              			
                              			sLine = new String(file.readln());  
                              			
                              			if(sLine == "#END#") break;
                              			
                              			iSepIndex 	= sLine.indexOf(SEPARATOR);
                              			iEOL 		= sLine.indexOf(END_OF_LINE);
                              			
                              			if(iSepIndex > -1) {
                              				
                              				var name 	= sLine.substring(0, (iSepIndex));
                              				var value 	= sLine.substring((iSepIndex + 1), iEOL);
                              				
                              				writeProperty(name, value);
                              			}
                              				
                              		} 
                              		
                              		file.close(); //don't forget to close the file
                              	}  
                              }
                              And

                              Code:
                              function writeProperty(name, value) {
                              	
                              	switch(name) {
                              			
                              		case "#DILength":
                              			iDILength = new Number(value);
                              			break;
                              		
                              		case "#ADXLength":
                              			iADXLength = new Number(value);
                              			break;
                              		
                              		//.... MORE LINES HERE
                              		
                              	}
                              	
                              }
                              Then I called the first function from preMain()

                              Code:
                              function preMain() {
                                  
                                  setPriceStudy(true);
                                  setShowTitleParameters(false);
                              	setStudyTitle("DMI Alerts");
                              	
                              	var sSymbolListSource = new FunctionParameter("sSymbolListSource", FunctionParameter.STRING);
                              	sSymbolListSource.setName("Symbol List Source File" );		
                              	sSymbolListSource.setDefault("INFO/filename.txt"); 
                              	
                              	readConfig("CONFIG/AlertDMI.config");
                                  
                              	askForInput( "DMI Alerts" ); 
                              }
                              And that's pretty much it. You just have to create a bunch of global vars to hold the values assigned in writeProperty(name, value)

                              Hope this helps

                              Max

                              Comment

                              Working...
                              X