|
|
04-29-2013, 06:34 PM
|
#1
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
BASIC Pace app for thoroughbreds
Part2 needs to be pasted on the end of Part1 (using NotePad) or any text processor that doesn't put a lot of junk in the code (DON'T use Word!) Plain vanilla, should be able to easily convert to VBA in Excel, Visual Basic, or use as is in QBASIC. It would also be trivial to convert to Python or similar.
|
|
|
04-29-2013, 06:40 PM
|
#2
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
The code is an expanded (longer variable names, mostly) version of an app I used in a hand-held Sharp pocket computer. While "manual entry" may seem barbaric to those who handicap as if playing video games, it is quite convenient for those wagering on only one or two tracks, a limited number of races, only a couple of days a week, or any combination thereof.
It is also adaptable for the TI graphing calculators, so one can handicap races while pretending to do homework at the library or in class.
|
|
|
04-29-2013, 06:48 PM
|
#3
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
When I started with the "sophisticated software" of the Sartin Methodology, it was so clunky that one had to convert times before entering. 1:10.2 had to be entered as 70.4. When the initial study (by Sartin's group) was done for harness, they used Phase III and Ultra Scan, entering as a mile race. Times over two minutes required several backflips to prevent the app from choking. That was the motivation to write this app.
Time conversions (also works for harness, entering minutes and fifths) below. Should be trivial to convert the times to enter as tenths or hundredths.
SUB TimeConversion
TimeFirstCall(x) = INT(TimeFirstCall(x)) + ((TimeFirstCall(x) - INT(TimeFirstCall(x))) * 2)
TimeSecondCall(x) = INT(TimeSecondCall(x)) + ((TimeSecondCall(x) - INT(TimeSecondCall(x))) * 2)
TimeThirdCall(x) = INT(TimeThirdCall(x)) + ((TimeThirdCall(x) - INT(TimeThirdCall(x))) * 2)
TimeAtFinish(x) = INT(TimeAtFinish(x)) + ((TimeAtFinish(x) - INT(TimeAtFinish(x))) * 2)
IF TimeSecondCall(x) > 100 THEN
TimeSecondCall(x) = TimeSecondCall(x) - 40
END IF
IF TimeThirdCall(x) > 100 THEN
TimeThirdCall(x) = TimeThirdCall(x) - 40
END IF
IF TimeAtFinish(x) > 200 THEN
TimeAtFinish(x) = TimeAtFinish(x) - 40
END IF
IF TimeAtFinish(x) > 100 THEN
TimeAtFinish(x) = TimeAtFinish(x) - 40
END IF
END SUB
|
|
|
04-29-2013, 07:02 PM
|
#4
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
If you want to adapt this for harness races, let me know. It only requires a minimal mount of tweaking to create a nice pace app for weekend harness bettors. As rough as it may seem, it is also a great training tool for novice handicappers. Working with a simple pace app (no bells, no whistles, no hand holding) will also do wonders for teaching pattern recognition skills.
|
|
|
04-29-2013, 07:42 PM
|
#5
|
Registered User
Join Date: Feb 2005
Location: Canada
Posts: 539
|
Yes please do it for................???
Quote:
Originally Posted by traynor
If you want to adapt this for harness races, let me know. It only requires a minimal mount of tweaking to create a nice pace app for weekend harness bettors. As rough as it may seem, it is also a great training tool for novice handicappers. Working with a simple pace app (no bells, no whistles, no hand holding) will also do wonders for teaching pattern recognition skills.
|
Yes, do it for us harness fans Traynor.
Much appreciated..........thanks.......!
__________________
Lotteries & Horse Racing....Difference between a Mindless Gamble & an Intellectual Pursuit!
|
|
|
04-29-2013, 10:29 PM
|
#6
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
Quote:
Originally Posted by Sinner369
Yes, do it for us harness fans Traynor.
Much appreciated..........thanks.......!
|
I will add adjustments for post position changes, park out, etc. Will probably take a week or so. I will post it as soon as it is completed.
|
|
|
05-03-2013, 01:16 PM
|
#7
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
Adjustments for post position change and parkouts are such a subjective topic that the best approach seems to be giving the user the option of entering his or her own values (whatever he or she considers appropriate for those factors at the local track).
Copy the text below, including the REM **********************
REM ************************************************** ***
SUB VariantAdjustment
DIM SHARED Adjustment(10) AS SINGLE
PRINT TAB(10); "Input Adjustment (in feet)";
PRINT
(+ values credit - values penalize ";
INPUT Adjustment(x)
DIM TempVar AS SINGLE
TempVar = 5280 + Adjustment(x)
ntv = 5280 / TempVar
REM Suggested adjustments for half-mile and five-eighths tracks are
REM -5 for each Post Position change OUT from pace line race, 5 for each Post
REM Position IN from pace line race. (Example: Was PP5, now PP2 3 x 5 = 15)
REM Suggested adjustment for Parked Out is 14 for each quarter parked wide.
REM (Example--same race as above--parked wide two quarters, 14 x 2 = 28)
REM (Amount of adjustment for PP = 15, for Parked Out = 28, TOTAL 43)
EarlyPace(x) = EarlyPace(x) * ntv
SustainedPace(x) = SustainedPace(x) * ntv
AveragePace(x) = AveragePace(x) * ntv
TurnTime(x) = TurnTime(x) * ntv
FactorXPace(x) = FactorXPace(x) * ntv
END SUB
REM ************************************************** *****
Find the line (in the code you downloaded, near the bottom of the listing provided) that says:
"SUB VariantAdjustment." Mark it, including that line, down to the NEXT line that says, "END SUB." Paste the text you copied in the step above, and save it. It should work. If not, let me know.
|
|
|
05-03-2013, 01:42 PM
|
#8
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
Modified for harness.
|
|
|
05-03-2013, 03:55 PM
|
#9
|
Registered User
Join Date: Dec 2005
Location: MI
Posts: 6,330
|
Wow! Can't wait to check this out. You're a better man than I. I would never open up my code to the public. Thanks
__________________
"The Law, in its majestic equality, forbids the rich, as well as the poor, to sleep under bridges, to beg in the streets, and to steal bread."
Anatole France
|
|
|
05-03-2013, 09:45 PM
|
#10
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
Quote:
Originally Posted by Capper Al
Wow! Can't wait to check this out. You're a better man than I. I would never open up my code to the public. Thanks
|
Let me know if it works okay. All my computers are 64-bit and I can't run QBASIC without a major do (downloading OS clones to make a virtual OS, blah blah). I think I could have ported it over to Visual Basic with a spiffy little GUI in about the same amount of time. Perhaps less.
|
|
|
05-03-2013, 10:07 PM
|
#11
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
This is a manual entry GUI we used for Australian harness races. If anyone is interested in using it, I will clean it up and modify it for US/Canadian races and post it. The buttons enable times, positions, and beaten lengths to be entered by clicking with a mouse (instead of typing). When clicked, the buttons turn blue, and the values are entered in the appropriate textboxes to be scooped up later when calculating the race.
File size uploading constraints required low-resolution graphic.
|
|
|
05-04-2013, 07:19 AM
|
#12
|
Registered User
Join Date: Dec 2005
Location: MI
Posts: 6,330
|
Quote:
Originally Posted by traynor
Let me know if it works okay. All my computers are 64-bit and I can't run QBASIC without a major do (downloading OS clones to make a virtual OS, blah blah). I think I could have ported it over to Visual Basic with a spiffy little GUI in about the same amount of time. Perhaps less.
|
I doubt that I'll ever have the time to convert the program. When I do get some time, I'll study the algorithm and let you know what I found.
Thanks
__________________
"The Law, in its majestic equality, forbids the rich, as well as the poor, to sleep under bridges, to beg in the streets, and to steal bread."
Anatole France
|
|
|
05-04-2013, 09:48 AM
|
#13
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
Quote:
Originally Posted by Capper Al
I doubt that I'll ever have the time to convert the program. When I do get some time, I'll study the algorithm and let you know what I found.
Thanks
|
I think it would be nice to have (and to give free to anyone who wants it) a simple application that would enable recreational/novice/non-professional racing fans the opportunity to play around with generating pace figures, speed figures, or whatever--with all information available from the racing program or DRF.
One of the biggest deterrents to "new" racing fans is the "entry bar." While it may seem reasonable to a hardcore bettor to invest $150 a month + cost of software + months (if not more) of learning to "use" that software in order to (in a best case scenario) break even or lose less, that smacks faintly of madness to anyone not already a confirmed "horse player." The average prospective bettor is more likely to consider it expensive foolishness. And shake their heads and walk away from those who believe it takes "years of dedicated effort to learn how to win"--and then only sometimes, and only on a good day, and only after immense effort has been expended to "earn the right to win."
On the other hand, giving a prospective bettor something that he or she can use almost instantly with a minimal set of instructions, and in short order learn the basics of race analysis sufficient to start picking a few winners is likely to generate an interest in pursuing the matter further. In psychological terms, the initial processes reinforce the interest rather than extinguishing it.
|
|
|
05-04-2013, 10:56 AM
|
#14
|
Registered User
Join Date: May 2010
Posts: 119
|
Quote:
Originally Posted by traynor
I think it would be nice to have (and to give free to anyone who wants it) a simple application that would enable recreational/novice/non-professional racing fans the opportunity to play around with generating pace figures, speed figures, or whatever--with all information available from the racing program or DRF.
One of the biggest deterrents to "new" racing fans is the "entry bar." While it may seem reasonable to a hardcore bettor to invest $150 a month + cost of software + months (if not more) of learning to "use" that software in order to (in a best case scenario) break even or lose less, that smacks faintly of madness to anyone not already a confirmed "horse player." The average prospective bettor is more likely to consider it expensive foolishness.
|
Thanks for sharing this... I have great respect for the time and effort the programmers have put into their commercial products, but with the ongoing cost of data to feed them on top of the acquisition, it isn't very enticing to someone you wants to play a few choice races a week while enjoying the intellectual challenge of trying to beat what may well be an unbeatable game given the ridiculous takeout.
I would very much appreciate the GUI if you get around to it.
Another benefit I see is that one may get their hands dirty, be closer to the actual process, thereby learning how to actually do the work, rather than learning how to operate slick software.
Your generosity in opening the code allows people to work with, and understand the logic of the "work" that is being computerized. No one with commercial ambitions can do that, so your gift is a rare and valuable thing, for someone willing to but some sweat equity in in order to get something valuable out.
|
|
|
05-04-2013, 11:45 AM
|
#15
|
Registered User
Join Date: Jan 2005
Posts: 6,626
|
Quote:
Originally Posted by Crassius
Thanks for sharing this... I have great respect for the time and effort the programmers have put into their commercial products, but with the ongoing cost of data to feed them on top of the acquisition, it isn't very enticing to someone you wants to play a few choice races a week while enjoying the intellectual challenge of trying to beat what may well be an unbeatable game given the ridiculous takeout.
I would very much appreciate the GUI if you get around to it.
Another benefit I see is that one may get their hands dirty, be closer to the actual process, thereby learning how to actually do the work, rather than learning how to operate slick software.
Your generosity in opening the code allows people to work with, and understand the logic of the "work" that is being computerized. No one with commercial ambitions can do that, so your gift is a rare and valuable thing, for someone willing to but some sweat equity in in order to get something valuable out.
|
I think one of the most useful things to learn (that one tends to learn really fast if entering data by hand) is that the numbers that go in determine the numbers that come out. That applies to the most sophisticated, "automated" software as much as to hand entry in a minimalist application. The numbers may be massaged in more complex ways (in more complex applications), but little is added--what comes out depends on what goes in.
That bit of insight--in turn--often leads to the development of pattern-recognition skills that enable analysts to rely less and less on the software (a good thing) and more and more on their own decision-making processes (another good thing).
Last edited by traynor; 05-04-2013 at 11:46 AM.
|
|
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|