1. Clear Plan
Don’t even start designing triggers if you don’t have a clear idea of what you are trying to achieve. Like with paper betting, you ought to know your end goal and all the steps you need to take in order to achieve it. Putting some random commands together hoping that the behaviour of the program will coincide with your scheme is a journey to nowhere (at best).
Take a sheet of paper and write down your betting plan in plain sentences. They must not be long or elaborate. Keep to the point. Separate sentences in parts, so that you could single out actions. Determine actions that place a bet in the first place. Formulate what markets and selections they must apply to. It is a good approach to add one trigger at a time to test each part of your plan.
2. Laconism
Keep it brief. If there is a way to do something with one trigger, don’t create two, let alone tens.
I once helped a customer who made a separate trigger for betting on each of six runners in Greyhound race! The triggers were identical, except that their betting amount was proportionate to the rank of the dog. He could have created just one trigger with a formula in its Amount that expressed the bet size through the rank of the selection (sel_order suits these needs perfectly).
Similarly, use multiple actions of a trigger actively. If you need to set 10 variables upon the same conditions, why would you create 10 triggers, when you can create one with 10 actions?
3. Use of Formulae and Variables
Since you embarked on the versatile and omnipotent business of triggered betting, you must have got some skills in simple arithmetic and logical thinking. As a trader, you probably use a lot of mathematical templates already. Formulae are especially useful in various staking plans and in betting plans where the size of the bet depends on the property of the selection (its index, price, rank, matched bets etc.). You can access practically any property of a selection or market, as well as many properties of the application and trading environment, through MF Pro’s trigger variables. So if you want to bet £2 when the selection’s price is 5.0, £4 when it’s 2.5 and £8 when it’s 1.25, don’t create three triggers that do this! It is transparent that the formula for the bet size in this case is 10/price. Depending on what price you’re guided by (back or lay), you would put 10/back_price or 10/lay_price in the Amount field of the trigger.
Furthermore, think ahead: what if you want to increase your stake in future? You would need to replace 10 with a new figure. Imagine if this 10 is used in more than one trigger, or in multiple conditions? Create a variable for this value, preferably a constant, call it bet_base or something else that would ring a bell, and use it in all your formulae. Then you’ll have to change its value only once, if needed – this will save you a lot of time and trouble, and this approach is also less prone to errors.
4. Reuse of Working Triggers
If you came across a trigger or trigger file that works for you, save them so that you could re-use them in future! Making triggers for an elaborate staking plan from a scratch can prove to be a tedious and often unnecessary work. Take advantage of the ready solutions that you can find on our web site and in the library of triggers that comes with the program. Invest some time in understanding why they work well, analyse the structure and order of those triggers. Try them (in Test Mode) and play with them by making slight changes first, then accommodating them to your needs.
The Trigger Editor that comes with the program allows you to copy, paste, clone and rearrange triggers, conditions and their blocks in various manners.
Don’t be afraid of experimenting and proceeding by trial and error (again, as long as you are in Test Mode!). We often receive standard requests from customers asking us to change a trigger example to suit their needs. In most cases all they want to do is to modify just one figure, or to change “back” for “lay”! Be reasonable and value your time and the time of the tech support team: you can do it yourself! And you will learn in the process, which will help you in future!
5. Distinct Structure
Keep it simple and break complex entities in clear and reusable parts. Employing a formula that has 300 members and 200 brackets in the majority of cases is a disaster: it will take longer for the program to parse it, it is a most certain candidate for an error in a trigger expression, and you will find it extremely difficult to support and modify such a monster. Analyse it and try to break it in simpler parts. Create user variables that will hold intermediate values for the bigger formula. The advantage of this method is that you’ll be able to check each intermediate value in the User Variables window or in the log file.
Think of ways to avoid using such formula altogether: have you explored all the tools that triggered betting can offer? Are you using this formula to make a sum of, say, 50 selections’ prices? In that case you can do it with just one simple trigger that “sets user variable” with the name of, say, my_sum to my_sum + back_price. If you apply this trigger to all selections in the market, it will be executed as many times, as the number of selections, and it will effectively give you the sum!
6. Understanding What Goes Wrong and Why
Use trigger logs extensively! Make it your usual routine. Never try to guess why a trigger is not working or working not as you expected before you’ve checked the log, because in most cases you will fail. We, the developers, regularly look into the logs ourselves, and you would imagine we understand each bit of triggered betting.
Logs are made specially to record every step of executing a trigger or checking its conditions. They consist of simple sentences in English and are aimed at a user, not at a programmer. You can immediately spot an error in your trigger expression because the corresponding line will be highlighted in red. In more complicated cases there will be a condition that is not met – in that case usually the program says “The remaining conditions will not be checked”, and that will mean the previous condition is the stumbling block.
If you use trigger expressions in any part of the trigger, it makes sense to turn on logging trigger expressions as well. You will see the exact result that each expression was evaluated to, which will help you with conditions that depend on expressions.
Be ready that if you contact support with a question “Why isn’t my trigger working?”, we will always ask for your logs. If you don’t have them at hand, we won’t be able to help!
7. Knowing the Full Scope of Triggered Betting
MarketFeeder Pro provides you with 50 trigger actions and numerous conditions and other tools (including the program’s settings) for constructing a perfect betting routine. It would be such a shame if you only used 1% of what’s on offer just because you hate reading manuals. Not only knowing the available functionality saves you time, it makes your triggers more flexible, reusable, expandable and easy to support and understand. Trying to get to grips with triggers without first going through the manual (or at least its “Getting Started” section) will seem a nightmare and that’s how many people just give up after one day of using MF Pro. But will you drive a car without learning how it works first? Yet won’t you enjoy driving it eventually, after you’ve appreciated all its gizmos?
8. Understanding the Data Flow
Being aware of how the program obtains and processes the data from the exchange is key to making good triggers. Remember that all automated betting, triggers inclusive, is performed after a market has been refreshed. Therefore a trigger always deals with fresh market info. However it’s different with bets and account statement. Your bets may be updated separately from markets, and therefore if a trigger checks bets or data related to bets, it should be updated more rarely than your bets, to be on the safe side. Your account statement on the other side is usually updated only once in about 20-40 seconds (depending on your settings), and because of that the program registers a special event every time there are new transactions in the statement. This way dealing with them is easier through a trigger condition “Account Statement has changed”. But normally you would access settled transactions and P/Ls from triggers that get executed in settled markets.
9. Testing and discretion
You know that your triggers work only after you have tested them well! Do not get tricked by the first (often accidental) success of the bets that they placed. Make sure it’s sustainable. Run them through a series of at least 20 markets in a row, check the results carefully. Have the Test Mode turned on and utilise the Bet Settlement Simulator vastly, with different parameters. Then, having switched to real money, start from the smallest stakes, gradually increasing them as you gain confidence in your triggers. Make backups of what works in 100% before changing things. This is the exact tactics we, the developers, employ when offering trigger examples, and it never failed us.
10. Being a part of the online community
Finally, if you can’t figure it out on your own and can’t wait till you get an answer from the support, go online and ask for help from our online community! You will find a lot of friendly advice there, as well as descriptions of problems similar to yours with possible solutions. Just don’t be afraid to ask and try new things!