EasyLanguage Tutorials for TradeStation
The following free EasyLanguage tutorials provide a way to learn TradeStation’s EasyLanguage programming language using a mixture of detailed instructions, screen prints, and videos. There are tutorials on creating TradeStation indicators, strategies, show-me studies, and paintbar studies for charts, RadarScreen and the Scanner. Consider joining Gold Pass for more training information.
In addition to the tutorials on this page I have started a series of ‘quick-tips’ tutorials. These tutorials are shorter and normally just cover one concept.
1. How to develop a simple Show Me study
3. Create a moving average indicator and output values to text file for spreadsheet analysis
4. Draw a trendline based on stochastic divergence
5. Create a modified CCI indicator, including fast, slow and zero lines
7. Using arrays in EasyLanguage
8. Develop a simple EasyLanguage function
9. Modifying a simple EasyLanguage function to return multiple values
10. How to develop a simple PaintBar study
11. How to develop a simple strategy
12. Develop an indicator for RadarScreen
13. Create an auto Pivot based support and resistance indicator
14. Send e-mails from TradeStation based on a candlestick pattern ShowMe study
15. Show Fibonnaci ratio pivot relationships on a chart using arrays
17. A simple strategy – based on CCI zero bounce
18. Modifying the CCI indicator to factor in underlying volume
20. Using TradeStation’s Analysis Commentary Capability
21. Understanding the Tradestation Pivot function
22. Creating a PaintBar study to highlight candlestick patterns
23. Creating a 3 line break (3LB) indicator to apply to normal candlestick charts
24. Creating a ‘pseudo bounded’ volume oscillator in TradeStation EasyLanguage
25. ‘Smoothed’ indicators and ‘additional bars to be loaded’
26. An improved price – stochastic divergence indicator
27. Creating a new modified pivot function
28. Understanding Intrabarpersist variables
29. Create a dynamic rectangle using EasyLanguage.
30. A simple demonstration of IntraBarOrderGeneration in TradeStation EasyLanguage strategies
31. An introduction to basic EasyLanguage syntax, e.g. when to use of commas, semi-colons and colons
32. How to create a daily moving average on an intraday chart
32a. Daily average on an intraday chart using either day or session breaks
33. Close of day on ‘continuous’ charts
35. Displaying higher time frame dojis on a lower time frame chart.
36. Using the Global Variable DLL to transfer information from Radarscreen to a chart
37. Creating a show me study to show divergence between price and a stochastic
38. Using the ADE DLL (Dynamic Link Library to Derive ‘Big Bars’)
39. How to restrict parts of a program to only run between two specified times
40. Create a Bollinger Band program where the upper and lower bands are fixed and price
41. When to set a condition within an If…Then construct
42. How to draw lines and text on a chart using TL_New and Text_new
43. How to import a Tradestation ELD file
44. How to create drawing objects on a sub graph
45. Draw high of previous day (or a specified period) on a chart
46. What is an Intrabarpersist variable and how to use it
47. Adding a new data element to an EasyLanguage Array
48. How to create a program to calculate and draw linear regression lines
49. Create a linear regression channel
49-2. Linear regression using just today’s bars
50. Create a linear regression function that draws linear regression line and returns slope value
51. Using data from multiple data streams in a strategy
52. Keeping track of pyramid trades
54. Indicator that draws lines based on Average True Range (ATR) and yesterday’s closing bar
55. Drawing lines on chart based on a volume ratio
56. How to draw pivot points from the previous day
57. Clarifying logical operators by using parentheses
58. Drawing text objects based on RSI values
61. A beginner level tutorial explaining the options available for coloring plot lines
62. Finding extreme values (e.g. what was the highest high in the last five bars)
63. Looking for CCI Trend Line Breaks Using Radarscreen
64. Using manually drawn lines in EasyLanguage programs – part 1
65. Using manually drawn lines in EasyLanguage programs – part 2
66. Adding an ADX filter to a strategy
67. How to create a ‘symmetric’ doji function
69. Creating and using a two dimensional array
70. Using the TradeStation 9.0 Global Dictionary
71. How to create a simple break out strategy
73. Finding the highest and lowest price between a start and end time
74. Introducing a strategy ‘pause’ after sequential losing trades
75. How to add divergence detection to Commodity Channel Index (CCI) trend line break program
76. Things to watch for when using strategies with line break charts
77. Plot both volume and tick data on a chart
78. A simple demonstration of the TradeStation Timer
79. How to ‘plot’ lines in strategies
80. Using SetDollarTrailing and drawing the position of the trailing stop
82. Different ways of using a condition
83. Plotting average profit for a strategy using an indicator
84. Looking for support and resistance levels
85. Drawing and keeping text on the right of a chart
86. Calculate exponential moving average using PriceSeriesProvider
87. Using the Price Series Provider update event
88. Calculating the ADX using a PriceSeriesProvider
89. How to draw symbols on a chart
90. Using EasyLanguage vectors
91. How to plot the levels of the last high and low pivots
92. Plot the last ‘N’ high pivots on MultiCharts Scanner or RadarScreen
93. Modified Bollinger bands Keltner channels with fixed upper and lower bands
94. Store vectors within vectors
95. Sorting a vector using a recursive method
96. Using the Workbook component to share information with Excel
97. Transfer real time data from an indicator to another chart
98. Bollinger band ‘squeeze’ breakouts
99. Positioning text using XYPoint
100. Building an app using the Optimizer API
101. Drawing a mark at a specified place on a chart
102. Tick profile histogram using a price series provider
103. Using XML objects to store and retrieve information in an XML document
104. Drawing trendlines using BNPoint objects
105. Drawing trendlines using BNPoint objects on a sub graph
106. Creating variable transparency horizontal lines at pivot levels
109. Plotting the duration of volume bars in seconds
109 (RT). Tutorial 109 part 2 – real time
110. Oscillation frequency histogram
111. Calculate and display total volume for drawing tool created trendlines
112. Transfer price data from a Price Series Provider applied to a chart to an Excel spreadsheet
113. Using data from an Excel sheet to update an EasyLanguage program
114. Drawing rectangle zones on a chart
114 (DT). Drawing boxes on a chart between time periods each day
114. (DT4) Drawing boxes on a chart between time periods each day WITH text label.
115. Two ways to create an alarm
116. Restarting a program at specific intervals
117. Detecting when a bar is clicked and providing bar information
118. Creating TradeStation methods with multiple outputs and inputs
119. How to use TradeStation EasyLanguage AppStorage
120. Calculate daily ATR on a minute chart (using a Price Series Provider)
121. Introduction to the EasyLanguage Dictionary class
123. Analyzing support and resistance using the dictionary class
124. Maintain a drawing object a fixed distance from a bar when scrolling
124 MC Ver. Text object and chart management | MultiCharts version
125. Finding strategy fill prices
126. Using the Market Depth Provider
127. Exponential Moving Averages with price gaps including using Price Series Providers
128. Calculating RSI for another bar span without using data 2 (using a price series provider)
130. Plotting linear regression channels
131. Using the Symbol Attributes Provider
132. Using RadarScreen like a spreadsheet
133. Displaying trade at bid and ask data using ActivityBars
134. Using TradeStation OCO and OSO order tickets
135. Creating a form to send order tickets
137. How to create a form with a combo box
138. Stochastic calculation based on a Price Series Provider
139. Create method to draw multiple charts in a form
140. Create a method to print the contents of vectors and dictionaries
142. Stop loss based on entry bar low
143. Trade size analysis using the Time and Sales Provider
144. Introduce delay to market order entry after average cross
145. Using Streamwriter & Streamreader to store and read bid/ask data
146. Create a simple Radarscreen indicator
147. Look-inside-bar-back-testing and intra bar order generation and calculation
148. Using the Global Dictionary (an example using RadarScreen)
149. Drawing arrows using drawing objects
150. Sharing data between two charts using Microsoft Excel
151. Syncing lines between two charts using the Global Dictionary
152. Creating an Advancing/Declining issues indicator for daily and minute charts
153. How to ‘convert an indicator into a function’
154. A simple Market Depth Provider tutorial
156. Import data in CSV file and draw it on a chart
157. Screening symbols without RadarScreen or Scanner
158. Replicating the CCI calculation using a price series provider
159. Replace order ticket demonstration
161. Using the Global Dictionary to transfer data from chart to chart and to RadarScreen
162. Using the Options Chain Provider and Quotes Provider
164. How to buy a specified number of ticks above the previous bar high
165. Creating to a button pause a strategy making trades
166. Automatically expand range to include a drawing object
167. Using a Price Series Provider to calculate the Average True Range
168. Calculating moving averages on RadarScreen for different intervals using Price Series Providers
169. Order ticket and bracket ticket based on a simple chart pattern
170. Looking for a chart pattern on several symbols using PSPs
171. Correlation indicator for when bars ‘missing’ from Data2
172. Missing bar correlation using a PSP
174. Markplex Centered Moving Average
175. A simple Trading Application to display an RSS feed
177. Recognizing periods of consolidation
178. Using ELCollection to share a string with another chart
179. Using AppStorage in the calculation of price change since this tutorial program first applied
181. Three Line Break on candlestick chart using a vector object
182. Highest pivot within user input number of bars
183. Controlling background color in RadarScreen
184. SuperTrend strategy framework and indicator
185. Changing the TradeStation DataTip when hovering over drawing objects
186. Inside and outside bar high and low lines
187. Draw text labels anchored to the right of the chart
188. Volume profile for user selected bars
189. Find most recent bar with low greater than current high
190. Markplex Centered Moving Average Envelope
191. Information panel based on daily data
192. Anchored VWAP (estimated)
193. ActivityBar study showing CCI zero rejection and divergence
194. Drawing vertical lines to left and right of a clicked bar
195. Storing data in multiple new CSV files created by the program
196. Scope in methods (plus convert a function to a method)
197. Storing and analyzing bar and analysis technique data in Excel
198. Multiple anchored VWAP (estimated)
199. Working with text labels programmatically
200. Saving rectangle information in CSV files
201. Annotated trend line tool
202. Calculate price to reach a user input RSI value
203. Calculate Volume Ratio in RadarScreen
204. Looking for conditions to occur within specified numbers of bars of each other
205. How to convert tutorial 23 (line break) and tutorial 173 (supertrend) into functions
206. Using the OpenFileDialog class to access file in an optimization app
207. Create order tickets based on data on an Excel spreadsheet
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.