Figures from the book "TradeStation Made Easy!"

I've had requests to see the charts from my book in color. It's a great idea.
I don't have them all, but the ones I do have will be all here, in time. I'm peddling as fast as I can.
Plus, please note that if the figure shown here does not exactly match the one in the book, it doesn't matter. It will still illustrate the principle.

Chapter 1

Figure 1.1—An anonymous chart

Chapter 2

Figure 2.1—Login Screen 

Figure 2.2—Your First Chart

Figure 2.3—Menu Sequence to Start a New Indicator 

Figure 2.4—Name Your Indicator 

Figure 2.5—Your First Chart 

Figure 2.6—Pull-Down Menu 

Figure 2.7—Chart with a Moving Average Plot 

Figure 2.8—Open EZL Indicator 

Figure 2.9—Select Mov Avg 1 Line 

Figure 2.10—Your First Look at EasyLanguage Code 

Figure 2.11—Mov Avg 1 Line 

Figure 2.12—Chart withBuilt-In Indicator Selected 
Figure 2.13—Insert Indicator 
Figure 2.14—Insert Strategy 
Figure 2.15—Format Analysis Techniques 
Figure 2.16—Formatting the Strategy
Figure 2.17—Name your new strategy
Figure 2.18—Strategy on the Chart 
Figure 2.19—TradeStation Strategy Performance Report 

Chapter 3

Figure 3.1—A Big Move 

Figure 3.2—The Components of a Bar 

Figure 3.3—Comparing two trading vehicles without a scale 

Figure 3.4—Comparing two trading vehicles with a scale 

Figure 3.5—Comparing two trading instruments with the same relative scale 

Figure 3.6—Automatic Scaling 

Figure 3.7—Scaling your data 

Fig03p08 Figure 3.8—IBM and DIS scaled proportionally 

Figure 3.9—Chart Analysis Shortcut Toolbar 

Figure 3.10—Intervals 

Figure 3.11—Yellow PHW Circles on Our Data Set from Appendix H 

Figure 3.12—Drawing Menu 

Figure 3.13—Format Ellipse 

Figure 3.14—Setting Your Defaults for the Ellipse 

Figure 3.15—Maximum Ideal Profit Potential 

Figure 3.16—My Default Chart Configuration 

Figure 3.17—PHW Indicator on a Chart 

Figure 3.18—Dozens of Indicators 

Figure 3.19—Inserting an indicator 

Figure 3.20—Off-White “Paper” 

Figure 3.21—Changing the Style of Your Plot 

Figure 3.22—Format Indicator 

Figure 3.23—Changing Styles 

Figure 3.24—Chart with Thicker Plot Lines 

Figure 3.25—Exponential Moving Average 

Figure 3.26—Simple Moving Average (Close,5,10) 

Figure 3.27—Simple Moving Average (Close,2,5) 

Figure 3.28—Simple Moving Average (High,2) and Simple Moving Average(Low,21) 

Figure 3.29—Weighted Moving Average(C,9,18) 

Figure 3.30—Weighted Moving Average(C,2,5) 

Figure 3.31—Exponential Moving Average (Close,9,18) 

Figure 3.32—Exponential Moving Average (Close,2,5) 

Figure 3.33—Beginning Your Log Book 

Chapter 4
Figure 4.1—The Go Pulldown Menu showing all three modules  59
Figure 4.2_Navigating to the PowerEditor  59
Figure 4.3_TradeStation Mandatory Modules  60
Figure 4.4_Getting to the PowerEditor  60
Figure 4.5_Steps for Quick Start  61
Figure 4.6_Your First TradeStation Desktop  62
Figure 4.7_Click on the Chart Analysis Icon  62
Figure 4.8_A Chart on Your Workspace  63
Figure 4.9_Format Symbol Dialogue Box  63
Figure 4.10a_Tick Chart of DIS  65
Figure 4.10b_Volume Chart of DIS  65
Figure 4.10c_Intra-day Chart of DIS  65
Figure 4.10d_Daily Chart of DIS  66
Figure 4.10e_Weekly Chart of DIS  66
Figure 4.10f_Monthly Chart of DIS  66
Figure 4.11a_Kaji Chart  67
Figure 4.11b_Kase Chart  67
Figure 4.11c_Line Break Chart  67
Figure 4.11d_Momentum Chart  67
Figure 4.11e_Point & Figure Chart  68
Figure 4.11f_Range Chart  68
Figure 4.11g_Renko Chart  68
Figure 4.13_A Single Candle  70
Figure 4.14_Candlestick with Trend  71
Figure 4.15_Dot on Close  71
Figure 4.16_Line on Close  72
Figure 4.17_Bar Components Separate  73
Figure 4.18_Red Open  73
Figure 4.19_1929 to 2010 Linear Scale  74
Figure 4.20_1929 to 2010 Semi-Log Scale  74
Figure 4.21_Format Symbol Scaling  75
Figure 4.22_Percent Below/Above Last  76
Figure 4.23_5% Below and Above  76
Figure 4.24_Center Last Price.  76
Figure 4.25_Format Indicator  77
Figure 4.26_Changing the Line Weight  78
Figure 4.27_Color Choices  78
Figure 4.28_Format Indicator  79
Figure 4.29a_Line  79
Figure 4.29b_Histogram  79
Figure 4.29c_Point  80
Figure 4.29d_Cross  80
Figure 4.29e_Left Tic  80
Figure 4.29f_Right Tic  81
Figure 4.30a_Length=3  81
Figure 4.30b_Length=7  82
Figure 4.30c_Length=11  82
Figure 4.30d_Length=15  82
Figure 4.31_Format Alerts  83
Figure 4.32_Alert Pop-Up  83
Figure 4.33_Notification Preferences  84
Figure 4.34_Status  85
Figure 4.35_Data Compression and Time Frames  86
Figure 4.36_One Trading Year on a Daily Bar Chart  87
Figure 4.37_Data Window showing First Bar On Chart  87
Figure 4.38_Squeezers & spreaders, increase or decrease bar spacing.  87
Figure 4.39_Three Charts with Automatic Scaling  88
Figure 4.40_Three Charts Scaled from 0 to 500  88
Figure 4.41_Three Charts Scaled with a Range of 265 Points  89
Figure 4.42_Three Charts Scaled with a Range of 30 Points  89
Figure 4.43_Scaling Dialogue Box  90
Figure 4.44_User Defined Scaling on Our Chart  90
Figure 4.45_SemiLog Scaling on Our Chart  91
Figure 4.46_Format Symbol Dialogue Box  92
Figure 4.47_$INDU in Linear Scaling  92
Figure 4.48_$INDU on Semi-Log Scaling  93
Figure 4.49_IBM on Linear Scaling  93
Figure 4.50_IBM on Semi-Log Scaling  93
Figure 4.51_IBM Linear with PHW Circles  94
Figure 4.52_IBM Semi-Log with PHW Circles  94
Figure 4.53_RadarScreen with PHW Indicator  95
Figure 4.54_Back to DIS with sjh_MAV1  96
Figure 4.55_sjh_S_MAV1 Strategy  97
Figure 4.56_Format Strategies  98
Figure 4.57_Format Entries  98
Figure 4.58_Arrows  99
Figure 4.59_More Arrows  99
Figure 4.60_A Few Shapes of Entry Tick Markers  99
Figure 4.61_Configuring Arrows and Tick Markers  100
Figure 4.62_Properties for All  100
Figure 4.63_Performance Summary without Commission or Slippage  102
Figure 4.64_Performance Summary with $7 Commission  103
Figure 4.65_With Both Commission and Slippage  103
Figure 4.66_Performance Report for DIS going back 90 years  104
Figure 4.67_Simple Strategy Number One  105
Figure 4.68_EasyLanguage Dictionary Icon in the Menu Bar  105
Figure 4.69_LabBook  106
Figure 4.70_Initial Code for sjh_S_MAV1_01  106
Figure 4.71_Error Message  107
Figure 4.72_Syntax Error in the Code  107
Figure 4.73_EasyLanguage Output Bar  107
Figure 4.74_Verified Code  108
Figure 4.75_sjh_S_MAV1_01 Attempt 2  108
Figure 4.76_Format Strategies  109
Figure 4.77_Optimize Button in Lower Left  109
Figure 4.78_Optimize  110
Figure 4.79_Our First Strategy Optimization Report  110
Figure 4.80_Save the Optimization Report  111
Figure 4.81_My Log Book After Finding Islands and Alligators  111
Figure 4.82_Save the Best Tests  112
Figure 4.83_Strategy Performance Report  113
Figure 4.84_Collapsed Strategy Performance Report  113
Figure 4.85_My Lab Book  114
Figure 4.86_Strategy on Chart  114

Chapter 5
Figure 5.1-Fraction to Decimal  118
Figure 5.2-Strategy Performance Report  121
Figure 5.3_Extended Strategy Performance Report  122
Figure 5.4_Linear Scaling on the DJI 30  124
Figure 5.5_Semilog Scaling on the DJI30  124
Figure 5.6_Operators  125
Figure 5.7_First 5 Bars  125
Figure 5.8_Expressions  125
Figure 5.9_Crossover vs Greater Than  126
Figure 5.10_Averages  127
Figure 5.11_5 Bar Moving Average  128
Figure 5.12_20 Bar Moving Average  129

Chapter 6
Figure 6.1_Name Your Indicator  131
Figure 6.2_New Indicator  133
Figure 6.3_First Pane of Available Indicators  134
Figure 6.4_Select Mov Avg 1 line  135
Figure 6.5_EZL Code for Mov Avg 1 Line  135
Figure 6.6_Code for Your Indicator  136
Figure 6.7_Code After Changes  136
Figure 6.8_sjh_MAV1 Indicator  137
Figure 6.9_EasyLanguage Dictionary  137

Plot1(RSI(Close, 9), "RSI") ;
If Plot1 > 65 Then
SetPlotColor(1, Blue);
If Plot1 < 35 Then
SetPlotColor(1, Green);


Figure 6.10_RSI Using SetPlotColor  138

Figure 6.11_SetPlotColor Statement  139
Figure 6.12_sjh_MAV1 Indicator with Permanent Style Changes  139
Figure 6.13_sjh_MAV1  139
Figure 6.14_SetPlotWidth with Momentum  140

Chapter 7

Figure 7.1_Skip Words  143
Figure 7.2_Data Intervals  144
Figure 7.3_Bar Numbering  145
Figure 7.4_Momentum Function  146
Figure 7.5_Auto-Detect MaxBarsBack  147
Figure 7.6_MaxBarsBack  148
Figure 7.7_Variables Hard Coded  148
Figure 7.8_Variables as Inputs  149
Figure 7.9_Examples of Statements  149
Figure 7.10_Looking for Narrow Ranges  150
Figure 7.11_Verification Error  152
Figure 7.12_Dialogue Box  153
Figure 7.13_Turning the Strategy Back On  153
Figure 7.14_Setting MaxBarsBack  154
Figure 7.15_Formatting Options  156
Figure 7.16_Unformatted Print Log  156
Figure 7.17_Formatted Print Statement  156
Figure 7.18_Analysis Commentary Window  157

Chapter 8
Figure 8.1_Formatting Inputs  161

Chapter 9
Figure 9.1_AND Truth Table  167
Figure 9.2_OR Truth Table  167
Figure 9.3_Three Weeks’ of Data  167
Figure 9.4_Truth Tables  167
Figure 9.5_Truth Tables  168
Figure 9.6_Example 9.2 Charted  169
Figure 9.7_Code from _HistoricalEntry  171

Chapter 10
Figure 10.1_Block Statement  173
Figure 10.2_Close Last Trade  174
Figure 10.3_Without the Block  174
Figure 10.4_Block Template  174
Figure 10.5_Without the Block  174
Figure 10.6_With the Block  175
Figure 10.7_from Arthur Putt’s Using EasyLanguage  175
Figure 10.8_Putt’s Support and Resistance Indicator  175
Figure 10.9_Nested Blocks  176
Figure 10.10_Strategy  177
Figure 10.11_Strategy Performance Report  178
Figure 10.12_Trade on Mondays or Fridays  179
Figure 10.13_Mondays or Fridays Performaance Report  179
Figure 10.14_Our MAV1 indicator with Strategy  180
Figure 10.15_Strategy Performance Report  180
Figure 10.16_Code for sjh_MAV2  181
Figure 10.17_sjh_MAV2  181
Figure 10.18_Moving Averages in Subgraph1  182
Figure 10.19_A Small Sampling of RGB Color Values  182
Figure 10.20_The New Strategy on the Chart  183
Figure 10.21_Strategy Performance Report  184
Figure 10.22_Trades List  184
Figure 10.23_Code for Dual Moving Average Strategy with ADX Condition  185
Figure 10.24_Chart of the New Strategy  186
Figure 10.25_Running the Optimization  186
Figure 10.26_Optimization Report  187
Figure 10.27_Let ‘er Rip  187
Figure 10.28_Code with Begin...End Block  188
Figure 10.29_11, 12, 3 Inputs  189

Chapter 11
Figure 11.1_A Simple Loop  191
Figure 11.2_Searching for the Word Month  193

Chapter 12
Figure 12.1_MACD Strategy Combination  195
Figure 12.2_MACD Strategy  195
Figure 12.3_MACD Indicator  195
Figure 12.4_MACD and ADX Crossover  197
Figure 12.5_MACD and ADX Inequality  197
Figure 12.6_MACD with ADX Inequality  198
Figure 12.7_CloseLastTrade  198
Figure 12.8_RSI Conditions  198
Figure 12.9_XAverage Strategy Code  199
Figure 12.10_Strategy Performance Report  200
Figure 12.11_Full Strategy Performance Report  201
Figure 12.12_Dual Exponential Moving Average  205
Figure 12.13_Code from Arthur Putt  205
Figure 12.14_Chart with Indicator from Arthur Putt  206
Figure 12.15_Writing Text on a Chart  208
Figure 12.16_Key Reversals  209
Figure 12.17_Tom DeMark Projected Ranges  210
Figure 12.18_RadarScreen Indicator  212
Figure 12.19_/\ch5 20 bar h/l chart  213
Figure 12.20_/\ch5 20 bar h/l code  212
Figure 12.22—Key Reversal Down Chart  214
Figure 12.23—Key Reversal Strategy  215
Figure 12.24—Pennant Formation  215
Figure 12.25—Sunny’s Pennant Indicator  216
Figure 12.26—Displaced Plot  217
Figure 12.27—PaintBar 1.5x Volume  218
Figure 12.28—ADX < 25, Bollinger Bands  219
Figure 12.29—Code for RSI PaintBar Study  219
Figure 12.30—RSI PaintBar  219

Chapter 13
Figure 13.1—Buy and Sell Orders  222
Figure 13.2—Skip Words  222
Figure 13.3—Order Names on a Chart  223
Figure 13.4—Buy and Sell Arrows with Entry Markers  224
Figure 13.5—“Buy 3 March S&Ps Market”  224
Figure 13.6—Order Configurations  226
Figure 13.7—”When” Orders May Be Placed  226
Figure 13.8—Order Types  227
Figure 13.9—Gold Digger  231
Figure 13.10—Raschke & Connors Turtle Soup +1 Strategy  232
Figure 13.10—Using Limits  233
Figure 13.11—Strategy from Bill Brower  234
Figure 13.11—TurtleSoupPlus1 Function  232
Figure 13.12—Levon Strategy  234
Figure 13.12—TurtleSoupPlusOne Chart  232
Figure 13.14—15-Minute Data on Levon Strategy  235
Figure 13.15—Inputs for 1-minute Levon Strategy  236
Figure 13.16—Optimized Results for Levon Strategy  236
Figure 13.16—Strategy Performance Report for Levon  235

Chapter 14
Figure 14.1—Indicator Using Function  240
Figure 14.2—Strategy Using Function  241
Figure 14.3—AverageFC Function  241
Figure 14.4—SummationFC Function  241
Figure 14.5—Summation Function  242
Figure 14.6—Built-In Average Function  247
Figure 14.7—MOF NthExtreme  248
Figure 14.8—Multiple Output Function Usage  248

Chapter 15
Figure 15.1—XAverage Crossover  251
Figure 15.2—XAverage Crossover Strategy  251
Figure 15.3—Strategy Performance Report  252
Figure 15.4—Round(num,0)  253

Chapter 16
Figure 16.1—Commentary Code by Bill Brower  260
Figure 16.2—Commentary Pop-Up Window  260
Figure 16.3—Eight Ball Code  261
Figure 16.4—Eight Ball Chart  261
Figure 16.5—Eight Ball Performance Report  262
Figure 16.6—Larry Williams 3000 Dollar System  263
Figure 16.7—Chart of Larry Williams’ 3000 Dollar System  263
Figure 16.8—Performance Report on Larry Williams System  263
Figure 16.9—Keltner Channel Indicator  265

[IntrabarOrderGeneration = false]

Price( Close ),
Length( 20 ),
NumATRs( 1.5 ) ;

Avg( 0 ),
Shift( 0 ),
UpperBand( 0 ),
Setup( false ),
CrossingHigh( 0 ) ;

Avg = AverageFC( Price, Length ) ;
Shift = NumATRs * AvgTrueRange( Length ) ;
UpperBand = Avg + Shift ;

if CurrentBar > 1 and Price crosses over UpperBand
then begin

SetUp = true ;
CrossingHigh = High ;

else if Setup and ( Price < Avg or High >= CrossingHigh + 1 point )
then Setup = false ;

if Setup then Buy ( "KltChLE" ) next bar at CrossingHigh + 1 point stop ;

Figure 16.10—Keltner Channel Strategy Code  344

Figure 16.11—Keltner Channel Strategy at Work  345


VARS: nCntrs(01);

If (Margin > 00) THEN BEGIN
nCntrs = (NetProfit + Equity) / Margin;
nCntrs = MaxList(nCntrs, 01);

BUY("le.#1") nCntrs contracts next bar at lePrice stop;
CurrentContracts * 0.50 contracts next bar
at EntryPrice + (2500 * BigPointValue) stop ;

SELL("lxPanicStop") from entry ("le.#1")
CurrentContracts * 0.50 contracts next bar
AT$ Lowest(Low, 03) stop ;

Figure 16.12—Sam Tennis’ Code  346

Input: DoW(Wednesday);
If DayOfWeek(Date) = DoW
then Plot1(Close, "DoW");

Figure 16.13—Day of Week  347

Figure 16.14—ShowMe Fridays  347

//===== Buy New Highs ================================
//===== Tips by Glen Larson of Genesis Navigator =====

buybase(15), { the number of bars between the last and current high bar: to detect new high }
sellbase(4), { the number of bars between lows: used to determine stop exits}
h_factor(0.5), { in determining a new high, the high must greater than last high by "h_factor" }
s_fctor1(2), { in determing an exit stop, lowest low of "sellbase" must be exceeded by s_factor }
s_fctor2(0.90), { second exit stop is triggered if the price drops 25% below the all-time high }
v_factor(1.05), { new high is also determined by volume: volume must be > than avg * v_factor }
v_length(30), { average length (in bars) of volume moving average }
hi_len(20); { highest high of "h_len" bars ago }


{detect a new high}

AND volume>(v_factor*average(v, v_length)[1] )
condition1=FALSE; {buy breakout if condition1 is true and previous buy was more than "buybase" bars ago }
IF condition1=TRUE
AND lasthighbar-lasthighbar[1] > buybase
THEN BUY("GL_Buy") tomorrow on the open;

{===== selling rules for exiting long positions =====}
sellstop = s_fctor2 * lasthigh;
SELL("GL_S1") currentcontracts shares tomorrow at lowest (low, sellbase)-s_fctor1 stop;
SELL("GL_S2") currentcontracts shares tomorrow at sellstop stop;

Figure 16.15—Tips by Glen Larson  268


Figure 16.16—Chart from Glen Larson Buy New Highs  269

//===== Arthur G Putt, Trend Following 1.02 =====



MA = Average(Close,Len); //Entry Signals

IF Close > MA AND LowestBar(Low,3) = 0
BUY("TrendLE") next bar at High + 1 Point Stop;

IF Close < MA AND HighestBar(High,3) = 0
THEN SellShort("TrendSE") next bar at Low - 1 Point Stop;

//Exit Routines
//Profit Objective
IF MarketPosition = +1
THEN Sell("TrendLPO") next bar at EntryPrice + (PO/BigPointValue) Limit;
IF MarketPosition = -1
THEN BuyToCover("TrendSPO") next bar at EntryPrice - (PO/BigPointValue) Limit;

//Stop Loss
IF MarketPosition = +1
THEN Sell("TrendLX") next bar at EntryPrice - (MMSTOP/BigPointValue) Stop;
IF MarketPosition = -1
THEN BuyToCover("TrendSX") next bar at EntryPrice + (MMSTOP/BigPointValue) Stop;

//End of Day Exit
IF Time >= CalcTime(Sess1EndTime, - BarInterval)
Sell("EOD LX") next bar at Market;
BuyToCover("EOD SX") next bar at Market;

Figure 16.17—Strategy from Arthur G. Putt  270


Figure 16.18—Chart of Arthur Putt’s Trend Following Strategy  270


value1 = (Last + MedianPrice_Day) / 2;
value2 = value1 - Open;


If GetPlotBGColor(1) <> BGColor then SetPlotBGColor(1,BGColor);
If value2 > 0 then SetPlotColor(1,UpColor);
If value2 < 0 then SetPlotColor(1,DwnColor);

Figure 16.19—IntraDay Pointer  271


Figure 16.20—RadarScreen IntraDay Pointer  271

Figure 17.1—Nine Years of Data Divided into Thirds  276
Figure 17.2—Code for Simple Moving Average System  276
Figure 17.3— Two Moving Average Crossover  277
Figure 17.4—Optimnizing Window in TradeStation  277
Figure 17.5—Format Strategy  278
Figure 17.6—Change Inputs  278
Figure 17.7—Optimize Inputs Dialog Box  278
Figure 17.8—Format Analysis Techniques & Strategies Dialogue Box  279
Figure 17.9—Optimizing Status  279
Figure 17.10—Optimization Output File in Excel  281
Figure 17.11—Format Chart Analysis Preferences  282
Figure 17.12—Strategy Optimization Parameters  282
Figure 17.13—Sort Criteria for Optimization Report  283
Figure 17.14—Menu Bar  284
Figure 17.15—Optimization Report Graph  284
Figure 17.16—Sorted by Net Profit  285
Figure 17.17—Genetic Testing of “Our Strategy”  285
Figure 17.18—Save As Excel Workbook  287
Figure 17.19—Insert a New Column  287
Figure 17.20—Islands and Alligators Spreadsheet  288
Figure 17.21—Specifying Date Ranges  289
Figure 17.22—Optimizing Example  289
Figure 17.23—Strategy Performance Report  290
Figure 17.24—Optimization Report  290

Chapter 18
Figure 18.1—SPR Menu Bar  292
Figure 18.2—Tabs on the Performance Report  292
Figure 18.3—Saving Your Report  293
Figure 18.4—Format Report Settings  293
Figure 18.5—Our Strategy on DIS  294
Figure 18.6—Performance Summary Report  294
Figure 18.7—Trade Analysis  296
Figure 18.8—Trades List  297

Figure A.1  308
Figure A.2  308
Figure A.3  309
Figure A.4  309
Figure A.4.1  310
Figure A.5  311
Figure A.6 Some Legacy Colors vs RGB Values  311
Figure: A.7  312
Figure A.8 A Few RGB Color Values  313
Figure B.1 Most Commonly Used Reserved Words  314

PaintBar for 200-day Moving Average

IF Condition1 OR Condition2 THEN BEGIN
If Condition1 THEN SetPlotColor(1,DarkGreen)
ELSE IF Condition2 THEN SetPlotColor(1,Red);


Figure D.1—PaintBar for 200-Day Moving Average

ShowMe for 200-day Moving Average

IF Condition1 OR Condition2 THEN BEGIN
If Condition1 THEN SetPlotColor(1,DarkGreen)
ELSE IF Condition2 THEN SetPlotColor(1,Red);


Figure D.3—ShowMe for 200 Day Moving Average

Filter for 200-day Moving Average

INPUTS: UpColor(Green), DnColor(Red), L1(200);
VARS: jtext("");
Value1 = sjh_DynamicAvg$$_f(Close,L1,.25,2,31);
jtext = "Long";
Plot1( jtext, "MA" , white) ; SetPlotBGColor(1,UpColor);
jtext = "Short";
Plot1( jtext, "MA" ,white) ; SetPlotBGColor(1,DnColor);


Figure D.4—Filter for 200 Day MAV


Figure D.5 & D.6—Our Strategy