InfContribute() function and contribution mechanism
Starting from version v3.41.0 of all those functions will inherit some Real Time Data functions behavior. Thereby, the RTD throttle interval will impact every
functions. For more information, please check the handling process of RTD throttling.
INFCONTRIBUTE() function
INFCONTRIBUTE() allows to send contribution data. If you want to contribute on some specific instruments, you can use this function to upload and publish data.
Warning
Some users may need to enable manually the Manager.IDP needed for this function, by changing value to "NO" on the following registry key:
Computer\HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings\EfFull\Setting\EfDisableRTDPanel
.
Function Syntax
INFCONTRIBUTE(instrument_code, field_array, data_array, advanced_parameter)
Function Parameter | Description |
---|---|
instrument_code | Instrument identifier. Example LSE:VOD (Instrument Code for Vodafone) You can use INFCODECONVERT() to convert a Company Code into an Instrument Code for instance. |
field_array | An array, list of the id of the fields you want to update. Only fields handled in RTD() function are allowed. You can use the Field Picker to help you find specific fields id. Example “[bid, ask, change, turnover]” |
data_array | An array, list of the values associated with the fields selected in the second parameter. The order and number of the value has to match the order and number of the array of fields. Example “[2.56, 2.47, 1.5, 6000]” Meaning Bid = 2.56 Ask = 2.47 Change = 1.5 Turnover = 6000 |
advanced_parameter | The optional advanced_parameter argument is used to specify additional information such as the throttling time or the decimal digit precision. It can be passed as a 2-dimensional array with a set of keyword-value pair. Only the keyword/value pairs described in the Advanced_parameter Settings Table can be used. Example |
Advanced Parameters
Advanced Parameters | Description |
---|---|
Throttling | Represents the throttling time in milliseconds. Default value: 10000 (meaning 10 seconds). |
DecimalDigit | Represents the decimal digit precision. No default value. |
Process and result
All the data will be transmitted to Infront Data Protocol and published.
To access all the contributions made, you can use the Infront Professional Terminal
Contribution Monitor
You can publish your contribution anytime and follow the process using the Contribution Monitor.
Play / Pause
The "play" option is set by default once the connection to the Infront Data Protocol server is set.
By pressing “pause” your contributions will be stacked and published later on when the “play” button will be pressed and the connection to the server made.
You will be able to follow all the contribution process with the 2 progress bars:
- One to watch the contributions throttling process.
- One to watch the queue size of all contributions and be able manage the publication of them if the size is almost full.
Reporting
The reporting part display the history of all your contributions. You can:
- Browse all the logs to check all the publications or errors by hitting the “Logs” button.
- Create a new workbook that displays a table of all contributions sent for the day by pressing the "History" button.
- Monitor the number of attempts and successes.
- Access the last publication time.
- Visualize the number of requests sent and received.
- View the size of the pending queue.
Example of contribution history:
Monitoring
The monitoring part display information about the connection status to the Infront Data Protocol server:
- The server and connection status.
- The server's latency.
- An option to reset the number of requests sent and received via the “Reset Stats” button.
Display
This monitor can be opened by using the right-click menu.
You can position the monitor window by clicking and drag it anywhere on your screen.
The “always on top” option allows it to stay open and accessible over the Excel Sheet.
This monitor window can be displayed in a smaller size by double clicking on it:
It can also be enlarged and resized.