All About JavaScript - The Foundation of EFS

ICE Data Services -

All About JavaScript - The Foundation of EFS

EFS, eSignal’s formula scripting language, is an extended version of JavaScript 1.5. In addition to the core functionality of JavaScript 1.5, we’ve added custom extensions, or custom functions, that give the user specific control over the eSignal Advanced Charts. These extensions allow users to access the chart data and develop custom indicators and back testing strategies. The materials found in the EFS Function Reference folder  specifically covers our custom extensions, or EFS.

EFS2 , is the next evolution in eSignal Formula Script introduced with version 7.9.  EFS2 functions make formula writing more macro-like and easier to code.  The new EFS2 engine is backward compatible with formulas developed prior to 7.9.  Here's a list of the new EFS2 features added to the eSignal formula development environment.    

  • Multiple Time Frame support:  Built-in and custom studies may now be based on external intervals to easily create multiple-time frame studies.  Prior to 7.9, this type of study required some complex coding on the users' end because there were no automated facilities to synchronize the data between intervals.  This synchronization routine is now handled by the new EFS2 engine.  
  • External Symbol support:  In addition to external intervals, Built-in and custom studies can now be based on external symbols.  The time stamp synchronization routine between the two symbols is also handled by the new EFS2 engine.
  • Built-in Studies enhanced:  The EFS2 Built-in Study functions have been simplified to require fewer parameters and quicker access to each of their return values.
  • Study-on-Study formulas simplified:  The process for creating study-on-study formulas using the Built-in Studies has also been simplified to require less code.  The Built-in Study functions now accept custom studies as the price source as well.  The custom studies may be coded internally to the formula or they can be separate complete formulas.
  • Drawing Functions enhanced:  New simplified drawing functions have been added, which have a new Location parameter that allows the EFS2 engine to automatically position the graphics in the user selected location.
  • Function Libraries:  This is a new feature introduced with EFS2 that allows developers and users to create libraries of custom functions.  These functions can be accessed by any formula with a single line of code similar to how any of the current EFS functions can be used.
  • EFS2 ToolBox:  This is a new tool in 7.9, accessible from the tool bar in the EFS Editor.  The ToolBox lists all available EFS functions with descriptions for each parameter.  This tool assists the user with the proper setup and selections for each of the functions' parameters, which can then be inserted directly into your formula code.  Function Libraries may also be setup to appear in the ToolBox as well.

To learn more about the new EFS2 functions, please take a look at the EFS2 Reference material.  The EFS2 reference material is also accessible from the tool bar in the EFS Editor (version 7.9 or later).

If you are interested in writing custom formulas and are not already familiar with JavaScript, we highly recommend that you familiarize yourself with this fairly straightforward, yet powerful language. To learn more about core JavaScript, please visit the following links to the Core JavaScript 1.5 folder.

Core JavaScript 1.5 Resources:

JavaScript for EFS Video Series Nearly 6 hours of video tutorials that covers core JavaScript concepts plus many tips and tricks for programming with JavaScript.
Core JavaScript Guide 1.5 - This guide covers all the specific details to begin learning core JavaScript 1.5.
  Chapter 1 JavaScript Overview
  Chapter 2 Values, Variables, and Literals
  Chapter 3 Expressions and Operators
  Chapter 4 Regular Expressions
  Chapter 5 Statements
  Chapter 6 Functions
  Chapter 7 Working with Objects
  Chapter 8 Details of the Object Model
Core JavaScript Reference 1.5
JavaScript Kit - Tutorials
JavaScript Kit - Advanced JavaScript Tutorials