Draw rectangular zones on a chart using input data
Tutorial 114 demonstrated how to use the rectangular drawing tool to draw colored boxes or zones on a chart. The rectangles were drawn across the total width of the chart and used BNPoint (bar number point) objects to position the rectangles. The tutorial builds on tutorial 114 but demonstrates how to draw boxes between particular times each day. Rather than using BNPoint objects, it uses DTPoint (datetime point) objects.
Drawing boxes might be useful if you wished to highlight trading activities and levels between certain times. Alternatively, although the times and price levels in this program are specified as user inputs, you could use the techniques built into this tutorial in a more sophisticated program that calculated levels.
The tutorial was developed using TradeStation 9.5 (update 15). The tutorial is in response to a customer request.
The tutorial program uses the rectangle class with several of its properties and the create class. The tutorial demonstrates the creation of a method to create the rectangles, which is called from several places in the program. Tutorial 114 (DT) creates five boxes. In the screen grabs on this page the rectangles have been drawn at arbitrary levels.
The program is available for download for a small fee or for FREE to Gold Pass members.
TradeStation EasyLanguage coding lessons
In the tutorial video and the program comments you will learn:
- How to write a method with several inputs
- How to use the rectangle class
- How to create a DT (DateTime) point
- How to extend the rectangles to the right
- Setting the end point of a rectangle
- How to vary the transparency of the rectangles
- How to draw historic and future rectangles on historic and real-time bars
- Specifying and using time to seconds accuracy
- Converting date and time into DateTime objects
One of the problems in developing this program is that, while it is easy to draw the boxes historically, drawing them in real time requires extra care. The end point may not be visible on the chart and hence has to be managed with the end point being set when that bar appears on the chart. So, for example, assume one of our time periods begins at 1200 and ends at 2000, but when the program is applied to the chart only the period from 0900 to 1500 is visible on the chart. The program starts drawing the zones at 1200 but initially extends to the right (because we can only see up to 1500). As the day progresses bars beyond 1500 appear and these are encompassed by the zone (because it is extended to the right), however, at 2000 the program sets the extend to the right attribute to FALSE and sets the end time of the box to 2000.
Please see the video below for more information.
Version: 9.5 (Update 15). There are major problems with update 14 running under Windows 10 (totally unrelated to this tutorial), with TradeStation continually crashing whenever I tried to open a workspace or to create a chart.
In the above screen capture, the start and end times are:
double StartTime1( 1022.29), // Start time for box 1
double EndTime1( 1457.02), // End time for box 1
These are reflected accurately on the above chart. Note: If a bar does not exit for a specific time, the zone is drawn from/to the following bar. For example, in the above image there was not a bar drawn at 1457.02, so the box was drawn to end at 1457.20.
double StartTime1( 1030), // Start time for box 1
double EndTime1( 1050), // End time for box 1
double StartTime2( 1100), // Start time for box 2
double EndTime2( 1500), // End time for box 2
double Zone1_Hi( 1.133), // The price level of the upper edge of the rectangle for the first rectangle
double Zone1_Lo( 1.132), // The price level of the lower edge of the rectangle for the first rectangle
string Zone1_Color( “Blue”), // The color of the first rectangle
int Zone1_Shading( 0), // The shading pattern of the first rectangle
int Zone1_Transparency( 100), // The alpha value of the first rectangle (between 0 and 255)
double Zone2_Hi( 1.131),
double Zone2_Lo( 1.13),
string Zone2_Color( “Red”),
int Zone2_Shading( 0),
int Zone2_Transparency( 100),
double Zone3_Hi( 1.129),
double Zone3_Lo( 1.128),
string Zone3_Color( “Green”),
int Zone3_Shading( 0),
int Zone3_Transparency( 100),
double Zone4_Hi( 1.127),
double Zone4_Lo( 1.126),
string Zone4_Color( “Goldenrod”),
int Zone4_Shading( 0),
int Zone4_Transparency( 100),
double Zone5_Hi( 1.125),
double Zone5_Lo( 1),
string Zone5_Color( “Green”),
int Zone5_Shading( 0),
int Zone5_Transparency( 100);
Note that the time can be entered either in HHMM format, eg 1615, or in HHMM.SS format, e.g. 1500.12.
Code for Gold Pass members
Gold Pass members may copy and paste the following code:
This content is for Gold Pass members only.
Tutorial 114 (DT) download
The download ELD includes _Tutorial 114 (DT) 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 114 (DT) was developed for TradeStation 9.5 (update 15) and, unfortunately, will not work with MultiCharts.
Video demonstration of tutorial 114 (DT)
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.