EasyLanguage Tutorial 185 | Changing the TradeStation DataTip when hovering over drawing objects
  • 2 years ago
Tutorial 185 is built around a TradeStation EasyLanguage PaintBar study (_Tutorial185-Paintbar) that analyzes a chart searching for rectangles that have been drawn by the user using the chart drawing tools. The program modifees the datatips dialog to add the values of the number of bars in the rectangle and the price difference between the upper price and lower prices in the rectangle. These values are only displayed when hovering over bars that are encompassed by the rectangle. The same techniques could be modified and used with other drawing objects to display other values.

The paintbar study includes a method called PlotVals( ). This method goes through the rectangles on the chart and extracts the information that needs to be plotted. It stores it in Appstorage with the key values being the number of each bar within the rectangle being analyzed. The method then throws and exception which causes the program and the data to be reloaded. The method runs when a rectangle drawing object is created or clicked. The method uses another Method (DTtoBN) to convert Datetime values to Barnumber.

In this program the exception is thrown using a macro called using Runcommand. This requires that the ‘Enable runcommand EasyLanguage keyword…’ check box is selected in the format-analysis dialog box. See Quicktip 53 for information about using RunCommand and this macro: https://markplex.com/free-tutorials/tradestation-easylanguage-quicktips/quick-tip-53-how-to-modify-tutorial-116-to-reload-the-data-at-intervals/

For every bar on the chart the program checks to see whether there is a value stored in AppStorage for that bar, if so the number of bars in the rectangle and the price difference between the top and bottom of the rectangle are parsed using a TokenList and then plotted.

Appstorage
==========
AppStorage is a Dictionary of name-value pairs that is persistent when an analysis technique is re-verified, has its
inputs modified, or re-runs for another reason (such as when it is disabled by the user temporarily, and then enabled again). This means that when the exception is thrown the values persist in the Appstorage and can be plotted.

Values that are stored in AppStorage are saved when the workspace is saved.

More information can be found about Appstorage in Tutorial 119. See https://markplex.com/free-tutorials/tutorial-119-storing-chart-data-appstorage/

For more information about this tutorial, visit: https://markplex.com/free-tutorials/tutorial-185-changing-the-tradestation-datatip-when-hovering-over-drawing-objects/
Recommended