Easylanguage Essentials

  

EasyLanguageProgrammer.org is trying to bridge the gap between traders seeking help with custom programming and the programmers. This does not only go for Multicharts or Tradestation, but for Ninjatrader, Metatrader, eSignal and every other trading platform.

  1. Numberjuani, a Price Series Provider can provide data from other symbols without physically adding this data stream to your chart. You can find a lot of example codes in the official forum that should get you going. Regards, ABCTG Is there any documentation out there you are willing to direct us on the psp? I got the Easylanguage essentials, but says nothing of newer additions like data.
  2. EasyLanguage is an easy-to-learn, but powerful, computer programming language for creating technical in-dicators and trading strategies for the TradeStation trading platform. EasyLanguage is designed by traders, for traders, to de scribe trading ideas to a co mputer in plain English-like.
  3. To do this we will use the reserved word in easylanguage “TestNew”. The indicator will follow the trend of a 14-period RSI and will signal the OverBought and OverSold areas. Insert the Lenght for the RSI calculation – 14 is the standard value.
EasyLanguage
Filename extensions.eld
Influenced by
Pascal[1]

EasyLanguage is a proprietary programming language that was developed by TradeStation and built into its electronic trading platform.[2] It is used to create custom indicators for financial charts and also to create algorithmic trading strategies for the markets. External DLL's can be referenced using EasyLanguage which greatly extends its functionality.

The language was originally intended to allow creation of custom trading strategies by traders without specialized computer training. Simple practical commands may consist of regular English words, which makes some of the basic elements of EasyLanguage more intuitive to learn than more complex programming languages.[3]

Easylanguage Essentials

Example:

  • Plain English: 'If the close is greater than the high of 1 day ago, then buy 100 shares at market.'
  • EasyLanguage: 'if the Close > the High[1] then Buy 100 shares next bar at market;'
Easylanguage essentials login

While rudimentary commands can be executed using plain language expressions, computer programming experience is generally required to take full advantage of the more sophisticated algorithmic features of Object Oriented EasyLanguage (OOEL), which has been influenced by Object Pascal, C#, and C++ and makes extensive use of classes and dynamic-link libraries.[4]

References[edit]

Easylanguage

Easylanguage Essentials Book

  1. ^'EasyLanguage® Books'.
  2. ^'Archived copy'. Archived from the original on 2009-11-21. Retrieved 2009-11-26.CS1 maint: discouraged parameter (link) CS1 maint: archived copy as title (link)
  3. ^Easylanguage: domain specific language for trading stocks (2007-04-16), Lambda the Ultimate: The Programming Languages Weblog
  4. ^'OOEL'. Retrieved 2021-02-26.CS1 maint: discouraged parameter (link)

External links[edit]


Retrieved from 'https://en.wikipedia.org/w/index.php?title=EasyLanguage&oldid=1013651056'

TradeStation EasyLanguage Tutorial
Multiple Output Functions
In this TradeStation EasyLanguage Tutorial we will show one of the most powerful methods in TradeStation EasyLanguage, which is developing multiple–output functions using by ref parameters. This concept allow you to write very reusable functions and we will use several TradeStation functions in our example.

A basic user function framework

Easylanguage Essentials Online

User functions are used to make reusable calculations, for example to calculate indicator values, sorting, and so on. User functions have input parameters. These parameters can be either input parameters or input/output parameters. These parameters can also have various types. Some of these types are NumericSimple, NumericSeries, NumericRef, StringSimple, numericarrayref, numericarray, and StringRef.

A function can return a single value, but when we use byref, we can return many values from a function. Let’s look at several function shells. ByRef passes the memory address of a variable which we can then fill the contents of that memory address within the user functions. That is how byref works. Normal parameters, such as NumericSimple, NumericSeries, and Stringsimple all just copy the contents to an address on the function stack. This means it can copy data into the function but can not modify the values that are passed in. Only the variable types with Ref suffix can be modified.

Easylanguage Essentials 2

Let’s first look at a simple moving average function:

Easylanguage Essentials

We can see that we can pass a price series. This series can be a scalar or a system for example Close, High or (Close+High+Low)/3 which would be a scalar which will be passed though and converted to a numeric series. We also have the Length parameter which is a simple numeric value. Another interesting thing about this function is the use of the error trapping routine for divide by zero.

Let’s now look at a simple example of using input/output variables.

This is a very powerful concept. In TradeStation, the best example of how to use this concept is in the linear regression functions:

This function gives us all of the variables that are used in regression models. Let’s look at the inputs for this function:

We can see that we can predict any number of bars in the past or future, we can return the slope, angle, intercept and the value. This allows this one piece of code to be used for many wrapper functions as well as in more complex models and systems and only do these calculations once. Let’s look at an example of how TradeStation used this in a wrapper. Let’s first look at the complete linear regression function.

Easylanguage essentials download

We will now create a linear regression slope function which uses the multiple output function from above. This is an example of creating these super functions and using wrappers to use them for multiple purposes.

Easylanguage Essentials Download

I hope this tutorial has explained how to use byref and make functions which return multiple outputs and how they can be used to simplify developing complex code and make valuable reusable functions.