Announcement

Collapse
No announcement yet.

Symbol data library, SymbolData.efslib is available containing symbol specific data.

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

  • Symbol data library, SymbolData.efslib is available containing symbol specific data.

    This library was written by Steve Meyer over 10 years ago which was before the Autotrading Class libraries/functions utilized in the sample EFS_AT provided by eSignal.

    I recently came across it again and though it might be useful for others to use. I have several strategies that actually utilize the library to calculate and display the running Profit and Loss on the chart which can be useful.

    This requires information such as mintick, point value etc that is easily maintained in the SymbolData.efslib.

    I am not a developer and barely hack out my back testing and autotrading strategies. I worked in IT my entire career however and worked with, for and had working for me at times a number of developers. Steve is one of the best I've ever had the pleasure or working with. I've seen him write programs of 10,000 lines and not only was the code elegant, beautifully documented, brilliantly designed and implemented but amazingly was comprised of hundred's of 10-20 line functions and that is incredibly difficult to achieve. This library is primarily a simple table but the functions at the bottom illustrate the point about the "functional decomposition" found throughout his code.

    The following is from the comment header section of the library which explains the functionality, hopefully someone will find it useful.

    The complete library is attached.



    //The Problem:
    //
    // For backtesting purposes and for autotrading until the EFS_AT classes/functions were available
    // it was necessary to hardcoding symbol specific information, like trade size and tick size
    // for example, was necessary.
    //
    // Loading a strategy efs into a SPY chart for example and changing the
    // symbol to ES #F without changing the hardcoded or function parameter "size"
    // variable in the EFS and realoading the EFS means the next trade fired will be for
    // 100 ES lots versus the intended 100 Share SPY $order.
    //
    // This problem is compounded when trading multiple symbols simutaneously
    // which is commonly done when autotrading. The only solution at the time this was created
    // was maintaining many symbol specific EFS's ery time consuming and
    // error prone. Especially when making minor changes to the EFS that then
    // had to be repeated many times.
    //
    // The Solution:
    //
    // Maintain all the symbol spefific data in a common table to be dynamically
    // retrieved as needed, eliminating the need of hardcoding in the Strategy EFS.
    // This library allows the same strategy EFS to be used for backtesting any
    // number of symbols. The relevant information per symbol is entered once in
    // the table of data and retrievied by a simple call to the library.
    //
    // The Implementation:
    //
    // SymbolData.efsLib
    //
    // This library contains data and functions to access the data for
    // various currency, futures, and commodity symbols.
    // You must verify the values contained in the fields are correct for
    // any symbols you use. Stock symbols should use the "default" entry
    // so you don't need to add stock symbols unless one of the values is
    // different from the "default" values.
    Attached Files
    Last edited by demarcog; 05-16-2020, 03:13 PM.
    Glen Demarco
    glendemarco@gmail.com
Working...
X