Friday, 6 December 2013

How to Select Venues

System Selector has an internal variable called LOCATION which you can type into systems or insert via the System Selector Data drop down in the editor. It is set as follows:
  • S for Sydney tracks
  • M for Melbourne tracks
  • B for Brisbane tracks
  • A for Adelaide tracks
  • W for Perth tracks
  • s for NSW provincial tracks
  • m for VIC provincial tracks
  • b for QLD provincial tracks
  • a for SA provincial tracks
  • w for WA provincial tracks
  • H for Hong Kong tracks
  • N for New Zealand tracks
  • X for all other tracks
This variable was used in the original System Selector to select venues by allowing the user to set a string containing the desired venues. Note that space limitations in the original System Selector meant that X referred to all tracks that were not metropolitan but in the new "Expert Mode" X refers to all tracks that are not metrop or "smbaw".

Note also that X does not include Hong Kong or New Zealand and these venues must be selected using the letters H and N respectively. Keep in mind however that if you want to select every track regardless of venue then you so not have to set any rule as the absence of a rule for venue will see all venues selected.

If you'd like to select just Sydney and Melbourne races the the rule to do this is as follows:


Note the "1." at the beginning of the line to indicate to the program that this is a "meeting" rule that can be run before the horse and form based rules. This helps speed up system tests as explained in more detail at:

How to Write Faster Systems

The dollar sign operator tests to see if the variable LOCATION is contained in the string "SM". The line returns TRUE if the condition is met and FALSE otherwise. In plain English you would read the rules as "is the value of the LOCATION variable contained in the string SM"?

To select all metropolitan meetings from Sydney, Melbourne, Brisbane, Adelaide and Perth you would use the following rule:


To select just provincial tracks in the three eastern States the required rule is as follows:


Using the LOCATION variable is great for selecting venues in groups but there is another variable V:TCODE that can be used if you want to select specific tracks according to their 3 letter code. Note the 3 letter codes can be seen in the Price Predictor part of the program alongside the track names and you can get an alphabetical list via a button on the old System Selector rules entry window.

For example if you only wanted Flemington and not all Melbourne tracks you would use the following rule:


If you only wanted say Flemington and Caulfield then you  would use the following rule:


Note you must put a separator between track codes  to avoid the risk that the end of one code plus the beginning of another might represent some other track you do not want included.

If you look in the editor drop downs you will note there is another variable for track name (V:TRACK) but more likely than not you will use the 3 letter codes instead of the full track names. One situation where you might use track names is for selecting individual tracks that have more than one course (eg an inner and outer, or a grass and synthetic). For example to select Randwick without having to remember the two separate 3 letter codes (RAN and KEN) you can just use a rule as follows:


Note that the Alltrim() function is used to trim any spaces from the end of the track name.

You can also select more than one track by track name. For example the following selects Randwick and Rosehill:


Finally you might want to exclude rather than include certain tracks. You can do this using similar rules to those above but with the .NOT. operator at the beginning of the rule (after the "1." though). For example the following will pick all tracks except Randwick and Rosehill:


Keep in mind that the .NOT. operator can be placed in front of any logical result to turn TRUE into FALSE and FALSE into TRUE.