FAQ MarketFeeder Pro - Bot BetFair Scommesse - attivato automatizzato delle scommesse software
- Come si innesca un trigger 45 secondi dopo o prima del start?
- Dopo aver avviato MF Pro e aperto i 'Triggers', non riesco a visualizzare quelli aggiunti l’ultima volta.
- Posso fare in modo che le scommesse vengano bloccate quando il mio saldo raggiunge un certo livello?
- I miei trigger non funzionano. Cosa devo fare?
- Come posso calcolare la somma da puntare per vincere £100?
- Come posso applicare le tecniche di puntata?
- Come posso cancellare un trigger se un’altro ha funzionato?
- Come posso comparare la quota attuale con quella di un’ora fa’?
- Come scommettere una percentuale del intero saldo.
- Come posso scommettere su una selezione, basandomi sulla posizione nella lista piuttosto che sulla quota.
- Come fare in modo che un trigger scommetta la somma scommettibile di default specificata per quel market
- Come marcare e togliere tutte le selezioni nel market
- How to bet to a fixed liability/payout
- How to bet on the selection with the specific BetFair order
- How to cancel all unmatched bets if at least one was matched
- How to cancel unmatched bets and post them at the best price before the start of the event
- How to Dutch Selections Chosen By Specific Conditions
- How to bet in races with a specific number of runners?
- How to stop betting after x wins/losses in a row?
- How to back at lay odds and lay at back odds?
- How to eliminate the loss on possible winners In-Play?
- How to apply triggers to specific markets
- How to apply various stop-loss methods
- How to determine whether the previous event affected by a trigger has finished
- How to apply the 'Fill or kill' rule?
- Betting on selections whose IDs are given in Excel
- Come scommettere nelle corse con una certa distanza
- Maximum Number of Markets - Some Notes
- In order to prevent the software freezing while it is obtaining the data from the Internet or putting them into the Excel spreadsheet, such slow processes are maintained in so-called "threads". A thread is a separate process that is launched independently (in terms of time) from the main program. The more slow processes are required the more threads need to be created.
- Every market you add to MarketFeeder Pro involves several threads - the slowest ones perform retrieving the list of selections and getting the current prices from BetFair. Plus sending these data into the spreadsheet.
- Apart from refreshing the markets the software needs to keep an eye on the current list of your bets, your available funds, account statement and the list of triggers, offsets and books. It needs to write down the information about the markets into the log files. The price that we pay for the versatility of the software is the load on our computer resources.
- Finally we get to the most important part: your computer resources are finite. You can't consume them boundlessly. There is a limit of total processes that can be run by your CPU, or bits of information stored in your computer's RAM. So it's not a surprise that MarketFeeder Pro operates within these limits. It's got the same CPU, RAM and Internet line that are shared by the other pieces of software and hidden system processes.
- When you add too many markets to MF Pro and begin refreshing them too frequently the software does its best to provide the requested data at a given speed. Thus it opens as many threads as it can to make you be able to manipulate the main window and spreadsheet without the need to wait until the required data are obtained from BetFair. At some critical point - if you keep adding the load - the application will reach its allowed limit. This limit is different for every computer and depends on many factors. At this point the software will stop working and quit - because this is the way the operational system protects itself from crashing altogether.
- È necessario che sul computer sia installato MS Excel per un corretto funzionamento di MarketFeeder Pro?
- MarketFeeder Pro supporta valute differenti?
- Vi sono limiti di entità delle scommesse?
- Il sistema supporta mercati multipli?
- Che cosa significa Triggered Betting?
- Posso lanciare le mie macro nel foglio di calcolo collegato a MarketFeeder Pro?
- In che modo può aiutarmi a guadagnare soldi?
- Devo pagare una quota aggiuntiva per utilizzare BetFair API?
- Non trovo un trigger adatto negli Esempi dei trigger
- Cosa posso fare se collego MarketFeeder Pro a Excel?
- Cos'è Auto-Greenup?
- Quanti trigger posso mantenere contemporaneamente?
- Posso collegare fogli di calcolo esterni a MarketFeeder Pro?
- Potrò utilizzare il software a casa E in ufficio?
- Quali sono i mercati in cui poter eseguire degli scambi?
- Posso impostare un trigger che osservi o scommetta su concorrenti diversi?
- MarketFeeder Pro può scommettere nei mercati In-gara?
- Posso controllare lo stato dell'evento (per esempio Sospeso o In-gara) nei miei trigger?
- Cosa succede alle mie scommesse con arbitraggio (Dutching) quando uno o più concorrenti vengono squalificati?
- Quali opzioni posso impostare per l'Auto-Dutching?
- Importo massimo che sei pronto a spendere su una selezione
- Importo da vincere (o perdere) per ciascuna selezione
- % minima di profitto
- Scommettere sul lato Punta o Banca (o entrambi)
- Scommettere sulle prime ...selezioni (e pertanto calcolare la % di book solo per quelle selezioni)
- Interrompere dopo ciascun Dutching (per darti il tempo di controllare se tutto è corretto)
- Regolare le somme (se la dimensione calcolate della scommessa è superiore alla somma offerta nel mercato)
- Scommettere In-gara (se attivare l'Auto-Dutching quando il mercato è In-gara)
- Come posso impostare un trigger che mi consenta di "Dutch" i quattro migliori concorrenti?
- Ho 2 conti Betfair e avvio 2 sistemi; vorrei lavorare su entrambi i conti Betfair utilizzando il vostro software, uno dal pc e uno dal portatile. È possibile?
- Posso salvare e richiamare i trigger definiti e passarli ad un altro utente?
- Posso vendere i trigger?
- È sicuro utilizzare MarketFeeder Pro?
- Can I test my staking plans with MarketFeeder Pro?
- A partire MF pro cause di chiusura inaspettata. Perche?
- Excel Cell References
- Cell Addressing
- Go to cell A7.
- Type 1. Press Enter.
- Type 1. Press Enter.
- Type 1. Press Enter.
- Go to cell B7.
- Type 2. Press Enter.
- Type 2. Press Enter.
- Type 2. Press Enter.
- Go to cell A10.
- You should be in cell A10.
- Type =.
- Use the up arrow key to move to cell A7.
- Type +.
- Use the up arrow key to move to cell A8.
- Type +.
- Use the up arrow key to move to cell A9.
- Press Enter.
- Look at the Formula bar while in cell A10. Note that the formula you entered is recorded in cell A10.
- You should be in cell A10.
- Choose Edit > Copy from the menu. Moving dotted lines appear around cell A10, indicating the cells to be copied.
- Press the Right Arrow key once to move to cell B10.
- Choose Edit > Paste from the menu. The formula in cell A10 is copied to cell B10.
- Press Esc to exit the Copy mode.
- Highlight cells A7 to B9. Place the cursor in cell A7. Press F8. Press the down arrow key twice. Press the right arrow key once. A7 to B9 should be highlighted.
- Click the Copy icon
, which is located on the Formatting toolbar. - Use the arrow key to move the cursor to cell C7.
- Click the Paste icon
, which is located on the Formatting toolbar. - Press Esc to exit Copy mode.
- Move the cursor to cell C10.
- Type =.
- Use the up arrow key to move to cell C7.
- Press F4. Dollar signs should appear before the C and before the 7.
- Type +.
- Use the up arrow key to move to cell C8.
- Press F4.
- Type +.
- Use the up arrow key to move to cell C9.
- Press F4.
- Press Enter. The formula is recorded in cell C10.
- Your cursor should be in cell C10.
- Hold down the Ctrl key while you press "c" (Ctrl-c). This copies the contents of cell C10.
- Press the right arrow once.
- Hold down the Ctrl key while you press "v" (Ctrl-v). This pastes the contents of cell C10 in cell D10.
- Press Esc to exit the Copy mode.
- Move the cursor to cell E1.
- Type =.
- Press the up arrow key once.
- Press F4.
- Press F4 again. Note that the column is relative and the row is absolute.
- Press F4 again. Note that the column is absolute and the row is relative.
- Press Esc.
- Text and Values in One Cell
- How To Use Excel IF Function
- Functions
- How to Determine whether VBA is Enabled
- Adjusting formulas to your Regional Settings
- From the Taskbar, click Start -> Settings -> Control Panel
- In Control Panel, double-click Regional Options or Regional Settings
- Click the General property page. Check the language that your computer is using
- Click the Number property sheet. Examine how the numbers are configured for your computer. Here is an example:

- Click the Currency property sheet. Check how the money value is set to display in your computer.
- Click the Date property page. Check how dates are set to display in your computer:

- Click the Time property sheet. Review how the numbers are set to display in your computer.
- When you have finished examining the property sheets, click Cancel (unless you want to save or apply the changes you might have made, in which case you would click OK).
- replace all commas with semi-colons. Example: instead of "=IF(5>6, 4.2, 6.1)" write "=IF(5>6; 4.2; 6.1)"
- replace all periods with commas. Example: instead of "=IF(5>6; 4.2; 6.1)" write "=IF(5>6; 4,2; 6,1)"
- Excel AND Function
- Excel Date and Time Format
- 1.0 is 1 day.
- 0.5 is half of the day - that is 12:00
- 1.1 is 1 day, 2 hours and 24 min
- 30.5 is 30 days and 12 hours
- How to optimize the load on computer resources
- Do not start Excel if you are not planning to utilize any sheets and formulas stored in cells. The speed of connection to Excel is extremely low, and the software has to spend substantial CPU resources on maintaining this connection. If you do need to use Excel, think which markets you need to see there, and which can be monitored inside the application only. For example, if you only use Excel for trading in horse races, then there is no point in displaying football or financial markets there.
- While editing triggers, it is recommended to break them into separate files, containing no more than 10 triggers in each.
- Minimize the default market history depth (on the “General Options” tab). For example, if you only analyze the change of price within the last 5 minutes, there is no sense in keeping the history of the last 30 minutes.
- Unless it is absolutely necessary, do not monitor more than a couple of markets simultaneously. You can add as many markets as you wish to the “My Markets” list. Yet starting all of them at a time will certainly make MarketFeeder Pro put them in a queue, and the average refresh rate may become very low. There are options that allow you to start monitoring markets at a certain time before their beginning, and stop monitoring them at some point after their start. Use these options whenever possible.
- Keep the refresh rate of each market within reasonable bounds. Assign different refresh rate for in-play and idle markets. There is usually no sense in updating a horse or greyhound race once per second at 2 hours before their beginning.
- Edit the frequency of updating the list of bets and account statement. These options are available on the “Betting Options” tab of the “Settings” window. If you are not using any staking plans which are based on the outcome of the previously settled event, set the refresh rate of the account statement to around 5 minutes or more.
- Turn “Retrieve all price offers” off (“General Options”, under “Selection Info”), if you don’t need to use the amounts offered at all prices for each selection.
- Close “Price Ladder” if you do not need it – it consumes much traffic.
- Configure the “UK and Australian Markets” tickboxes (“General Options” tab) – untick those that you won’t be using.
- Choosing your own winners when testing a system
- How to apply triggers to specific selections
- Come applicare i staking plan al proprio trigger
- Working with User Variables. Lesson 1
- Working with User Variables. Lesson 2
- Using Command Line to start the program
- Limiting the liability of a bet
- Dutching in place markets (markets with multiple winners)
- Transferring funds between main and Australian wallets
- Addressing win and place markets through variables. Lesson 1.
- How to know which trigger is working at the moment?
- Scommettere meno di 2 EUR - un'informazione importante
- Controlling the number of betting transactions
- Betting at Starting Price (SP)
- Collegare i mercati con uno e più posti con le variabili. Lezione 2.
- Scegliere il favorito tra selezioni importate
- Tips for Programmers
- FORMULA LA TUA DOMANDA
Semplicemente aggiungi al tuo trigger le seguenti condizioni.
Per iniziare prima del start:
Minutes Before the Off is equal or less than 0.75
Per iniziare dopo il start:
Minutes Since the Off is equal or greater than 0.75
I trigger vengono caricati nel software dopo il caricamento del diagramma eventi e "My Markets". L’ordine di caricamento e’ cruciale poiché, se un Trigger si riferisce ad un market specifico non ancora caricato, esso non potrà operare correttamente.
Pertanto devi attendere che entrambe le liste del diagramma eventi e "My Markets" siano caricate. Premi poi un’altra volta il bottone "Triggers".
Ci sono due modi per farlo.
1. Edita "Betting Options", "Banking":
Stop automated betting when the total bank has reached ...
2. Aggiungi al tuo trigger le seguenti condizioni:
Trigger Expression total_funds is equal or greater than [insert amount here]
Nota: Se stai operando in modalità Test, le condizioni dovranno fare riferimento ad una variabile differente.
Trigger Expression test_funds is equal or greater than [insert amount here]
Prima cosa, accertati di aver attivato il bottone di scommessa con trigger. Se il bottone accanto a "Trigger" appare così:
, dovrai premere il bottone luminoso che diventerà verde una volta attivati i trigger.
Inoltre apri i tuoi trigger e accertati che siano attivi. Se i trigger non sono attivi assumono una colorazione grigia. Il campo "Execute" non dovra’ essere settato su "never". C’e’ un modo veloce per stabilire quali trigger siano attualmente attivi. Clicca semplicemente sulla barra situata infondo all’applicazione:

Si aprirà una finestra e sulla destra potrai visualizzare I trigger attivi.
Se anche questo non ti aiuta analizza attentamente le informazioni sui trigger logs (dei file informativi). Potrai accedere ai trigger logs cliccando sulla fila di trigger nella finestra sopracitata. I trigger logs conterranno tutte le informazioni di cui hai bisogno per conoscere il motivo della non esecuzione dei tuoi triggers.
Controlla anche l’opzione: "No triggering till ... mins before the event's start". Accertati che non blocchi i triggers.
Amount: 100/(back_price-1)
Allo stesso modo se vuoi bancare ad una responsabilità di £100, usa la formula seguente:
Amount: 100/(lay_price-1)
Utilizzando "Win/Lose Trigger Variables" puoi sfruttare varie tecniche di puntata con trigger su MF Pro.
Qui alcuni esempi.
1. Puntare o bancare £10 e recuperare le perdite nelle scommesse successive. Tornare poi alla puntata iniziale una volta che la scommessa e’ vinta.
Amount: IF(last_lost=0, 10, 10+last_lost)
2. Bancare ad una responsabilità di £10 e recuperare le perdite nelle scommesse successive. Tornare poi alla puntata iniziale una volta che la scommessa e’ vinta.
Amount: IF(last_lost=0, 10/(lay_price-1), 10/(lay_price-1)+last_lost)
3. Puntare £10, e se la scommessa e’ persa, aggiungi £10 ad ogni successiva puntata, fino vincere. Torna poi alla somma della scommessa iniziale. Esempio, 10, 20, 30, 40, ecc.
Amount: IF(last_lost=0, 10, 10+hist_1_backa)
Per bancare:
Amount: IF(last_lost=0, 10, 10+hist_1_laya)
4. Bancare £10 e raddoppiare la somma scommessa dopo due perdite, finché la scommessa e’ vinta. Poi interrompi. Esempio: 10, 10, 20, 20, 40, 40
Amount: IF(last_won=0, 10, IF(AND(last_lost>0, losses%2=0), hist_1_laya*2, 0))
Condizioni da aggiungere al trigger:
Total Won Amount is equal or less than 0
5. Aggiungi le vincite di una scommessa precedente alla somma successiva da scommettere. Resetta la somma della scommessa al valore iniziale se viene persa. Esempio: 10@1.4 (won), 14@2.2 (won), 16.8@4.5 (lost), 10
Amount: IF(last_won>0, 10 + hist_1_backa, 10)
Lo puoi modificare in modo che si blocchi, dopo un certo numero vittorie consecutive.
Ad esempio, per resettare la somma all’iniziale £10 dopo tre vittorie di fila, cambia il campo dell’ "Amount" a:
Amount: IF(AND(last_won>0, wins<3), 10 + hist_1_backa, 10)
6. Bancando al profitto di £10, se poi la scommessa persa recupera le perdite più il 50% del target iniziale di profitto. I.e.: £25@1.4 (lost), £33.33@2.2 (lost), £20.95@4.5 (won), £10 etc.
Amount: IF(last_lost=0, 10/(back_price-1), (10+last_lost + 5)/(back_price-1))
C’e’ un’azione trigger particolare "deactivate trigger/block". Questa funzione rende il trigger selezionato inattivo (setta i suoi campi su"Execute"e su "never"). Puoi applicare quest’azione se ci sono alcune condizioni. Per esempio:
Trigger 1
Action: deactivate trigger/block Trigger 2
Conditions:
Any Selection's Back Matched is greater than 0
Trigger 2
...
Questo esempio spiega come Trigger 1 disattiva Trigger 2 non appena viene rilevata nel mercato almeno una scommessa abbinata.
Se vuoi compiere alcune azioni e disattivare simultaneamente un trigger, e’ meglio farlo in quest’altro modo. Nel trigger, che dev’essere disattivato quando un altro e’ in esecuzione, si aggiungano le seguenti condizioni:
Trigger or Trigger Block [trigger name] has not been executed
Ciò garantirà il non funzionamento del trigger (se un trigger specificato come [nome del trigger] e’ stato eseguito almeno una volta).
Per esempio:
Trigger 1
Action: lay
Price: lay_price
Amount: 10
Conditions:
Any Selection's Back Matched is greater than 0
Trigger 2
Action: cancel back
Conditions:
Any Selection's Back Unmatched is greater than 0
and Trigger or Trigger Block Trigger 1 has not been executed
Ci sono due modi: Con una condizione speciale di trigger, e con un avariabile di trigger.
1. Condizione del Trigger
Selection's Back Price Dif over [x] mins
Selection's Lay Price Dif over [x] mins
Inserendo un numero al posto della [x], otterrai la differenza assoluta fra le quote entro x minuti. La parola "assoluto" significa che la differenza non viene data in tick di quote. Ad esempio, se il la quota di puntata era 4.0 dieci minuti fa, e ora e’ diventata 4.4; le condizioni saranno:
Selection's Back Price Dif over 10 mins is equal to 0.4
Saranno precise, poiché la quota e’ cambiata esattamente di 0.4. Se fosse stata 4.4 cinque minuti fa, e diventata 3.8, allora le "Selection's Back Price Dif over 5 mins" sarebbero -0.6.
Inoltre, per conoscere quanto una quota sia cambiata nell’arco di un’ora, crea una condizione simile:
Selection's Back Price Dif over 60 mins ...
oppure
Selection's Lay Price Dif over 60 mins ...
2. Espressioni del Trigger
Ci sono speciali variabili di trigger che rendono nel tempo la differenza delle quote come un valore assoluto, o come numero di tick. Esse sono, rispettivamente, pdif_[number] e tdif_[number]. Puoi usare queste variabili in espressioni trigger. Per scoprire se la quota di puntata e’ cresciuta più di 5 tick negli ultimo 20 minuti, crea le seguenti condizioni:
Trigger Expression tdif_20 is greater than 5
Altro esempio: scopri se la quota e’ scesa più del 20% negli ultimi 15 minuti:
Trigger Expression -pdif_15*100/(back_price-pdif_15) is greater than 20
Se la quota era - diciamo - 6.0 quindici minuti fa, ed e’ diventata 5.0, allora pdif_15 tornerà -1.0. Inserendo queste figure nella formula otterremo:
--1*100/(5--1) = 100/6 = 16.67%
Così non sarà maggiore di 20.
Esempi
1. Banca su ogni selezione le cui quote siano aumentate di 3 o più tick negli ultimi 10 minuti:
Action: lay
Price: lay_price
Amount: specify amount
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per market
Conditions are met:
Any Selection's Lay Price is greater than 0
and Trigger Expression tdif_10 is equal or greater than 3
2. Banca su ogni selezione le cui quote siano aumentate del 20% negli ultimi 10 minuti:
Action: lay
Price: lay_price
Amount: specify amount
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per market
Conditions are met:
Any Selection's Lay Price Dif over 10 mins is equal or greater than (lay_price-pdif_10)*0.2
3. Punta su ogni selezione le cui quote siano scese del 40% negli ultimi 20 minuti:
Action: back
Price: back_price
Amount: specify amount
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per market
Conditions are met:
Any Selection's Back Price Dif over 20 mins is equal or less than -(back_price-pdif_20)*0.4
Per scommettere il 5% dei fondi disponibili, sia in modalità Test che nella realtà:
0.05*IF(test_mode=1, test_funds, total_funds)
Per scommettere il 10% del saldo, sia in modalità Test che nella realtà:
0.1*IF(test_mode=1, test_balance, balance)
Per scommettere alla responsabilità del 10% del banco, alla quota corrente di banco, applica la seguente formula:
0.1*IF(test_mode=1, test_balance, balance)/(lay_price-1)
Per scommettere ad una quota differente sostituisci "lay_price" con la quota che vuoi scommettere.
Se vuoi scommettere sulla prima selezione nella lista di BetFair's, senza considerare la quota o che sia o meno la favorite, usa il seguente schema di trigger:
Action: choose appropriate
Selections: All Matching Selections
Conditions:
Any Selection's Back Price is less than 1000
and Trigger Expression sel_index is equal to 1
Qui, la prima condizione e’ superflua, e’ necessaria solo perché il campo di "Selections" contiene la parola "Matching". La seconda selezione e’ quella che sceglie la prima selezione nella lista, mentre il sel_index riporta la sua posizione.
Se vuoi scommetter su un gruppo di selezioni, diciamo le prime 4, cambia le condizione come segue:
Any Selection's Back Price is less than 1000
and Trigger Expression sel_index is less than 5
Per applicare il trigger alle ultime 3 selezioni nella lista, scriverai:
Any Selection's Back Price is less than 1000
and Trigger Expression sel_index is between runner_number-4 and runner_number
Inserisci nel trigger i seguenti valori nel campo di Amount.
Per puntare:
Amount: default_backa
Per bancare:
Amount: default_laya
Attiva un market in "Full Mode", clicca con il tasto destro su qualsiasi checkbox accanto a "Apply GreenUp, Dutching & Triggers". Seleziona l’opzione necessaria ("Check All", "Uncheck All", "Toggle All") dal menu di pop up.
1. Backing at the current back odds
The trigger variable for the current back odds is back_price. So to back to fixed winnings you should insert the following formula:
[winnings]/(back_price-1)
where [winnings] is the amount you want to win. For example, to win £10:
10/(back_price-1)
2. Laying at the current lay odds
The trigger variable for the current lay odds is lay_price. So to lay to a fixed liability, apply the following formula:
[liability]/(lay_price-1)
where [liability] is the amount you are prepared to lose.
For example, to lay to the liability of £10, use this formula:
10/(lay_price-1)
Note: the above formulas are supposed to be inserted in the "Amount" field of the trigger.
If you want to bet on the first, second, third etc. selection, according to the order that BetFair set for this market, and not to the prices, you need to use the trigger variable sel_index, which returns the index of the selection in the BetFair list of runners.
There are many ways of adding the appropriate condition to your trigger, depending on which conditions you already have there. Here are just a couple of examples:
1. Betting on the first selection in the list.
Selections: All Matching Selections
Conditions are met:
Any Selection's Back Price is greater than 0
and Trigger Expression sel_index is equal to 1
Note: the first condition does not do anything related to the task, but it is required, because the "Selections" field is set to "All Matching Selections". So the first condition must start with "Any Selection's". As you can see, it will choose all selections in the market, because their prices are all above 0.0. Then the second condition will filter out the single selection that is number one in the list.
2. Betting on the second selection, if it is the favourite (according to its price).
Selections: Favourite
Conditions are met:
Trigger Expression sel_index is equal to 2
3. Betting on the first three selections
Selections: All Matching Selections
Conditions are met:
Any Selection's Back Price is greater than 0
and Trigger Expression sel_index is less than 4
4. Betting on the first selection if its lay price is less than 3.0
Selections: All Matching Selections
Conditions are met:
Any Selection's Lay Price is less than 3.0
and Trigger Expression sel_index is equal to 1
5. Betting on the first selection if its lay price is less than 3.0, or betting on the second selection if its lay price is less than 5.0. Otherwise don't bet at all.
Selection: All Matching Selections
Conditions are met:
Any Selection's Lay Price is less than 3.0
and Trigger Expression sel_index is equal to 1
OR
Any Selection's Lay Price is less than 5.0
and Trigger Expression sel_index is equal to 2
Note: the above trigger's conditions contain a block of conditions, connected with the OR operator.
Some strategies lay or back on all selections in the market, and cancel all unmatched bets as soon as at least one of the bets has been matched. Below is a simple trigger that shows how to do that.
1. Cancelling back bets
Action: cancel back
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per market
Conditions are met:
Any Selection's Back Unmatched is greater than 0
and Any Other Selection's Back Matched is greater than 0
2. Cancelling lay bets
Action: cancel lay
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per market
Conditions are met:
Any Selection's Lay Unmatched is greater than 0
and Any Other Selection's Lay Matched is greater than 0
If you are performing some kind of repetitive greening up or auto-dutching, you may encounter the problem of unmatched bets. If you leave them till the moment when the event starts, they will be automatically voided by BetFair, and you may be exposed to big losses.
To minimize these losses you may want to cancel all unmatched bets right before the off (say, when it's left less than 30 sec) and post them at the best price available. There are two options of doing this.
1. Stop-Loss Options
Go to "Settings", "Stop-Loss" options, and configure this option:
Post unmatched bets at best available price on these conditions:
If the time left till the off is less than ... mins
This will make MF Pro automatically adjust the price of your unmatched bets, as to make them matched. This option will suit perfectly for closing unmatched bets generated from auto-dutching, and all other non-hedging strategies.
2. Trigger - Distribute Loss Between Selections
If you were greening up, and unmatched bets left, then just posting them at the current best price, with their bet size remaining the same, will be a bad option. The better one will be distributing the loss equally among all selections in the market. For that purpose you may set up the following triggers:
Trigger 1:
2a) Cancelling Back Bets
Name: cancelling bets
Action: cancel back
Markets: choose appropriate
Selections: All Matching Selections
Market Status: Not In-Play
Execute: once per market
Conditions are met:
Any Selection's Back Unmatched is greater than 0
and Minutes Before the Off is less than 0.5
2b) Cancelling Lay Bets
Name: cancelling bets
Action: cancel lay
Markets: choose appropriate
Selections: All Matching Selections
Market Status: Not In-Play
Execute: once per market
Conditions are met:
Any Selection's Lay Unmatched is greater than 0
and Minutes Before the Off is less than 0.5
2c) Cancelling All Bets
Name: cancelling bets
Action: cancel back
Markets: choose appropriate
Selections: All Matching Selections
Market Status: Not In-Play
Execute: once per market
Conditions are met:
Any Selection's Back Price is greater than 0
and Minutes Before the Off is less than 0.5
AND
Any Selection's Back Unmatched is greater than 0
or Any Selection's Lay Unmatched is greater than 0
Note: the first condition in trigger 2c does not have any function, except that it starts the conditions list, because the "Selections" field is set to "All Matching Selections". When "Selections" contain the word "Matching", the first condition must start with the words "Any Selection's".
Trigger 2:
Action: distribute loss between selections
Markets: choose appropriate
Selections: All Matching Selections
Market Status: Not In-Play
Execute: once per market
Conditions are met:
Any Selection's Affected by Trigger cancelling bets
The second trigger is common for all three variants: it finds the selections whose bets were cancelled by the first trigger, and distributes their loss equally.
If you want to Dutch the whole field, just use the "Auto-Dutching" button and its settings in each market.
But if you want to Dutch only on special selections, chosen according to some criteria, you should set up a trigger. The trigger must pick the selections by the special conditions, and then apply one of the trigger variables: either match_b_book (if you are backing) or match_l_book (if you are laying).
For example, if you want to back-Dutch all selections whose price falls between 3.0 and 9.0, then set up this trigger:
Action: dutch back
Amount to win: input the amount you want to win
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per market
Conditions are met:
Any Selection's Back Price is between 3 and 9
and Trigger Expression match_b_book is less than 100
This trigger picks all selections priced between 3 and 9, and makes sure that the book percentage they make together is less than 100. As you know if it is equal or greater than 100, it is impossible to back-Dutch.
You can customize this trigger. For example, if you wish to bet only if the book% is between 60 and 90, modify the second trigger condition:
and Trigger Expression match_b_book is between 60 and 90
Add the following condition to your trigger:
Market's Number of Selections is ...
For example, to bet in races with 8 or more runners:
Market's Number of Selections is equal or greater than 8
Bet in a race with less than 10 runners:
Market's Number of Selections is less than 10
Note: this certainly concerns not only races, but all other types of markets as well.
1. Stop after 5 wins in a row.
Add the following condition to your trigger:
Trigger Expression wins is less than 5
2. Stop after 4 losses in a row.
Add the following condition to your trigger:
Trigger Expression losses is less than 4
3. Stop if the total won amount is greater than 10 and the number of wins is equal or greater than 6:
Total Won Amount is equal or less than 10
and Trigger Expression wins is less than 6
When you set up a betting trigger, you can set the "Price" property to any value, trigger variable or a combination of trigger variables, numbers and arithmetic expressions.
Therefore, to bet at back prices (no matter whether you are backing or laying), input "back_price". And to bet at lay prices, input "lay_price". For example:
Action: back
Price: lay_price
Action: lay
Price: back_price
If you want to place a back bet on any selection that hit a certain price value (for example 1.5), use the following trigger:
Action: spread loss
Markets: choose the type of market you will be trading in
Selections: All Matching Selections
Market Status: In-Play
Execute: once per selection
Conditions are met:
Any Selection's Back Price is equal or less than 1.5
and Fitting Selection's Profit/Loss is less than 0.0
This trigger will eliminate the loss on any selection whose price is 1.5 or lower. Thus their P/L will be showing a figure very close to zero. If there are more than one such selection, even if they take on their prices at different times, the bet will be placed on each of them.
If you want to place only one bet on the first selection, that drops below the minimum, change "once per selection" to "once per market".
MF Pro gives you the ability to apply your triggers to special gorups of markets, such as "Horse Races", "Soccer Games", "Greyhound Races" etc. But sometimes you may need to make it even more specific, for example, only handicap races, or only FTSE markets. How to do that? The answer is: through parsing the market's name.
The type of the market you want to pick can often be taken from its name. For example, handicap races contain the word "Hcap" in its name. Therefore, to make a trigger be executed only in handicap markets, simply add the following condition:
Market's Name contains Hcap
If you want to apply a trigger to daily Up or Down financial markets, add the following condition:
Market's Name contains Daily U/D
For triggering in Australian Horse races:
Market's Name contains (AUS)
and so on.
Here are several methods that you may use to stop potential loss made by one or more bets.
1. Matching unmatched bets at the best available price.
MarketFeeder Pro offers built-in options for posting your unmatched bets at the best available price, on certain conditions. Use the "Stop-Loss" tab in "Settings" to configure the conditions, on which MF Pro will match your unmatched bets automatically, in every monitored market.
You can also do this using a trigger (if you want to stipulate special conditions that are not available in "Stop-Loss" options. See an example of such trigger below:
Action: match back unmatched bets / match lay unmatched bets
Markets, Market Status: choose appropriate
Selections: all matching selections
Execute: once per market (or choose another option, if you want to do this several times)
Conditions are met:
Any Selection's ... (specify the parameters of the selections, whose bets must be matched)
2. Eliminating the loss on a specific selection, and spreading it equally among the other selections
You can create a trigger, which will remove all potential loss (zeroing the P/L) for a specified selection, and spread it equally among the other selections. Below is the trigger example:
Action: spread loss
Markets, Market Status: choose appropriate
Selections: all matching selections
Execute: once per market (or choose another option, if you want to do this several times)
Conditions are met:
Any Selection's ... (specify the parameters of the selections, whose bets must be matched)
Usually traders do this at In-Play, when the selection they laid becomes a potential winner with a low price. So one of the most frequently used trigger is:
Action: spread loss
Markets: All Markets
Market Status: In-Play
Selections: all matching selections
Execute: once per market
Conditions are met:
Any Selection's Profit/Loss is less than 0
and Fitting Selection's Back Price is equal or less than ... (here comes the lowest price limit)
3. Distributing the loss on a specific selection equally between all selections in the market.
This option is available for selections, which you laid or backed on, in case you want to compensate the potential loss with an opposite bet, thus distributing the loss in the same way, as distributing the profit with a "green up" function. For example, if you backed on a selection before the off, and at In-Play its price grew up to the limit of a potential loser, you may want to make a lay bet and "green it down". And on the contrary, if you laid on a subsequent potential winner, you will expect the program to back on the selection and distribute the loss. The difference between "spreading the loss" and "distributing the loss" is that the "spread loss" function eliminates the loss completely, plus it can do this even if you did not bet on that specific selection (for example, if its loss was generated by back bets placed on other selections). The "distribute loss" function just reduces the potential loss (makes it equal for all selections), and it will work only if you placed at least one bet on the selection.
A corresponding trigger is composed similarly to a "spread loss" one:
For laying after backing:
Action: distribute loss between selections
Markets: All Markets
Market Status: In-Play
Selections: all matching selections
Execute: once per market
Conditions are met:
Any Selection's Back Matched is greater than 0
and Fitting Selection's Back Price is equal or greater than ... (here comes the highest price limit)
For backing after laying:
Action: distribute loss between selections
Markets: All Markets
Market Status: In-Play
Selections: all matching selections
Execute: once per market
Conditions are met:
Any Selection's Lay Matched is greater than 0
and Fitting Selection's Lay Price is equal or less than ... (here comes the lowest price limit)
Add these two conditions to your trigger:
Previous Triggered Event's Outcome is settled
or Trigger or Trigger Block [choose the current trigger's name] has not been executed (overall)
This literally means: if there was at least one event where the trigger has been already executed, then check if it was settled. If not, then execute the trigger anyway.
The word (overall) here means, that you need to tick the box titled "overall". Note: before adding the second condition, you need to save the trigger, so that its name appears in the drop-down list with trigger names
Note: to be able to perform these conditions, disable the option "Delete finished event automatically" in "General Options".
First of all, if you are looking for the way to match unmatched bets at the best price, if they have not been taken within a certain period of time, use the built-in "Stop-Loss Options".
But if you want to cancel one or more unmatched bets, if they have not been matched within certain time, then use the triggers given below.
The triggers are given for back bets only. If you want to cancel lay bets, just replace all back-oriented options with the same lay-oriented options.
1. Cancelling unmatched bets, if it's been more than 5 minutes since they were placed.
Action: cancel back
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per selection
Conditions are met:
Any Selection's Back Unmatched is greater than 0
and Trigger Expression now_time - bu_backtime is greater than 5*0.000694
Pay attention to the figure "5" in the second condition. If you want to change the period of time from 5 minutes to anything else, you need to replace "5" with the new number of minutes.
The trigger is set to be executed "once per selection". It means it'll be checking unmatched bets for each selection, and will cancel them in 5 minutes after they are placed, no matter when they were placed. You can change this option to "once per market", and in that case the trigger will be activated as soon as there is at least one unmatched bet. It will cancel all unmatched bets that will meet the condition, and then will stop monitoring that market.
2. Cancelling unmatched bets, if it is 1 minute left till the beginning of the event
Action: cancel back
Markets, Market Status: choose appropriate
Selections: All Matching Selections
Execute: once per market
Conditions are met:
Any Selection's Back Unmatched is greater than 0
and Minutes Before the Off is equal or less than 1
This trigger will cancel all unmatched bets at 1 minute before the scheduled start.
Either back or lay on the selections whose order is specified by the numbers given in an Excel spreadsheet.
For example, you enter the IDs of the horses you want to bet on a daily basis, in an Excel spreadsheet. See below:
![]() |
![]() |
This means you want to bet on the second, seventh and eighth horse in a race. The numbers in the sheet indicate the position of the horse in the list of selections that BetFair forms for each market.
1. Create a spreadsheet where you will insert the values that the trigger must refer to.
2. Give the sheet where these data will be stored some name, for example, "Sheet1".
3. Now you need to allocate the cells where you will input the indices of selections. For instance, A1:A5 or A1, B1, C1. There can be any number of cells as you may want to bet on any number of selections.
4. Save the sheet somewhere where you'll be able to find it later.
5. Create the following trigger:
Action: back (or lay)
Price, Amount: type in the corresponding values
Markets, Market Status: select appropriate
Selections: All Matching Selections
Conditions are met:
Any Selection's Rank is in list cell_Sheet1_A1, cell_Sheet1_A2, cell_Sheet1_A3, cell_Sheet1_A4 ...
Instead of the ellipsis continue the list of the cells where selections IDs are stored. If there is only one such cell, then certainly the list will end at cell_Sheet1_A1.
The addresses of the cells are made up as an example. Your sheet may be called in a different way, for example "selections". In that case the address of the cell will be cell_selections_A1, or cell_selections_B5 if you choose another column and row.
6. Press the "Launch Excel" button. The program will connect to the sheet that you have just created.
7. Now add the markets you want to trade in to "My Markets", and start monitoring them. The trigger will check the aforesaid cells and place the bet on the selections with those indices.
8. Be sure to always open the previously saved sheet before pressing "Launch Excel", in order to make MF Pro connect to that sheet instead of creating a new one.
You can read the details on Excel-related variables in the help file's chapter "Trigger Variables" / "Excel-Bound Variables".
In order to place bets using only one trigger for all the markets you'll be monitoring, you can insert the list of selections IDs in the corresponding market sheets. These market sheets are created automatically for each market in "My Markets" list as soon as you press the "Launch Excel" button. They are named after the ID of the market. You can allocate a special column for the selections IDs, for example, P, and insert them in each market sheet. Then modify the above trigger:
Conditions are met:
Any Selection's Rank is in list cell_querymarket_id_P1, cell_querymarket_id_P2, cell_querymarket_id_P3, cell_querymarket_id_P4 ...


In this example the trigger will bet on "Miss Sophisticat", "Blue Dynasty" and "Zafisio" in the race "16:50 Sand", and also on other horses whose IDs will be stored in the first three cells of the "P" column of other market sheets.
If you have the names of selections rather than their IDs, then it is more reasonable to use the "Import selections for auto-trading" button. See an example here.
BetFair non concede una particolare informazione per la distanza di una corsa.
Invece la aggiunge al nome della corsa.
Quindi per applicare un trigger alle corse con una certa distanza, occorre analizzare il nome del mercato. Esempi:
Market Name contains "1m"
Ciò effettua il trigger in tutti i mercati con la distanza >= 1 miglio.
Market Name contains " 7f"
or Market Name contains " 6f"
or Market Name contains " 5f"
Questo funzionerà in tutte le corse la cui distanza è 5, 6 o 7 furlong. Si prega di fare attenzione a un carattero di spazio davanti alla distanza - ciò dà garanzie che il nome non ha alcun pattern come "2m5f" o "1m6f".
Please read the following text very attentively to avoid possible problems when you'll be trying to monitor several markets in MarketFeeder Pro. There are a couple of points that you should be aware of:
Now most of you think that they are free to set the refresh rate to 2 sec and then load the whole today's race card into MF Pro. This is wrong. Try to do the same thing with Internet Explorer. Open 40-45 instances of your Internet browser, load a market into each of them and start clicking "Refresh" or "F5" every 2 sec in every window. You will soon notice that your computer needs a reset. So why do you think there's much difference with MarketFeeder Pro?
What I'm driving at is: consider your computer's capacity before you start loading it. You may have enough memory space and powerful CPU, but a bad Internet line which will hamper the refreshing. Or you may be running other resource-consuming software on the background (like Norton Antivirus or other kinds of firewall or anti-virus software). Applications like MSN, ICQ or chat windows also eat their share of Internet and CPU. Background Windows security update is the thing you need to take into account to.
So try to increase the load step by step - starting from maybe 3-4 markets and then adding more of them once you have realized that MF Pro is performing well enough.
And of course, don't forget to consider one or more of the following advices:
NO, non vi è alcun bisogno che sul computer sia installato Excel o qualsiasi altro software di fogli di calcolo. È possibile utilizzare MarketFeeder Pro 5.0 senza questo software.
Il collegamento a Excel è solo una opzione disponibile, ma non un requisito imprescindibile del sistema.
No, MarketFeeder Pro consente di effettuare scommesse a partire da frazioni di 0,01 della tua rispettiva valuta.
Triggered Betting (La Scommessa comandata da trigger) è un modo di impostare le tue condizioni di esecuzione dell'azione di trading che hai in mente. A seconda che queste condizioni siano vere o false, i tuoi trigger possono avvisare, inviare email, scommettere, cancellare o eseguire queste azioni insieme ad altri parametri diversi. Cliccare qui per ulteriori dettagli.
Sì, è possibile collegare MarketFeeder Pro ad un foglio di calcolo con qualsiasi configurazione e livello di complessità. Può avere tasti, fogli, funzioni, macro integrate, ecc.
Innanzitutto, i trader con una esperienza moderata possono guadagnare soldi facilmente, utilizzando le funzioni di trading più comuni, come "Auto-Greenup" and "Auto-Dutching". Queste agiscono in modalità completamente automatica e, ad eccezione di casi veramente rari, vedrai subito crescere i tuoi profitti.
Se conosci una strategia redditizia, MarketFeeder Pro può aiutarti ad implementarla senza dover stare sempre davanti al computer. Ti farà risparmiare tempo e incrementerà i tuoi guadagni. Consulta la lista degli esempi di trigger sul nostro sito web e dai uno sguardo a come sia semplice realizzare scommesse pianificate.
Se sul tuo computer è installato MS Excel, sarà possibile ampliare la gamma di azioni che puoi effettuare con MarketFeeder Pro.
Innanzitutto, potrai utilizzare le cosiddette "Custom Cells": ti consentirà di visualizzare ed accedere ad informazioni aggiuntive relative alle selezioni e ai mercati. Potrai definire queste informazioni aggiuntive con formule ed espressioni da te scelte e, successivamente, richiedere a MarketFeeder Pro di visualizzarle nel foglio di mercato, insieme ai normali dettagli di mercato. Per esempio, potrai visualizzare le possibilità di vincita della selezione indipendentemente dalle quotazioni decimali. Ciò può essere realizzato creando una cella personalizzata con la formula 100/back_price, dove back_price è una variabile di trigger integrato che richiama la quota di back di una selezione.
Inoltre, potrai visualizzare i mercati selezionati nel foglio di calcolo al quale ti collegherai. Ciascun mercato è visualizzato in un foglio separato. Potrai utilizzare ciascuna cella nei tuoi calcoli. Potrai inoltre collegare i tuoi fogli di calcolo pre-formattati a MarketFeeder Pro e utilizzare i risultati delle tue formule nella scommessa condizionata da trigger, iniziando così in base ai tuoi calcoli.
Infine, se si dispone anche di abilità di programmazione, potrai inviare e annullare le puntate direttamente da Excel, utilizzando gli esempi delle funzioni suggeriti nel file di guida.
Greening-up è una funzione di puntata, spesso definita come "hedging", o "offset betting", o "chiudere la posizione", che consente di generare un profitto uguale su tutte le selezioni, indipendentemente dal risultato dell'evento. È basato sulla scommessa di punta a quotazioni elevate e sulla scommessa di banca a quotazioni basse, o in altre parole "acquistare basso, vendere alto".
Auto-Greenup è una funzione di MarketFeeder Pro che segnala il mercato in cui è stata effettuata la puntata, se le quote correnti lo consentono. Pertanto, se hai precedentemente bancato, la funzione di Auto-Green cercherà di eseguire una scommessa di punta a quote più alte e viceversa: se hai eseguito una scommessa di punta , attenderà fino quando sarà possibile eseguire una bancata e chiuderà la tua posizione.
Tutti i calcoli sono effettuati automaticamente.
Il numero dei trigger è illimitato. MarketFeeder Pro eseguirà tutti i trigger attivi memorizzati nel file dei trigger da caricare.
Sì, certo. I trigger ti consentono di scegliere una o più selezioni con le quali intendi lavorare, anche se le stesse si trovano in mercati differenti. Puoi ricercare le selezioni per nome, posizione all'interno della lista (Favorito, Secondo favorito, Probabile perdente, ecc.), oltre che per i parametri speciali che queste selezioni possono avere. I parametri possono essere definiti in base alle condizioni dei propri trigger. Per esempio, puoi scegliere tutte le selezioni che hanno un range di quote specifico.
Sì, MarketFeeder Pro rileva lo stato dell'evento e ti consente di piazzare o annullare scommesse quando un mercato è In-gara. Laddove i mercati supportino una pesistenza di scommesse, potrai far sì che MF Pro mantenga le scommesse non abbinate In-gara, o abbinarle alla quota iniziale.
Tu puoi scommettere manualmente, sia nell'area di scommessa speciale sia tramite one-click, e impostare anche i trigger che verranno eseguiti nei mercati In-gara.
Sì, puoi far sì che un trigger venga eseguito solo in determinati stati di mercato: In-gara, In-attesa, Sospesa o una combinazione di queste.
Inoltre, vi è una variabile di trigger speciale che rileva lo stato corrente del mercato (market_inplay). Puoi utilizzarla nei tuoi trigger.
Dopo la squalifica di un concorrente, tutte le scommesse abbinate e non abbinate piazziate vengono annullate. Pertanto, tramite dei semplici calcoli, potrai vedere che, se hai effettuato delle scommesse di punta, le tue vincite aumenteranno. Rimuovendo una delle scommesse di punta, aumenterai il profitto su ciascun concorrente rimasto nella lista.
Al contrario, se stavi scommettendo sul lato di banco, la rimozione di almeno uno dei concorrenti danneggerà gravemente lo schema P&P. Le scommesse di banco annullate erano la fonte del profitto per tutti gli altri concorrenti, perciò dopo la loro rimozione perderai una certo importo su tutti i concorrenti sui quali hai scommesso.
Perciò è ragionevole effettuare dei Dutchings di banco solo se si è sicuri al 100% che nessun altro concorrente sarà squalificato nel corso della giornata. Purtroppo è difficile prevedere queste eventualità.
Le opzioni disponibili sono:
Purtroppo questo non è possibile a meno che non vengano acquistate due copie di MF Pro. Non abbiamo alcun modo di verificare che entrambi gli account appartengano al tuo nome.
Ma se dopo ave acquistato MF Pro, cambi il tuo username, noi possiamo sostituirlo gratuitamente, se ci invii una mail specificando il tuo username vecchio e nuovo.
Sì, tutti i trigger possono essere salvati in file di testo con estensione *.XML. Quando stai creando i trigger nella finestra "Triggers", puoi premere il tasto "Salva come" e salvare i trigger in un file sul tuo computer. Puoi mandare quindi questo file ai tuoi amici che possono aprirlo utilizzando semplicemente il tasto "Apri". È semplicissimo!
Puoi creare la tua raccolta di trigger, salvandoli in file diversi.
Sì, sei assolutamente autorizzato a vendere i tuoi trigger file ad altre persone. MarketFeeder Pro dispone infatti di un'interfaccia apposita. Dopo la creazione dei trigger da vendere, è possibile criptarli con una password e limitarne anche l'apertura ad una copia specifica di MarketFeeder Pro.
I file criptati possono essere aperti ed eseguiti, ma nessuno potrà vedere o modificare i campi dei trigger.
MarketFeeder Pro non memorizza le tue informazioni segrete, neanche sul tuo computer. Fa passare la tua username e password in Internet una sola volta, al momento del login, e solo su BetFair, attraverso una connessione che è protetta con una SSL encryption a 128-bit.
Noi non memorizziamo le vostre password sui nostri computer e non le facciamo passare da nessuna parte eccetto che su BetFair. MarketFeeder Pro è stato testato dai tecnici BetFair, prima che gli venisse riconosciuto il diritto di essere la soluzione ufficiale BetFair.
Yes, with new version 6.0 you can simulate settling markets as frequently as you want. This gives you an opportunity to quickly test any strategy or staking plan without actually waiting for the events to finish.
Nota, si deve fare con un account con privilegi di amministratore.
More often than not when we create a formula using one of Excels built-in functions we will be referring it to a cell or range of cells. An example of a single cell reference would be A1. An example of a range of cells reference would be A1:A10. For the first example we are referring to the content of cell A1 only, while in the second example we would be referring to the contents of cells A1, A2, A3, A4, A5, A6, A7, A8, A9, A10. Using the reference A1:A10 is just a simple method that Excel will automatically recognize. If we use the reference A1:C5 we are telling Excel to refer to the contents of cells A1, A2, A3, A4, A5, B1, B2, B3, B4, B5, C1, C2, C3 C4, C5.
Relative Cell References
In Excel there are two types of cell references, these are Relative and Absolute. We will first look at relative cell references. All the examples in the Cell References paragraph are what are known as relative cell references.
As you may remember in lesson 1 we discussed that each cell on an Excel Worksheet has it’s own unique address, e.g. A1 is the relative address of the first cell on all Worksheets, while IV65536 is the relative address of the last cell on all Worksheets. The reason why they are called relative is because they are relative to the cell they are used in. This will be best explained by a simple example.
In cell A1 type the number 1 and in cell A2 type the number 2.
Select cells A1:A2 and use the Fill Handle to fill down to A10, so that we have the numbers 1 to 10 in cells A1:A10.
In cell B1 type this simple reference: =A1 and push Enter.
Select cell B1 and do one of the following
Copy and then select B2:B10 and paste.
Double click the Fill Handle.
You should now have the numbers 1 to 10 in both A1:A10 and B1:B10. This because we typed a relative cell reference in cell B1 (=A1), which is telling Excel to make cell B1 equal the value of the cell one column to the left on the same row i.e. A1. So when we copy the reference in B1 i.e. =A1 and paste it into cell B2 Excel is still going to reference the cell one column to the left on the same row i.e. A2. Copying the same cell (B1) and pasting it into cell B3 again tells Excel to reference the cell one column to the left on the same row i.e. A3.
Lets now copy the content of cell B1 and paste it into cell D1, this time we should get the result 0 (zero). If you click in cell D1 and look in the Formula bar you will see the relative cell reference: =C1. The reason we get the result of 0 (zero) is because the value of an empty cell is 0 (zero).
Absolute Cell References
Ok, let’s now look at what an Absolute cell reference is. Basically an absolute cell reference is a reference to a cell that does not change no matter where it is copied. Again this will be easier to see by using an example.
Delete the contents of cells B1:B10 and D1.
In cell B1 type the absolute cell reference =$A$1 and push Enter.
Select cell B1 and either
Copy and then select B2:B10 and paste.
Double click the Fill Handle
This time you should have the number 1 in cells B1:B10 and if you select any cell in B1:B10 and look in the Formula bar, they will all have the absolute cell reference =$A$1. This is because by using the $ (dollar sign) we are telling Excel to always refer to the same cell no matter where we copy this reference to. The $ in front of the A ($A) is telling Excel to make the column reference absolute, while the $ in front of the 1 ($1) is telling Excel to make the row reference absolute. So the reference in its entirety is what is known as an Absolute cell reference.
If you grasped this concept we can move on to what is known as a either an:
Absolute row relative column reference or;
Relative row absolute column reference.
Again the best way to see this is by using a small example.
Relative Row Absolute Column Reference
Try this:
Delete the contents of cells B1:B10.
In B1 type the Relative row absolute column reference: =$A1 and push Enter.
Select cell B1 and either.
Copy and then select B2:B10 and paste.
Double click the Fill Handle
You will have the numbers 1 to 10 in cells B1:B10. This is because the row portion of the reference (1) is relative. Now copy cell B10 to cell D1 and you should get the result 1. This is because the column portion of the reference ($A) is absolute. If you click in any cell in the range B1:B10 or D1 and look in the Formula bar you will see that the row portion is always relative to the row the reference resides in, while the column reference is always absolute.
The same principle also applies to any reference that has an absolute row relative column reference. Again this can be best seen via the use of a small example.
Absolute Row Relative Column Reference
Try this:
Delete the contents of cells B1:B10 and D1.
In B1 type the absolute row relative column reference: =A$1 and push Enter.
Select cell B1 and either;
Copy and then select B2:B10 and paste.
Double click the Fill Handle.
You will have the number 1 in cells B1:B10. This is because the row portion of the reference ($1) is absolute. Now copy cell B10 to cell D1 and you should get the result 0, this is because the column portion of the reference (A) is always relative to the column the reference resides in. If you click in any cell in the range B1:B10 and look in the Formula bar you will see that the row portion is always absolute. If you click in cell D1 and look in the Formula bar you should see =C$1
Microsoft Excel records cell addresses in formulas in three different ways, called absolute, relative, and mixed. The way a formula is recorded is important when you copy it.
With relative cell addressing, when you copy a formula from one area of the worksheet to another, Microsoft Excel records the position of the cell relative to the cell that originally contained the formula. The following exercises demonstrate:
In addition to typing a formula, as you did in Lesson 1, you can also enter formulas by using Point mode. When you are in Point mode, you can enter a formula either by clicking on a cell with your mouse or by using the arrow keys.
Copying by Using the Menu
You can copy entries from one cell to another cell. To copy the formula you just entered, follow these steps:
Compare the formula in cell A10 with the formula in cell B10 (while in the respective cell, look at the Formula bar). The formulas are the same except that the formula in cell A10 sums the entries in column A and the formula in cell B10 sums the entries in column B. The formula was copied in a relative fashion.
Before proceeding with the next exercise, you must copy the information in cells A7 to B9 to cells C7 to D9. This time you will copy by using the Formatting toolbar.
Copying by Using the Formatting Toolbar
Absolute Cell Addressing
An absolute cell address refers to the same cell, no matter where you copy the formula. You make a cell address an absolute cell address by placing a dollar sign in front of both the row and column identifiers. You can do this automatically by using the F4 key. To illustrate:
Copying by Using the Keyboard Shortcut
Now copy the formula from C10 to D10. This time, you will copy by using the keyboard shortcut.
Compare the formula in cell C10 with the formula in cell D10. They are the same. The formula was copied in an absolute fashion. Both formulas sum column C.
Mixed Cell Addressing
You use mixed cell addressing to reference a cell that is part absolute and part relative. You can use the F4 key.
Did you know that you could combine text and values in a single cell?
For example, assume cell A12 contains the value 1435. Enter the following formula into another cell:
="Total: "&A12
The formula cell will display: "Total: 1435."
The ampersand is a concatenation operator that joins the text with the contents of cell A12.
Applying a number format to the cell containing the formula has no effect, because the cell contains text, not a value. As a work-around, modify the formula to use the TEXT function (the second argument for the TEXT function consists of a standard Excel number-format string).
="Total: "&TEXT(A12,"$#,##0.00")
This formula will display "Total: $1,435.00."
Here's another example formula that uses the NOW function to display some text along with the current date and time:
="Report printed on "&TEXT(NOW(),"mmmm d, yyyy at h:mm AM/PM")
The Excel If function is a powerful tool that can be used when the information you want in a cell is conditional. Its particularly handy if you need to specify two or more different responses for a cell based on conditions you specify.
The Excel If function is extremely versatile, however its often seen as quite a confusing function to use. Once you learn how to use Excel's IF function, you'll wonder what you ever did without it!
Microsoft explains the syntax of the Excel IF function:
=IF(logical_test,value_if_true,value_if_false)
What that means, simply put, is this:
=IF("if the condition stated here is true", "then enter this value", "else enter this value")
A practical example would be a spreadsheet containing exam marks for students.
Perhaps you wanted to see at a glance who had failed and who had passed. An IF function would be perfect for this. Let's assume that the pass mark is 50 and the marks are in column B, starting from row 4. Our formula would look like this:
=IF(B4>50, "Pass", "Fail")
So, this formula says if the data in cell B4 is greater than 50, then put "Pass" in the cell this formula is in, otherwise put "Fail" in the cell. You can then simply copy this formula for the entire list of names - Excel will change the cell reference for you.
The Excel IF function is an important one to understand. It can be used to great effect by itself, as a nested IF function or in conjunction with other functions.
There are a wide range of functions available for calculations, to enter one use the Function choice from the Insert menu option or click on the = button in the edit line.
(In v7 click on the function
button Which starts up the Function Wizard which is an aid to correctly entering the required function. Functions are grouped by category. )
Choose the one you want and then click on the [Next] button, following the instructions in the next window.
Ranges of cells
An example of using formulae and functions

Assume you have a list of people and marks in columns A and B and a pass mark stored in cell B2. You wish to automatically enter in column C whether or not the person has passed

Select the Function Category and then the function required. Press [OK]

Fill in the blanks and press [OK]

Extend the formula down to cover the other cells.

If VBA is installed, it may be disabled. If one of the following DWORD registry keys exists and has a value that is greater than 0, VBA is disabled.
• Microsoft Office 2003
HKLM\Software\Microsoft\Office\11.0\Common\VBAOff
HKCU\Software\Microsoft\Office\11.0\Common\VBAOff
• Microsoft Office XP
HKLM\Software\Microsoft\Office\10.0\Common\VBAOff
HKCU\Software\Microsoft\Office\10.0\Common\VBAOff
When we list trigger examples on this web site we assume that a user has specific regional settings: either "English (United States)" or "English (United Kingdom)". The main difference of these settings from others is the decimal separator character. It is a period - ".". In reality many European and other countries use comma as a decimal separator - ",".
Thus if you live in Germany the formulas given in the trigger examples may not work on your computer. You will have to manually adjust them to your local settings using a simple guide below.
Step 1. Checking the Computer's Regional Settings
Step 2. Adjusting your formulas
We will leave out the fact that Excel translates the names of the functions in the local language. We assume that you are able to make the translation.
If you have comma as a decimal separator, apply the following changes to the formulas you'll find on our web site:
That's it - you may proceed working with MarketFeeder Pro!
In Excel, the And function returns TRUE if all conditions are TRUE. It returns FALSE if any of the conditions are FALSE.
The syntax for the And function is:
And( condition1, condition2, ... )
condition is something that you want to test that can either be TRUE or FALSE. There can be up to 30 conditions.
For example:
Let's take a look at an example:

Based on the Excel spreadsheet above:
=And(A1>10, A1<40) would return TRUE =And(A1=30, A2="Microsoft") would return FALSE =And(A1>=5, A1<=30, A2="Tech on the Net") would return TRUE
Microsoft Excel stores dates as sequential numbers known as serial values. Excel stores times as decimal fractions because time is considered a portion of a day. Dates and times are values and so you can add, subtract, and include dates and times in other calculations. For example, to determine the difference between two dates, you can subtract one date from the other. You can view a date as a serial value and a time as a decimal fraction by changing the format of the cell that contains the date or time to General format.
Excel (by default) uses the 1900 date system. This simply means that the date 1 Jan 1900 has a true numeric value of 1, 2 Jan 1900 has a value of 2 etc. These values are called "serial values" in Excel and it is these serial values that allows us to use dates in calculations.
Examples:
Here is the list of most frequently used time fragments:
1 second = 0.00001157
1 minute = 0.000694
5 minutes = 5*0.000694 = 0.00347
1/2 hour = 0.02082
1 hour = 0.04167
MarketFeeder Pro’s functions can be divided into two groups:
1. Inward calculations and processing of the data
2. Interaction with BetFair
The first group operates the information that MarketFeeder Pro receives from BetFair and from the user. These functions include displaying market information and bets, calculating bet sizes, executing triggers, importing and exporting data from Excel and calculating the values of trigger variables.
The speediness of these functions depends only on the capacity of your computer’s CPU, and the volume of RAM (computer’s memory). It is recommended to follow these tips to avoid overloading your computer:
The second group includes logging in to BetFair, requesting the amount of funds available for betting, updating account statement, bet history, list of matched and unmatched bets, market prices etc. These are the slowest functions, because they imply passing data to and from the Internet. Besides the performance of BetFair itself matters a big deal. As you know, MarketFeeder Pro is based on the service called BetFair API. This API (application programming interface) accepts the requests for data from MarketFeeder Pro, processes them at the BetFair’s server and returns the response back to the software. This, together with the time required to deliver the request and response via the Internet, may take up to several seconds per request. It is important to understand, that whatever the software may be trying to do, it can’t influence such things as the speed of your Internet connection AND the performance of the BetFair server.
In the evenings, when thousands of bettors come home from work; or when a market turns in-play and the volume of bets increases enormously, the API may start freezing occasionally. This certainly decreases the software’s capacity to maintain fast refresh.
Here are some advices as to how to maximize the efficiency of the second group of functions:
Whenever you see that the refreshing has frozen for more than 10 seconds, you may stimulate it by pressing the manual refresh button available under the “Start/Stop” button in each market.
Analyze the charts given on the “Connection Monitor” screen. They show you the time (per request and average) that it takes to get a response from BetFair. By estimating the peaks and slumps on the charts, you can find out when the software experiences problems with reaching BetFair.
With the latest version of MF Pro 6.0, which is currently in beta-testing stage, it has become possible to test different betting systems without risking actual money.
There are several rules which MF Pro can follow when settling a market in Test Mode. Some of them are pretty automated, like random winner or the selection with the lowest traded price.
These methods are convenient when you have loads of markets to test in one go. But they can prove inefficient when you bet on different selection each time and there is no generic rule to describe your choice.
That's when you should use the "Select Winner" option from the pop-up menu that comes on clicking on the "Settle" button.

Using this option you can choose any selection from the market and make it a winner. For example, if you want the selection you backed or laid on to be a winner, you can do that using a simple procedure.
Check a video lesson for more details.
If you want to make your triggers bet on specific selections, rather than on "Favourite", "All Matching Selections", "Probable Loser" etc., then you have two options:
1. Create a separate trigger for each selection you want to bet on.
A trigger can be applied to a specific market and selection. You just select the market in the event tree, then go to "Triggers" page, create a trigger and select that market from the drop-down list. After you have selected the market, the list of its selections will appear in the "Selections" field, and you can choose the one you want to bet on.
![]() |
![]() |
2. Apply Greenup, Dutching & Triggers
If the above option does not suit your needs or you want to apply the trigger to more than one selection, then you will need to mark all selections that you will be trading on. Click on each market that you will be betting in, and switch it to "Full Mode". If you do this regularly, then you should consider turning "Full Mode" on by default. Then uncheck all selections that you will not be betting on. They will be grayed out. The rest selections will be the ones that your triggers will be working with.
Then set the "Selections" field of the trigger to "All Selections". In spite of the word "All", the trigger will be applied only to those selections that you marked on the market page.

3. Matching a pattern in the selection's name
This method is efficient if you always bet on a selection with a specific name, for example "The Draw" in Soccer, or "FTSE Down" in Financial markets.
For example, to bet on "The Draw", add a trigger with the following properties:
Action, Price, Amount, Markets, Market Status - choose appropriate
Selections: All Matching Selections
Conditions are met:
Any Selection's Back Price is greater than 0
and Trigger Expression FIND("The Draw", "sel_name") is greater than 0
Of course you can replace the first condition "Any Selection's Back Price is greater than 0" with any other condition critical for your strategy. It was added just to meet the requirements of the "All Matching Selections" option.
The trigger will be applied to "The Draw" in any monitored market. To apply it to other selections, just change the "The Draw" pattern to something else.
C'è un elenco di staking plan popolari nei nostri "Esempi di trigger" (a proposito, se volete completarlo, scrivete a noi a questo indirizzo).
I file di trigger sono disponibili a saricare e provare subito in MF Pro. Per scaricare e salvare il file, basta cliccare col destro sul link che inizia per "Clicca col destro per scaricare ..." Poi occorre scegliere l'opzione "Salva come" o "Salva oggetto con nome..." (dipende dal tipo di browser) e salvarlo come un file sul computer. Il luogo del file non ha importanza.
Dopo aver fatto ciò, bisogna aprire MF Pri e premere il pulsante "Trigger":

Quando la finestra trigger si apre, basta premere "Apri" per aprire il file che è appena stati salvato.

Dopo il file si carica, in teoria è pronto per provare. Basta chiudere la finestra trigger, assicurarsi che la modalità di prova è ON e cominciare ad aggiornare i mercati.
Consigliamo anche vedere la sua viedolezione "How to test staking plans".
Appena si capisce il senso del piano di scommesse, si può cambiarlo o applicarlo ad un altro trigger di quello nell'esempio. Così, l'esempio può puntare sul favorito, laddove si vuole punatre sul terzo favorito un minuto prima dell'inizio.
È molto facile regolare il file d'esempio al proprio bisogno.
Prima di tutto, quasi tutti gli esempi di staking plan sono formati così, che il trigger che piazza una scommessa punta o banca si trova sempre alla fine dell'elenco. Vedi sotto:

Ciò è la prima imbeccata da cercare. Usually the other triggers do not need to be changed at all, as a staking plan ought to work in the same way for any market or selection it is applied to.
If the amendments you are going to do are easy and fast, like change the selection and add one condition, then just do it on the spot -choose a different option from the drop-down list, press "Edit" button next to "Conditions" and add the required conditions. Then save the triggers.

You can immediately check if you did correct changes by running the triggers on a list of markets, as described in the video lesson on testing staking plans.
However, if your trigger is much more complicated or involves cooperating with other triggers, then you must first open the file where it is stored. Do this by pressing the "Open" button again and loading the file. Don't worry about the staking plan trigger, you'll be able to load it later.
Once the file with the triggers you designed has opened, press the "Copy" button on the trigger you want to bet instead of the one in the example.

After that, re-open the file with the example, as described above. Be sure not to copy anything else into the clipboard while doing this, as the trigger will be copied there.
On the green trigger block panel, which is in the top of the file, find a button titled "Paste Trigger" and press it.

The trigger will be inserted in the block, on top of other triggers in the same block.

Now, it is important to understand that the order in which triggers appear in the block is crucial to the way the whole block works! They ought to be executed in exactly the same order as they appear in the staking plan example. That is why you must use Drag and Drop to move this trigger to the bottom of the block, just above the trigger that was originally placing bets in the example. If the height of the triggers window does not let you do this in one go, you can drag and drop it several times, until it moves down to the right position.
Having done that, disable the other trigger that used to place bets, for you don't want it any more. Disabling or deactivating a trigger means setting its "Execute" property to "never".

Don't forget to press "Save Triggers" button again.
Now you are ready for another round of testing. Feel free to make as many changes to the trigger file as you want, until you've refined your own staking plan.
Please note: user variables have been introduced in version 6.0.
In this lesson we are going to learn how to create a user variable and assign it a value.
Almost in any staking plan it is important to remember the starting bank value. Usually the following profits and losses are compared with the initial bank and the size of the stake is adjusted accordingly.
That's why in many examples you will notice a trigger that creates a user variable called "starting_bank". We are going to analyse this trigger thoroughly.

First of all, the "Action" parameter is "set user variable". That's how you both create a user variable AND change its value. Before a trigger with this action is executed at least once, a variable with such name simply does not exist, and the program can't take it into account when checking trigger conditions or evaluating arithmetic expressions.
The name we chose is "starting_bank", though it could have been anything at all, like "start_value", "MYBANK", "bank1", "sizeBegin2" or "abcdefg". The only limitation here is that the name can't coincide with any other trigger variable supported by the program. Otherwise MF Pro will be confused as to what value the variable should actually return.
Then comes the value of the variable. In this case it is a formula:
IF(test_mode=1, test_balance, balance).
What does it mean? It can be translated into: if Test Mode is turned on, then take the value of the Test Funds balance, otherwise take the value of the real-money balance.
The function IF allows you to check conditions within the formula. The built-in variables "test_mode", "test_balance" and "balance" are explained in the help file, chapter "Triggered Betting", "Trigger Variables", "General Variables".
In other words, if you are in Test Mode, the variable "starting_bank" will have the value of the test bank, otherwise it will have the value of your real-money bank.
Now, in "Markets" and "Market Status" fields we put "All Markets", because we want to remember the bank value no matter what the market's current status is. As for "Selections", here you can put anything you like, as long as at least one selection is eligible for the trigger. We put "All Selections", but it could have been "Favourite", "Second Favourite", but not "First Matching Selection", for instance, as the trigger does not have any conditions to match.
Finally, the "Execute" property is set to "one time only", because we want to remember the starting bank just once, before we start doing anything else. Had it been set to "once per market", the value of "starting_bank" would have been changed every time you started refreshing a new market to place a bet in it. That would certainly affect the staking plan.
Ok, having saved the trigger, we may now close the triggers window and check how it has been executed. The simplest way to do this is to view the variable's value in the "View Variables" window.

Upon opening this window, type in "starting_bank" and let it show you its value.

Remember that each time you save triggers all user variables are reset! It means they lose their value and need to be initialised again.
Ok, now feel free to ask questions in the "Comments" section of this article.
In this lesson we are going to learn how to set a user variable to different values depending on different market conditions.
Suppose you have a problem:
Take a horse, let it be the favourite priced between 2.0 and 5.0, and put it in one of three ranges, pricewise.
If its price is 3.0 or less - range 6.
If its price is between 3.1 and 4.0 - range 7
For prices between 4.1 and 5.0 - range 8
Then if the horse's price gets higher than its range value, lay on this selection.
For example, the favourite's price is 3.5. It falls into range 7. If at any time during the race its price gets to 7.0 or higher, we're going to lay on that horse.
Let's create a user variable called "price_range" and determine what value it'll have. If we literally follow all the instructions above, we may come up with these three triggers.

Each trigger checks if the favourite's price is in the given range and sets "price_range" to the corresponding value. Pay attention to the second condition in each trigger: it prevents the variable from being set several times.
The variables are created "Individually for each market" in case you want to refresh several markets at the same time.
To lay on that horse when its price becomes higher than price_range, we may use this trigger:

However, there is a way to do the same thing just in two triggers: one for setting the price_range variable, and another one - for laying on the selection. We just need to use a slightly more complex formula.
Let's take a look at this trigger.

This trigger determines the price range of the selection and creates the corresponding variable. Its single condition checks whether the favourite's price is within the minimum and maximum limitations. The rest of the work is done by the formula in the "Value" field.
It operates a trigger variable "match_1_back_price" which returns the price of the selection that was chosen by the trigger. See help file's chapter "Triggered Betting" -> "Trigger Variables" -> "Matching Selections Variables".
The nested IF function checks three conditions:
1. If back price is <= 3, then return 6
2. Else If back price <= 4, then return 7
3. Otherwise return 8.
Since the condition of the trigger stipulates that "Selection's Back Price is between 2 and 5", there is no need to check the first and last price limits in the formula.
To lay on the same runner we now can use a simpler trigger:

Right-click here to download the trigger file.
You can try both ways of solving this problem, and to get a stronger understanding of the formula I'd recommend you to play with the nested IFs a little. For example, try to change the values of the range, or add the fourth range to the formula, and see how the trigger will behave.
Version 6.0 now allows you to start MF Pro from the command line or create a shortcut (program link) to launch it with username and password already entered.
Please note that our hands are tied with BetFair security requirements, so our program ought not to save your username or password anywhere on your computer.
So instead it's you who can decide whether to save them, but in encrypted form, in a shortcut or a batch file that can later be launched by Windows Scheduler.
To generate a command line string use "Command Line Settings" in "General Options" tab.

You then can use this string to make a batch file or to create a task in Windows Scheduler to open MF Pro at a certain time of day.
You can also create a shortcut for launching MF Pro without manual log-in by pressing the "Create Shortcut" button. It'll make a file with a ".lnk" extension. You then can double-click this file instead of the usual program's icon in order to start MarketFeeder Pro.
In this article we are going to show how to place a bet whose liability does not exceed the specified limit, using a trigger.
For example, I want to lay 10% of my bank on the third favourite, but only if the total liability of my bet does not exceed £100.
Let's take a look at this market:

Here the third favourite is "Pallantes Cross". Suppose, my bank is £200, so I want to lay £20 on this selection. To find out the possible liability of the bet I right-click on the lay button of this selection and enter the amount of the stake into the appropriate text field:

The program shows that the liability will be -£152. That is more than £100, so how do I create a trigger that will lay to the maximum liability of £100?
First of all, I'll add a trigger that defines the size of my bet:

The formula says:
0.1*IF(test_mode=1, test_balance, balance)
I created a user variable called my_bet, to make the further calculations easier. This way I tell the program to take 10% of the test balance, if Test Mode is turned on, or the real balance, if Test Mode is turned off.
Now I'll add the second trigger:

The formula says:
IF(my_bet*(lay_price-1) > 100, 100/(lay_price-1), my_bet)
What does it mean? As you know, the liability of a lay bet is calculated as (stake size)*(lay price - 1). In this case the size of the stake is stored in the variable my_bet, so the liability of the bet is:
my_bet*(lay_price-1)
The formula therefore checks if the liability is greater than £100. If it is, it lays 100/(lay_price-1). This way the liability of the bet will be exactly £100.
If it is not greater than £100, then it simply bets the intended stake size.
I'll set my test bank to £200 and run the triggers.

The trigger limited the liability to £100 (the 0.03 fraction appears because of rounding errors). The stake size was calculated automatically.
Now I'll reduce my bank to £50 and will repeat the trigger.

While I was creating this example, the third favourite changed to "Invincible Prince". Since 10% of the bank make £5, and the liability of the bet does not exceed £100, the program placed £5 at 7.2.
Right-click here to download the trigger file.
Note: you can set the minimum size of the bet to avoid laying below the allowed minimum. To do this, add the following conditions to the trigger:

Here it is supposed that £2 is the minimum bet size, and £100 is the maximum liability.
Change any of these fields to whatever you want.
| Did you know that with MF Pro 6.0 you can also Dutch in place markets? | What is Dutching? |
Dutching in place markets is very similar to Dutching in win markets (where only one selection can win). The only difference is the condition on which the decision is made.
When Dutching, your profit will depend on the book percentage formed by the selections you bet on. As you know, for backing it should be less than 100%, and for laying - more than 100%. With place markets the book% figure is multiplied by the number of places. So, in a market with 3 places, the back book% must be less than 300%, and lay book% must be greater than 300% to make a perfect Dutch.
Let's take a look at an example. I've added a 3-place market of a horse race, 18:00 Bev, and will back-Dutch on the first 6 favourites. Here are my Auto-Dutching options:
I have set it to win a fixed amount of 4. My objective will be to place back bets, though I have checked both "Back side" and "Lay side". The thing is, if I limit the number of selections to the first 6 favourites, the lay book % formed by those selections will never be higher than 300%.
The important thing to understand about Dutching in place markets is that you will win the specified "Amount to win" only if all winning places are taken by the selections you back on. I.e. if at least one of the winning places is taken by a runner that you did NOT back on, you may win less, or even lose your money.
In order to win guaranteed profit, you need to back or lay on all selections in the market, just like with win market Dutching.
Another difference between win and place market Dutching is that in win markets you always know how much exactly you will win or lose. With place markets your P/L will depend on how many winners you have guessed. The maximum loss can be expected in a case when you did not back on any of the winners.
Here is what I get when I activate Auto-Dutching with these settings.

Let's compute together.
The best case would be if any three selections I backed on were the winners. For example, "Daisy Brown", "Menediva" and "High Rolling". I then would win ~ 4, commission exclusive:
P/L = -24.28 - 16.18 + 16.11 + 18.5 -7.63 + 17.5 = 4.02
Then there are several other variants of outcomes. For instance, the three winners could be "Diamond Laura", "Your Ladyship" and "Three Sons", the latter not being in the list of backed selections. Then my P/L would be:
P/L = 2.43 - 16.18 - 10.6 - 8.22 + 19.08 - 9.21 = -22.7
In the worst case, when the winners are "Foricherforpoorer", "Three Sons", "Cygnet Committee", my P/L would hit the biggest negative value:
P/L = - 24.28 - 16.18 - 10.6 - 8.22 - 7.63 - 9.21 = -76.12
Now take a look at the book % values of this market:

Here is a rule which may help you choose the right market to Dutch in:
The bigger is the book%, the more money you may lose in the end when trying to win the same amount. Or rather, the bigger is the result of the following formula:
book% - (number of places * 100)
Here this number is 25.53% - this is quite a large deviation from the ideal, so the market is probably not the best one to Dutch, from the risks perspective.
Once you find a market where this figure is negative, i.e. book % is 295% in a 3-place market, you can back on all selections in this market to win a guaranteed profit!
Lay-Dutching
Lay-Dutching has the same principles as back-Dutching, only you will lay on the probable losers. If all the selections you laid on lose, you will win the maximum amount of money. If their book% is greater than (number of places * 100), you will win a guaranteed profit, no matter what runners will take the first places.
Here is an example of a perfect lay Dutching:

We may pick any three winners and calculate the P/L. For example, if the winners are "What A Fela", "Pedregal" and "Badtanman":
P/L = 162.32 + 160.47 - 161.83 + 108.84 + 94.87 - 185.31 - 212.32 + 36.95 = 3.99
Remember: you don't need to configure MF Pro in a special way to do Dutching in place markets: just apply the same settings as in win markets.
Did you know that you can now transfer funds between your wallets inside MF Pro 6.0?
The amount of money in each wallet is displayed in the top of the application's window (UK: / AUS: ):

The second text link is underlined. Click on it to open a new window.

Specify the wallet from which you want to take the money, and the amount of transfer. Click on "Transfer" and the funds will be immediately moved from one wallet to another.
Please make sure that neither wallet is suspended prior to doing this.
As you probably know already, MF Pro allows you to check the parameters of the same selection in win and place markets, through the prefix "winplace_". It means that while checking the price of the favourite inside a win market, you can - for instance - check this horse's price (or any other property) in the corresponding place market.
These references can sometimes look quite complicated, so we will have some practice in connecting win and place markets in triggers.
Example.
Back £10 on the second favourite in a win market, and lay £20 on the same horse in place market.
We will need two triggers, one for each type of market. The first trigger is simple, for it only places a back bet on the second favourite, without any conditions:

Pay attention to the "Markets" field of the trigger: it is set to "Win Markets", in opposition to the second trigger, which will lay in "Place Markets".
I presume all is clear with this one, so I'll proceed to the next trigger. If not, please ask your questions in the comments to this article.
If you don't know how to make the second trigger, just follow this simple rule: always start with something that you are absolutely sure of, and do it step by step. What we know for sure is that the trigger must be executed in "Place Markets", it must lay, at the best price, and with the amount that we chose to be the default lay amount in that market.

What is important about this trigger is that you can not put "Second Favourite" in the "Selections" field: the second favourite in win market may not be such in the corresponding place market, so you will end up laying on the wrong horse! Here is an example of such situation:

The second favourite in win market is "Armenian Boy": it has the same back price as "Sea Cliff", but its lay price is 1 tick lower.

In place market the obvious second favourite is "Sea Cliff".
So I put "All Matching Selections" in the "Selections" field, and it means that I will add conditions to this trigger to search for the right selection to lay on.
You might suggest that I add the following condition:
Any Selection's Affected by Trigger backing on 2nd favourite
The logic behind this is correct, but the problem is, the trigger affected the selection of the win market, and technically it is not identical to the same selection in place market. Therefore this condition will not find any matching selections.
So I will add these two conditions instead:

The first one,
Any Selection's Lay Matched is equal to 0
finds all selections that have not been layed yet. In other words, it just makes sure I have not placed a lay bet on that horse before.
The second one actually finds the right selection:
and Trigger Expression winplace_back_matched is greater than 0
A variable back_matched returns the total amount of matched back bets for the given selection. After adding winplace_ in front of it, it returns the value of matched back bets for the same selection in place market.
The trigger will check this condition against each selection in the place market. If you back on one horse in win market, this condition will be met only by one horse in the corresponding place market - the one that you backed on.
Therefore, the second condition filters out all other selections and returns just one, which the trigger then lays on.
Right-click here to download the trigger file.
Often you may want to run multiple triggers at the same time: some of them gathering data, others placing bets. This article will help you to find out what triggers are active, i.e. are ready to be executed, and what are not, and why.
First of all, there are special settings in MarketFeeder Pro that regulate the work of triggers. These are mainly the "Trigger Options" tab in "Settings" and the "Triggers On/Off" bulb button. Let's take a closer look at them.

By default the option "No triggering till ... mins before the event's start" is turned off. But it if you activate it, it will suspend all triggers, no matter what their "Execute" field is set to, until the specified time before the scheduled start. You might forget about this setting and wonder why your triggers are not working. The most obvious clue in such case is that triggers will not generate any log files. This will most probably mean that they are blocked by this setting, unless their "Execute" is set to "never".
The second setting that may influence triggered betting is "Don't bet in actions ... if there were unmatched bets and at least one bet was not cancelled". It apparently affects only the listed trigger actions. If this option is turned on, triggers with those actions will not bet until all unmatched bets have been cancelled. This option was introduced to prevent endless bets being placed on top of unmatched bets, in case there is some problem with cancelling them.
There is a general trigger switch that may disable them completely; it is the bulb button in the top of the application:
|
All triggers are disabled |
Some triggers may work |
It is always recommended to check the status of this button when you switch Test Mode off.
After you have made sure that triggered betting is activated, you may review the list of triggers that potentially can be executed by clicking on the bottom bar of the application's main screen:

Click on this bar to expand the panel:

On the left side you will see the list of all triggers that might be executed at some point. It may happen though, that they will never get an opportunity to set into action. It all depends on triggers' properties and the state of the markets they will be applied to.
Each trigger is displayed in a separate row. Next to the bullet you can see the number of selections the trigger has been applied to. If, for instance, it backs on the favourite in each market, this number will be equal to the number of markets it has backed in. If it bets on three selections per market, this figure will show three times as much.
Once a trigger has been executed (i.e. once it has performed its "Action" at least to one selection), the whole row will turn green.

If a trigger does not seem to work, it's worth checking its log file. Trigger log files are made to record all the information about how trigger's conditions are checked, what selections it picks, what bets it is about to place and, most importantly, why it can't do this. So whenever you are puzzled as to why your trigger does not do what you told it, click on the corresponding row to open its log. Example:

And here is an example of what you might find in the log file:
|
----------------------------------------- Checking condition: Any Selection's Lay Price is between 1.01 and 2 |
You can see that the log says "Condition is false". That's why the trigger is not placing any bets. And why is that condition false? You can see the list of selections and their prices indicating that they don't fall into the range of 1.01 to 2.0.
MF Pro può piazzare scommesse con gli importi meno del minimo permesso. Nientemeno questa funzione è DISATTIVATA per l'impostazione predefinita, per il vostro bene.
Abbiamo ricevuto alcune lamentele dagli utenti i cui conti sono stati sospesi a causa dell'abuso di tale funzione. Si prega di notare che BetFair non vi incoraggia a scommettere sotto il minimo importo permesso!
Perciò potete attivare tale opzione è usarla a proprio rischio e pericolo. Non accettiamo nessuna lamentela a questo riguardo.
Per attivarla occorre selezionare la casella "Consenti scommesse al di sotto del minimo" nelle "Opzioni scommesse".
The latest update of MF Pro 6.0 (as of July 31) allows you to limit the number of betting transactions per minute or per hour. Since BetFair charges for exceeding 1000 transactions per hour, this can be of great help to bettors whose strategies imply continuous placing, updating and/or cancelling bets.
There is a new setting in "Connection Monitor", "Transaction limit per minute / hour".

By default it is set to "1000 per hour". This means that if you place or update more that 1000 bets in any hour of the day, MF Pro will alert you. If "Automatically prevent exceeding the limit" is turned on, the program will stop placing any bets until sufficient time has passed.
You can also access the limit value and the number of transactions you've made over the specified period through the new trigger variables:
| mntr_trans_limit | The value of the current transaction limit |
| mntr_trans_number | The number of transactions that have been made by MF Pro within the specified period |
It is therefore reasonable to check your current transaction intensity in trigger conditions, if you have reasons to think that the next bet may exceed the limit. Here is an example:

The second condition says:
and Trigger Expression mntr_trans_number is less than mntr_trans_limit - matching_numberThe meaning of this is: check whether the bets the trigger is about to place will not exceed the limit, because they will add up to already placed transactions. The variable matching_number returns the number of selections that matched trigger's conditions, and therefore it is equal to the number of bets this particular trigger may place.
Please note that if you restart the application, the history of the previous transactions will be lost, and the program will start counting them from scratch.
Betting at SP turned out to be confusing to quite a lot of MF Pro users, so it's better to clarify some things in a separate article.
First of all, starting prices are computed by BetFair, immediately after a market turns In-Play. It means that while a market is still Idle, it is in fact not possible to place a normal bet at SP, because the SP itself is unknown. The "far SP" and "near SP" are just auxiliary figures that are meant to give you the idea of what the future SP might be.
Therefore, betting at SP is actually telling BetFair that you want your bet to be offered at the starting price WHEN this price becomes available. Since at the moment of betting the price is not known, you can't predict how much money you will win. That is why when laying you are required to input the liability of your bet, not the amount, as with a normal bet. The liability is the amount of money you might lose regardless of the price of the bet, and it is not surprising that it's the only thing BetFair cares when accepting your SP bet. :)
We often get requests to make a trigger that bets at SP after the market turns In-Play. This in fact means that a normal bet should be placed, only its price will be the same as the actual SP of the selection in question. This has nothing to do with the "bet at SP" functionality, so it would be a mistake to try and set the trigger's action to "back at SP" or "lay at SP", if your aim is to bet In-Play. As soon as the market turns In-Play, the starting prices are formed and available to all bettors, so you can place a usual bet at that price.
Here are two pictures demonstrating the difference.
Laying at SP before the In-Play:

Laying at SP after the In-Play:

So, here is a correct example of a trigger that will back at the starting price on the favourite AFTER In-Play.

The variable "actual_sp" returns the actual starting price of a selection, if the market supports this function at all. Keep in mind that currently only some races are equipped with starting prices, so don't try doing that with a football match for instance.
If even after reading this article you are still unsure which option to choose, try them both, only in TEST MODE.
Gli utenti spesso rivolgono la stessa domanda al nostro support:
Come scommettere sulla selezione nel mercato con più posti che è il favorito nel mercato con uno posto.
Ossia, non vogliono piazzare alcune scommesse nei mercati con uno posto: hanno bisogno di ricordare la selezione favorita e poi bancare o puntare su tale selezione nel mercato con più posti.
La parole "ricordare" (in inglese "remember") spesso mette in imbarazzo gli utenti MF Pro, perché credano che devano create un trigger con l'azione "remember" per ricordare il favorito. Nientemeno quest'approccio è troppo complesso in tale caso, perché richiede più trigger per fare la stessa cosa. Se siete curiosi di conoscere come lo fare, si prega di leggere fino alla fine dell'articolo.
Ecco il mio consiglio: sempre usate gli strumenti inventati specialmente per certe necessità. in questo caso è necessario collegare un mercato con uno posto e un mercato con più posti, allora usate il prefisso "winplace_" che è designato esattamente per tale scopo!
Solo uno trigger bisogna per raggiungere l'obbiettivo.

Esaminiamo il trigger: ho scelto "Place Markets" (mercati con più posti) come "Markets" perché proprio in tali mercati il mio trigger piazzerà la scommessa. Non importa che verifichi certi altri paramteri del mercato con uno posto: l'importante è in che mercato tale trigger effettui la sua azione.
Per "Selection" ho scelto "First Matching Selection" (la prima selezione idonea), anche se ciò avrebbe potuto essere anche "All Matching Selections" (tutte le selezioni idonee), perché ci sarà solo una selezione che soffisfarà le condizioni del trigger.
La prima condizione del trigger deve iniziare a "Any Selection's" (di qualunque selezione), a causa di "First Match Selection" nel campo "Selections". Il programma ha bisogno di qualunque criterio per cominciare a fltrare le selezioni. Since usually users ask to limit the price of the bet, I've added the condition "Any Selection's Back Price is less than 5". But if you don't need that condition, make it be always true, for instance "Any Selection's Back Price is greater than 0".
La seconda condizione è principale, perché controlla se il rango della selezione stabilita è uguale a 1 nel corrispondente mercato con uno posto. Il prefisso "winplace_" nella variabile "winplace_sel_order" fa MF Pro cercare la stessa selezione nel mercato opposito e elaborare la variabile per tale selezione.
Quindi il programma fa il seguente: prende tutte le selezioni nel mercato con più posti la cui quota è inferiore a 5.0. Poi MF Pro trova l'equivalente di ogni tale selezione nel mercato con uno posto e verifica il suo rango. Appena è stato trovato il favorito il programma piazza la scommessa.
Clicca col destro per scaricare il file trigger.
Ecco i risultati definitivi.
Mercato con uno posto:

Mercato con più posti:

Si prega di fare attenzione che la selezione sia non essere il favorito anche nel mercato con più posti. In questo esempio "Line Kendie" è il secondo favorito nel mercato con più posti, ma MF Pro ha scommesso su di esso, perché la selezione è il favorito nel mercato con uno posto.
Il modo complesso di fare la stessa cosa
Ecco l'esempio di raggiungere lo stesso obbiettivo in modo più complicato. Si può confrontare entrambi gli esempi e arrivare alla propria conclusione.

Importare i nomi di selezioni da un file di testo (quello può essere la lista di cavalli concessa da un tipster), poi puntare su quelle che sono le favorite, i.e. le sue quote sono le più basse nei mercati rispettivi.
Prima di tutto si deve creare un file di testo con tutte le selezioni elencate in colonna. Si può usare qualsiasi editor di testo, per esempio Notepad:

Poi bisogna avviare MF Pro e aggiungere i mercati a cui si riferiscono le selezioni nel file.

Poi occorre passare al tab "Mercati personali" e premere il tasto "Importa le selezioni per auto-trading":

Bisogna aprire il file dove si è memorizzata la lista di selezioni. Se tutto si è fatto correttamente, il programma informerà del numero di selezioni importate:

Le selezioni che non sono state importate diventano grigie e ciò vuol dire che esse vengono ignorate dai trigger e dalle altre funzioni di auto-trading.
Poi bisogna creare il seguente trigger. Non è complesso - basta puntare sulla selezione importata se essa è la favorita, ma si può aggiungere delle altre condizioni.

Finalmente occorre salvare il trigger e cominciare ad aggiornare i mercati quando necessario. Il trigger punterà solo su quelle selezioni che sono state importate E hanno le quote più basse. Tutte le altre selezioni non vengono puntate.



If you have some knowledge of Visual Basic scripting, particulary of VBA - the language used for creating macros in MS Office - the following tips can be useful for you.
1. MarketFeeder Pro creates a spreadhseet based on an MS Excel template feeder.xlt that is supplied together with MarketFeeder Pro application and is stored in the installation directory. If you wish to create macros for MF Pro please edit this very template, not the spreadsheet. Thus all your changes and code will be saved and recreated each time you restart the software.
2. Make sure you made a backup of the original feeder.xlt
3. If you need to use functions from "Analysis ToolPak" add in that Excel is supplied with, edit feeder.ini file located in the installation directory. Find the following line there:
AddIn = 0
And correct it to:
AddIn = 1
Then save the file and restart the application. Of course it is assumed that you have installed "Analysis ToolPak" before enabling this option in MF Pro.
4. You can obtain a list of all selections in the market with their IDs by editing feeder.ini as well. It may be useful if you have an external document with selection names that do not coincide with MF Pro drop-down lists (since IDs are added to the latter). So, find the following line:
SymbolsWithID = 0
And correct it to:
SymbolsWithID = 1
Then save the file and restart the application. The list of selections will appear in the columns AA, AB in the top of the market sheet.
5. When you have "Manual refresh only" mode turned on you can write your own functions that do something after a market has been updated. MF Pro will write current date and time into "II1" cell of the "List of evens" sheet immediately after the refresh is completed. So you can edit feeder.xlt template and overwrite the "OnChange" event of the "List of events" sheet. A draft of this function is already present in the VB code of the project.
6. All buttons in the spreadsheet are organized as hyperlinks. Each hyperlink is stored in a cell that has an ID consisting of all the parameters that are passed on to MarketFeeder Pro when you click on this button. The parameters are separated with a "\|" character, so you can easily parse them.
7. You can rewrite some of the procedures in "NewModule" of the VB project of feeder.xlt. For instance you can change the colour scheme or add your own buttons and links. If you wish to do so edit "CreateEventSheet" or "DrawSelectionCells" functions.
8. The data is passed into the spreadsheet via an OLE interface. So if your macro is performing a never-ending loop or other routine that temporarily disables communication with Excel this may result in gaps in figures on the screen or hanging of the application.
9. Instead of "waiting" for a process to finish (for insance for a refresh to complete, for the bet to be made) use sheet events - like OnChange, OnCalculate etc. Using "while .. wend" and other "stay by" procedures is a negative practice.
10. All triggers, offsets and books are stored in triggers.ini, offsets.ini and books.ini files respectively. You can access them directly by reading the files with VB methods.







