# Learn EasyLanguage | Free EasyLanguage tutorials for TradeStation

The following free EasyLanguage tutorials provide a simple introduction to 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.

###### Why learn EasyLanguage programming

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 (video tutorial)

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

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

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 (video tutorial).

37. Creating a show me study to show divergence between price and a stochastic (video tutorial).

38. Using the ADE DLL (Dynamic Link Library to Derive ‘Big Bars’) (video tutorial)

39. How to restrict parts of a program to only run between two specified times (video tutorial).

40. Create a Bollinger Band program where the upper and lower bands are fixed and price (video tutorial)

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

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 (beginner level tutorial)

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

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

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

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.