The following is the frontend documentation for the TS2000i version
  of the   LOS+AndrewsPitchfork  indicator designed to run on the
  Omega TradeStation 2000i product.
  There are some "pictures" intermixed to try to illustrate some of
  of the parameter use.
  I hope you find this useful in starting to use this method of
  looking at price series.

 

  Clyde Lee

 

CLICK   THE    Add to Cart   Button TO ORDER the
LOS+AndrewsPitch_II @$ 125.00

{
*********************************************************************
   
  Indicator   : LOS+AndrewsPitchf_EB
  
  Last Edit : 05/30/01 (revised ptrntype routine--fork plotting) 
              06/23/01 (fixed rt problem - fixed DGL problem   )
                       (renamed for users who want to keep old )
                       (fixed date problem in file facility    )
              07/20/01 (Added "a" thru "f" start ML facility   )
              10/05/01 (Renamed LOS+AndrewsPitchf_II and added )
                       (ability to plot up to 45 forks of type )
                       (selected from  "a"  thru  "p"          )
              03/01/02 (Added ability to set the length of the }
                       (length of the Andrews fork lines by    }
                       {specifying the number of bars past the }
                       {next occurring pivot or last bar on the}
                       {chart, whichever occurs first.         }
  Provided By : clydelee@clydelee.com  (c) 1998,1999,2000,2001
              : This version shall not be distributed without
              : The written consent of the author.
              
  Ficilities  : 1. Plot from 1 to 45 Andrews Pitchforks from points
                   determined by use of the Swing_Lee_II function
                   which offers several methods of determining 
                   swing points (turning points) for use in the
                   calculation of the Andrews (median/tine) lines.

                   You can specify the type of forks to plot by 
                   assigning a letter value(s) of from a thru p.

                   Examine the following set of swings which
                   might setup an Andrews fork situation.   

                    0-a             2-i            4-[q]    
                       \             / \             / \     
                        b           h   j           p   \
                         \         /     \         /     \    
                          c       g       k       o      [r]   
                           \     /         \     /         \  
                            d   f           l   n           \
                             \ /             \ /             \ /
                            1-e            3-[m]           5-[s]
                             
 
                   We consider a 'normal' Andrews fork to consist
                   of a median line drawn from point 3-[m] through the
                   median point [r] and extending forward in time and
                   associated with a pair of parallel lines which
                   begin at points 4-[q] and 5-[s] and also extend 
                   forward in time.

                   However, it is sometimes desirable to have the
                   beginning of the median line to be placed at
                   points  a, b, c, d, ......, p .  A parameter
                   entitled BeginMed (Begin of Median Line) allows
                   the entry of the letters (lower or upper case)
                   from a through h as beginning points.  If any
                   letter (or multiple letters are entered) then 
                   FORK(s) is/are drawn from the selected beginning 
                   point(s) specified.  Any entry not in the range 
                   defined causes normal operation.

                2. Within the areas covered by the Andrews forks
                   plot a series of lines commonly known as Gann
                   Dynamic Levels (Lines).

                3. Make a projection of a channel of possible
                   future prices based on leg length in time an
                   price from data gathered from the loaded 
                   symbol.

                4. Enumerate (at each TP) the length in number
                   of bars of the LAST LEG of a swing.

                5. Enumerate (at each TP) the Pattern ID number 
                   which has a value as indicated below.

                6. If desired, plot a series of Fibonacci lines
                   into the future to examine possible coincidences
                   of Fib lines and Andrews fork lines.

  Note: Uses Swing_Lee_II function that may use either HighestHigh and
        LowestLow for n days OR % of price OR multiple of 21 day StdDev
        OR multiple of 21 day ATR to determine Turning Points for Swing
        Analysis. The number of bars in each leg detected is posted at 
        last turning point of that leg.

        The Andrews aspect of this indicator uses an input parameter
        NumForks  which (when set to a value between 1 and 3) will
        causes the system to perform normally and also to add the last
        1, 2, or 3 "pitchforks" which can be drawn with the swings
        picked by LOS.

        A "channeling" capability is available.  To access this
        feature, set ATRMult to value which fits risk desired relative
        to current swing position.  A negative value sets it based on
        length of NumBars.

        User may select to plot TRUE turning points (i.e. actual dates
        when TP was determined). User may or may not have channels
        generated. User may or may not have end extensions plotted.

        I looked all over the net looking for a good description of
        how to use the Andrew's Pitchfork but did not find it.  The
        following is a description of what the pitchfork is (as if we
        did not know).

        Andrew's Pitchfork Three parallel trendlines are drawn linking
        a major low or high with a point either side of this marking
        an intermediate high or low. The lines are extended to
        generate support/ resistance levels. The lines look a bit like
        the prongs of a pitchfork, hence the indicator’s name.

        Trendlines have been applied to all markets in all time
        frames. A rising market bounces up off its supporting
        trendline and a falling market bounces down off its resisting
        trendline. In the former case, the trendline provides a buying
        point at each bounce. If this market is still trending higher
        (i.e. - does not break its trendline) there is no signal given
        as to when to sell to lock in profits. By drawing a parallel
        line to the trendline a channel can be created which contains
        all short term rallies and declines within the general trend.
        The bottom trend line can be used to buy into the rally and
        the top trend line can be used to take short term profits.
        After selling, the trader would then wait for the market to
        hit the bottom trend line to buy again.

        The previous paragraph was taken from the following site which
        contains much more information on the Pitchfork.

        http://www.crbindex.com/techtip/tipv2n21.htm

        = = = = = = =   INFO ON DGL APPROACH  = = = = = = = = = = = = =

        From the site:  http://members.aol.com/ganntrader/info.txt 
        you may obtain extensive information on the DGL concept
        as advanced by Don Fisher.

Note:   Not being familiar with Don Fisher's work, a friend who used
        my LOS+AndrewsPitchfork routine suggested that the equivalent
        of the DGL lines could be accomplished by just plotting a 
        series of lines which began at the  A  point of an Andrews
        fork definition to points on the  BC  line of this setup
        such that the BC line was divided into intervals of 1/8, 2/8,
        3/8,.....  or by commonly used fib numbers.  This is what was
        done and although it appears to me to represent EXACTLY the
        lines which are shown in some presentations of DGL's I cannot
        grantee you that the computation is the same as what Don
        Fisher uses since the formula for computation does not appear
        in his public web site so far as I can determine.

        = = = = = = =    END INFO ON DGL    = = = = = = = = = = = = =

        = = = = = = =   INFO ON LOS & PtrnID APPROACH  = = = = = = = 

        The indicator will indicate at each turning point two items
        that are important in evaluating where the market is at the
        current time.

        1.  Length of (last leg) Swing in bars.
        2.  Swing Pattern Identification (Pattern # of 0 thru 9).
            (An option to omit the Length of Swing exists).

        Based on a set of four sequential turning points in a price
        series (or actually any kind of time series) I have chosen
        to assign a Pattern ID number based on the relative price
        relationships of these turning points.

        The following is a "picture" and logic equations for the
        assignment of Pattern IDs as I have chosen.  The sequence
        of assignments is not arbitrary but is an attempt to use
        a set of numbers that indicate the "age" of the market.

        A pattern ID of 9 indicates a maturing UP market whereas a
        PatternID of 0 quite often appears near the turn of a 
        downgoing market.

   ..........C.... ......B..........   .......C...... ........B......
   ........./\.... ...../\..........   ....../\...... ......./\......
   ......../..\/.. ...\/..\.........   .A.../..\..... ....../..\....D
   ......./...D... ....A...\........   /\../....\.... ...../....\../\
   ..A.../........ .........\....D..   ..\/......\... ..../......\/..
   ./\../......... ..........\../\..   ...B.......\.. .../........C..
   ...\/.......... ...........\/....   ............\/ .\/............
   ....B.......... ............C....   .............D .A.............
   Pattern:..#4... Pattern:..#5.....   Pattern:..#1.. Pattern:..#8...
   A>B B<C C>A     A<B B>C C<A         A>B B<C C>A    A<B B>C C>A
   D<C D>A         D>C D<A             D<C D<B        D>C D<B
   
   
   ...........C.... .....B..........   ...A........... .............D.
   ........../\.... ..../\..........   ../\........... ............/\.
   .A......./..\... .../..\........D   ....\....C..... .......B.../...
   /\....../....\.. ../....\....../\   .....\../\..... ....../\../....
   ..\..../......\/ \/......\..../..   ......\/..\.... ...../..\/.....
   ...\../........D .A.......\../...   .......B...\... ..../....C.....
   ....\/.......... ..........\/....   ............\/. ..\/...........
   .....B.......... ...........C....   .............D. ...A...........
   Pattern:..#3.... Pattern:..#6....   Pattern:..#0... Pattern:..#9...
   A>B B<C C>A       A<B B>C C<A       A>B B<C C<A     A<B B>C C>A


   ...A............. .............D.
   ../\............. ............/\.
   ....\........C... ...B......./...
   .....\....../\... ../\....../....
   ......\..../..\/. \/..\..../.....
   .......\../....D. .A...\../......
   ........\/....... ......\/.......
   .........B....... .......C.......
   Pattern:..#2..... Pattern:..#7...
   A>B B<C C<A       A<B B>C C<A
   D<C D>B           D>C D>B
   
     = = = = = = =   END INFO ON LOS & PtrnID   = = = = = = = = =

*********************************************************************
}

Input:  EndDate(1201231), {Ending date for computation--use to      }
                          {study prior behavior of function         }
                            
        EndTime(1500),    {Ending time for End date                 }  
                          {This has no effect for daily,wkly,.....  }
                            
        ForcePvt(True),   {Force a pivot point at last bar/date     }
                              
        BeginMed("m"),    {Leave set to "m" to operate as "normal"  }
                          {Andrews routine.  Enter a, b, ....,h     }
                          {to plot forks from other than "normal"   }
                          {Andrews median line begin point.         }

        CMode(3),         {Computation Mode for Swing Detection     }
                          {See NumBars for definition               }
                            
        NumBars(21),      {Determines what "strength" of a swing to }
                          {use for determining turning points.      }
                          {    CMode=0--% Price                     }
                          {    CMode=1--Multiplier of 21 bar StdDev }
                          {    CMode=2--Multiplier of 21 bar ATR    }
                          {    CMode=3--Number of bars L&R for the  }
                          {             detection of Pivots/TPs     }
                          {Note for CMODE=3:                        }
                          {A decimal fraction may be used to set the}
                          {number of bars for use for measurement on}
                          {the righthand side of the Pivot/TP.      }
                          {If a decimal value is specified  (34.13) }
                          {then the decimal fraction(.13 * 100 = 13)}
                          {is multiplied by 100 and then the value  }
                          {that results is used to set the length   }
                          {for right hand side search.              }
                            
        TrueSymb(""),     {Set to a value of null  ""  if no plot   }
                          {of the exact points where TP was picked. }
                          {Use leftmost character to show points    }
                          {and value after decimal to set color     }
                          {NOTE:  This is a 'character' value and   }
                          {values MUST be put inside double quotes  }

        ATRMult(1.2203),  {Sets channel width.  If set to ANY       }
                          {NEGATIVE value width determined by NumB..}
                          {Fractional part defines line width and   }
                          {color for channel and center lines       }
                          {Notice that maximum resolution is a      }
                          {single DECIMAL DIGIT.                    }
                          {                                         }
                          {NOTE:                                    }
                          {Entry in form:  M.Mcws where w=line width}
                          {c=color of channel/center line.  If c is }
                          {set to Zero (0)---NO channel/center lines}
                          {Black=1,Blue=2,Cyan=3,Green=4,Magenta=5  }
                          {Red=6,Yellow=7, White=8,DarkBlue=9, and  }
                          {s=style of line. 1=solid, 2=dashed, and  }
                          {3=dotted.                                }
                            
        ExtProj(True),    {False=don't extend last channel lines    }
          
        NumFork(1.41),    {Number of Pitchforks to generate 3=max   }
                          {Line width and color are defined by the  }
                          {value of the fractional portion of this  }
                          {parameter.  X.cw  where c=line color and }
			  {w=line width.  Specify one specific      }
                          {pattern to display by entering  the fork }
                          {number time 10.  (e.g.  set NumFork to   }
                          {10.14 will cause ONLY the #1 or latest   }
                          {fork to plot.                            }
  
	FibBars (180.202),{Use to setup fib computation & label.    }
                          {0.cws=NO fib calculation. yy.cws =set fib}
                          {line lengths to be yy past last bar.     }
                          {                                         }
                          {First decimal digit sets Fib line color  }
                          {and second decimal digit sets Fib line   }
                          {width.  c=color   w=width .  The 3rd     }
                          {digit sets annotation location.  0=left, }
                          {1=right, and 2=center.                   }
                          {                                         }
                          {A negative value inhibits annotations.   }
                            
        FibOnForc(true),  {True = calculate fib lines on basis of   }
                          {a forced turn if specified.  Otherwise   }
                          {use a non-forced turn for computations   }
                            
        DGLIncr(1/8),     {Lowest Multiplier value and increment to }
                          {next DGL point on median defining line   }
        NumDGL(-8),       {Number of Dynamic Gann Line plots.       }
                          {Set to zero for no DGL line plots        }
                          {Set to 99.wc (w=width c=color) for max.  }
                          {If a decimal fraction is provided then   }
                          {the first digit of the fraction defines  }
                          {the width of the DGL lines and the second}
                          {digit specifies the color.               }
                          {If NEGATIVE then only the last set of DGL}
                          {lines is plotted, otherwise all sets are }
                          {plotted.  Recommend to use negative.     }
                            
        PlotLOS(true),    {Set false to inhibit listing of length   }

        FileDirI("");     {Enter a full folder ID where a file that }
                          {contains date, Pattern ID number, and the}
                          {High and Low prices for the date of TP   }
                          {will be generated.  File named           }
                          {PTRNxxMMDD.csv where xx is the first     }
                          {two characters of the symbol name and the}
                          {MMDD is current month and date.          }
Input:  ExtnBars(20);     {Number of bars to extend length of fork  }
                          {tines, projected channel, and DGL lines  }
                          {past the last bar on the chart or past   }
                          {the next Pivot for other than last forks }

CLICK   THE    Add to Cart   Button TO ORDER the
LOS+AndrewsPitch_II @$ 125.00

Return to:  HOME

 

  This is the mess that you can get on the screen if you are not
  selective about what you view at any particular time.
Andrews_07.gif (35789 bytes)
  

 

Input:  EndDate(1201231), {Ending date for computation--use to      }
                          {study prior behavior of function         }
                            
                  
Andrews_08.gif (26065 bytes)
        EndTime(1500),    {Ending time for End date                 }  
                          {This has no effect for daily,wkly,.....  }
                            
        ForcePvt(True),   {Force a pivot point at last bar/date     }
                          {the next Pivot for other than last forks }
Andrews_06.gif (27207 bytes)

 
        BeginMed("m"),    {Leave set to "m" to operate as "normal"  }
                          {Andrews routine.  Enter a, b, ....,h     }
                          {to plot forks from other than "normal"   }
                          {Andrews median line begin point.         }

Andrews_10.gif (23179 bytes)

          CMode(3),         {Computation Mode for Swing Detection     }
                          {See NumBars for definition               }
                            
        NumBars(21),      {Determines what "strength" of a swing to }
                          {use for determining turning points.      }
                          {    CMode=0--% Price                     }
                          {    CMode=1--Multiplier of 21 bar StdDev }
                          {    CMode=2--Multiplier of 21 bar ATR    }
                          {    CMode=3--Number of bars L&R for the  }
                          {             detection of Pivots/TPs     }
                          {Note for CMODE=3:                        }
                          {A decimal fraction may be used to set the}
                          {number of bars for use for measurement on}
                          {the righthand side of the Pivot/TP.      }
                          {If a decimal value is specified  (34.13) }
                          {then the decimal fraction(.13 * 100 = 13)}
                          {is multiplied by 100 and then the value  }
                          {that results is used to set the length   }
                          {for right hand side search.              }
                            

                            
        CMode(3),         {Computation Mode for Swing Detection     }
                          {See above for definition                 }
Andrews_09.gif (24823 bytes)
        ATRMult(1.2203),  {Sets channel width.  If set to ANY       }
                          {NEGATIVE value width determined by NumB..}
                          {Fractional part defines line width and   }
                          {color for channel and center lines       }
                          {Notice that maximum resolution is a      }
                          {single DECIMAL DIGIT.                    }
                          {                                         }
                          {NOTE:                                    }
                          {Entry in form:  M.Mcws where w=line width}
                          {c=color of channel/center line.  If c is }
                          {set to Zero (0)---NO channel/center lines}
                          {Black=1,Blue=2,Cyan=3,Green=4,Magenta=5  }
                          {Red=6,Yellow=7, White=8,DarkBlue=9, and  }
                          {s=style of line. 1=solid, 2=dashed, and  }
                          {3=dotted.                                }
                            
                            
Andrews_04.gif (28351 bytes)

        ExtProj(True),     {False=don't extend last channel lines    }
         
        NumFork(1.41),    {Number of Pitchforks to generate 3=max   }
                          {Line width and color are defined by the  }
                          {value of the fractional portion of this  }
                          {parameter.   X.cw  where c=line color and }
                          {w=line width.  Specify one specific      }
                          {pattern to display by entering  the fork }
                          {number time 10.  (e.g.  set NumFork to   }
                          {10.14 will cause ONLY the #1 or latest   }
                          {fork to plot.                             }


        FibBars (180.202),{Use to setup fib computation & label.    }
                          {0.cws=NO fib calculation. yy.cws =set fib}
                          {line lengths to be yy past last bar.     }
                          {                                          }
                          {First decimal digit sets Fib line color  }
                          {and second decimal digit sets Fib line   }
                          {width.   c=color   w=width .  The 3rd     }
                          {digit sets annotation location.  0=left, }
                          {1=right, and 2=center.                    }
                          {                                          }
                          {A negative value inhibits annotations.   }
                           
        FibOnForc(true),  {True = calculate fib lines on basis of   }
                          {a forced turn if specified.  Otherwise   }
                          {use a non-forced turn for computations   }
                           

Andrews_11.gif (25108 bytes)
        DGLIncr(1/8),     {Lowest Multiplier value and increment to }
                          {next DGL point on median defining line   }
        NumDGL(-8),       {Number of Dynamic Gann Line plots.       }
                          {Set to zero for no DGL line plots        }
                          {Set to 99.wc (w=width c=color) for max.  }
                          {If a decimal fraction is provided then   }
                          {the first digit of the fraction defines  }
                          {the width of the DGL lines and the second}
                          {digit specifies the color.               }
	                  {If NEGATIVE then only the last set of DGL}
			  {lines is plotted, otherwise all sets are }
			  {plotted.  Recommend to use negative.     }
                            
                            

Andrews_02.gif (28573 bytes)
        TrueSymb(""),     {Set to a value of null  ""  if no plot   }
                          {of the exact points where TP was picked. }
                          {Use leftmost character to show points    }
                          {and value after decimal to set color     }
                          {NOTE:  This is a 'character' value and   }
                          {values MUST be put inside double quotes  }

         
Andrews_05.gif (25669 bytes)

 

        PlotLOS(true),    {Set false to inhibit listing of length   }

        FileDirI("");     {Enter a full folder ID where a file that }
                          {contains date, Pattern ID number, and the}
                          {High and Low prices for the date of TP   }
                          {will be generated.  File named           }
                          {PTRNxxMMDD.csv where xx is the first     }
                          {two characters of the symbol name and the}
                          {MMDD is current month and date.          }

The above facility to generate a file of historical data for any given
stock, option, future, ..... is extremely important in that you can
gather such information and then study correlations between a sequence
of pattern numbers and what happens next using Excel.
Input:  ExtnBars(20);     {Number of bars to extend length of fork  }
                          {tines, projected channel, and DGL lines  }
                          {past the last bar on the chart or past   }
LOS_EB_Update_0302.gif (31382 bytes)

 


CLICK   THE    Add to Cart   Button TO ORDER the 
LOS+AndrewsPitch_EB @$ 125.00

 

Return to:  HOME