Skip to content

Tutorial 117 | Detecting when a bar is clicked and providing bar information

Using the ChartingHost class to detect when a bar is clicked

A Gold Pass member asked me whether it is possible to insert a strategy into a chart after a bar is clicked. It is actually quite easy to do this in TradeStation using the ChartingHost class and a macro, although I suspect it is not something that would have a widespread application. However it may be more useful to be able to output the bar number of a bar that was clicked, as well as its date and time. For example, if you were trying to debug a program applied to a chart which contained a lot of history, it would be convenient to be able to click on a bar to get its bar number and date time signature.

Of course, the other purpose of this tutorial is to attempt to explain programming constructs. In tutorial 111 we used the ChartingHost to detect when we clicked on drawing objects and calculated the cumulative volume for the bars encompassed by the trend lines (trend line volume) for trend lines drawn using the TradeStation drawing tool. This tutorial detects when we click a particular bar and also provides information about the bar we clicked.

TradeStation EasyLanguage coding lessons

In the tutorial videos and the program comments you will learn:

  • How to use the ChartingHost to detect when a specific bar is clicked
  • How to get the bar number and date time information from the bar
  • How to find the bar date time for a tick bar which is still developing when it is clicked
  • Working with DateTime objects
  • The use of a namespaces
  • Using the toolbox
  • Accessing the DateTime value for bars. This allows us to find the seconds component of the time which is not available in the Time keyword
Tutorial 117 applied to a 300 tick eurusd chart
Tutorial 117 applied to a 300 tick eurusd chart

The EasyLanguage DateTime class used in this tutorial defines the structure for an object that provides information about the system date and time. It is not be confused with the EasyLanguage datetime, a double precision decimal value that represents the combination of a Julian Date and time using the standard Window Date format (i.e. day.time).

TradeStation EasyLanguage coding lessons

In the tutorial videos and the program comments you will learn:

  • How to issue a RecalculateException
  • How to create a Timer object
  • Working with DateTime objects
  • Finding the number of milliseconds in a timespan
  • Setting up recurring alarms with the timer
  • The use of a namespace (Using Elsystem; ) so that classes, methods, properties, and events can be referenced  without the namespace.name as an explicit qualifier

Please see the video below for more information.

Tutorial 117 download

Tutorial 117 is available for IMMEDIATE download for $19.95 by clicking the ‘add to cart’ button. After download the program can be opened, you will be able to see the program code and modify it if you wish. After purchase you will be redirected to a download page, so don’t close the browser.

The download ELD includes _Tutorial117 an EasyLanguage show me study

Note: The program name begin with an underscore, so it will be towards the start of the list if you sort alphabetically.

Tutorial 117 was developed for TradeStation 9.5 (update 15) and, unfortunately, will not work with MultiCharts.

Video demonstration of tutorial 117

If you notice any errors or have comments or questions about the tutorial, please email me.

THESE INDICATORS, SHOW ME STUDIES, STRATEGIES AND OTHER PROGRAMS HAVE BEEN INCLUDED SOLELY FOR EDUCATIONAL PURPOSES.

TO THE BEST OF MARKPLEX CORPORATION’S KNOWLEDGE, ALL OF THE INFORMATION ON THIS PAGE IS CORRECT, AND IT IS PROVIDED IN THE HOPE THAT IT WILL BE USEFUL. HOWEVER, MARKPLEX CORPORATION ASSUMES NO LIABILITY FOR ANY DAMAGES, DIRECT OR OTHERWISE, RESULTING FROM THE USE OF THIS INFORMATION AND/OR PROGRAM(S) DESCRIBED, AND NO WARRANTY IS MADE REGARDING ITS ACCURACY OR COMPLETENESS. USE OF THIS INFORMATION AND/OR PROGRAMS DESCRIBED IS AT YOUR OWN RISK.

ANY EASYLANGUAGE OR POWERLANGUAGE TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (AND PARTS THEREOF) AND ASSOCIATED TECHNIQUES REFERRED TO, INCLUDED IN OR ATTACHED TO THIS TUTORIAL OR PROGRAM DESCRIPTION ARE EXAMPLES ONLY, AND HAVE BEEN INCLUDED SOLELY FOR EDUCATIONAL PURPOSES. MARKPLEX CORPORATION. DOES NOT RECOMMEND THAT YOU USE ANY SUCH TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (OR ANY PARTS THEREOF) OR TECHNIQUES. THE USE OF ANY SUCH TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS AND TECHNIQUES DOES NOT GUARANTEE THAT YOU WILL MAKE PROFITS, INCREASE PROFITS, OR MINIMIZE LOSSES.