Skip to content

Learn EasyLanguage | Free EasyLanguage tutorials for TradeStation

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

2. The NoPlot(num) statement

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

6. Modified CCI indicator to add zero rejection notification to chart – tutorial demonstrates how to find pivot points on an indicator and how to add text to a chart

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

16. Create a strategy that creates buy/sell signals based on Candlestick patterns and stochastic crossovers

17. A simple strategy – based on CCI zero bounce

18. Modifying the CCI indicator to factor in underlying volume

19. Develop a program to calculate average volume ONLY using data between a start time and an end time.

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

34. Using ADE (All Data Everywhere) to transfer moving average information from a daily chart to an intraday chart

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

53. Create strategy filters

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

59. A simple strategy where trades are based on two events separated by up to a user input number of bars

60. CCI trend line break

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

68. Create a show me study to draw a channel between two times based on the highest and lowest bars between the times and set alerts if these lines are crossed

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

72. Using TradeStation drawing tools to draw three horizontal lines spaced according to user inputs (legacy version)

72. Using TradeStation drawing objects to draw three horizontal lines spaced according to user inputs (updated version)

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

81. Restricting a part of a program to only run between two times when the start time is today and the end time tomorrow

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

107. Setting up ‘Use look inside bar backtesting’ and ‘Enable intra bar order generation and calculation’

108. Plotting lines at day open, high/low of day, high low of user defined session, and two user specified 

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

122. Using the Stack 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)

129. Screening a list of symbols to find those where a MACDDiff zero cross and a CCI Overbought/Oversold cross occur on the same bar

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

136. Using third party data

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

141. Option Chain Provider

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

155. Custom sessions

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

160. Average volume by time

161. Using the Global Dictionary to transfer data from chart to chart and to RadarScreen

162. Using the Options Chain Provider and Quotes Provider

163. Using a price series provider to calculate and exponential moving average for a higher timeframe

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

173. Markplex SuperTrend

174. Markplex Centered Moving Average

175. A simple Trading Application to display an RSS feed

176. ‘Blend bar’ study

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

180. Text Objects Basics

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

208. Why use Methods?

209. Control bar transparency using slider object

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.