vx_chart example repository
File | Description |
---|---|
CubeDemo.html | Framework example file |
vx_enum.js | Event record enumerated definitions |
The vx_chart framework is hosted at https://code.vertex-analytics.com.
Implementation files are hosted on the client's site.
<!-- include third party dependencies -->
<script src="https://code.vertex-analytics.com/_third/monaco-editor-0.18.1/package/min/vs/loader.js"></script>
<link rel="stylesheet" type="text/css" href="https://code.vertex-analytics.com/_third/tooltipster-master/dist/css/tooltipster.bundle.min.css"/>
<script type="text/javascript" src="https://code.vertex-analytics.com/_third/tooltipster-master/dist/js/tooltipster.bundle.min.js"></script>
<!-- include third party fonts -->
@import url(https://fonts.googleapis.com/css?family=Roboto:400);
@import url(https://fonts.googleapis.com/css?family=Roboto:500);
@import url(https://fonts.googleapis.com/css?family=Roboto+Mono);
<!-- include vx.chart api files in order -->
<script src="https://code.vertex-analytics.com/vx-chart-1.0.0/vx-enum.js"></script>
<script src="https://code.vertex-analytics.com/vx-chart-1.0.0/vx-util.js"></script>
<script src="https://code.vertex-analytics.com/vx-chart-1.0.0/vx-main.js"></script>
<script src="https://code.vertex-analytics.com/vx-chart-1.0.0/vx-draw.js"></script>
<script src="https://code.vertex-analytics.com/vx-chart-1.0.0/vx-cube.js"></script>
<script src="https://code.vertex-analytics.com/vx-chart-1.0.0/vx-core.js"></script>
Call vX.onReady with an initialization function. This function is called when the framework has finished loading.
// called after the api is Ready
function onReady ()
{
}
// Assign the onReady callback
vX.onReady(onReady);
class BookChart extends vX.cube {
constructor (pConfiguration)
{
super(pConfiguration);
}
//Called by the framework if an exception occurred during creation of the chart.
//pError = critical error description object.
onError (pError)
{
console.log ("onError Called");
console.log (pError);
}
//Called by the framework before data is read with a calls to onRead.
//pInfo = initialization object.
onOpen (pInfo)
{
//console.log ("onOpen Called");
//console.log (pInfo);
}
//Called by the framework to read each record of data.
//pItem = event item number, 0 to rows-1.
onRead (pItem)
{
let tEvnt = {}; // Add FID record
this.CubeEvnt(tEvnt);
}
//Called by the framework after all records have been read.
//pInfo = status of the book build and any errors encountered object.
onShut (pInfo)
{
console.log ("onShut Called");
console.log (pInfo);
}
}
gCube = new BookChart({
//email : "registered_email",
//password : "registered_password",
rows : 1234,
title : "Title of the chart",
tickSize : 0.25,
displayType : 1,
displayTypeEx : 1
});
Parameter | Description |
---|---|
Registered email | |
password | Registered password |
rows | Number of event records in the chart |
tickSize | Smallest price resolution |
title | Title of the chart |
displayType | Primary price format of the chart |
displayTypeEx | Secondary price format of the chart |
- The framework can be used with the supplied demo data without registration.
- For user defined data, a user must be registered with Vertex-Analytics.
- Contact Vertex-Analytics for a version configured for client distribution.
- The framework's price format uses the CME FIX display format.
- For decimal prices, use displayType=0. The resolution of the digits will be automatically be calculated based on the ticksize.
- For fractional prices, please consult CME Fractional #
- Data is supplied to the framework as separate tick event records with a call to this.CubeEvnt();
- The tick event records are defined as javascript object of FID/Value pairs.
- Many FID's values are supplied as numbers. See vx_enum.js for the enumerated definitions.
- For a complete list of available FIDs consult vx_enum.js/vX.Fids.
- Only a minimal number of FIDs are required to generate the chart.
- Contact Vertex-Analytics for any required custom FID processing.
- Each column of the chart is a summation of events with the same time-stamp.
- Multiple events can share the same time-stamp.
- All time-stamps are supplied to the framework in Bigint nanoseconds.
- If nanoseconds time-stamps are unavailable, upscale the time-stamp to nanoseconds.
- Each event object most contain header FIDs.
- Additional FIDS are defined per event type.
Name | Value |
---|---|
header.unionID | Record type: see vx_enum.js/vX.UnionID |
header.time | Nanosecond time-stamp |
Name | Value |
---|---|
tradeSummary.aggressor | Trade aggressor: see vx_enum.js/vX.Aggressor |
tradeSummary.isImplied | Implied trade: 0=false,1=true |
tradeSummary.isSnapshot | Pre-market snapshot: 0=false,1=true |
tradeSummary.price | Trade price |
tradeSummary.quantity | Trade quantity |
Name | Value |
---|---|
tradeMatch.isAggressor | Trade aggressor: see vx_enum.js/vX.Aggressor |
tradeMatch.orderID | Bigint OrderID |
tradeMatch.price | Trade match price |
tradeMatch.quantity | Trade match quantity |
Name | Value |
---|---|
orderBook.action | Book update action: see vx_enum.js/vX.BookAction |
orderBook.type | Book update type: see vx_enum.js/vX.BookType |
orderBook.isSnapshot | Pre-market snapshot: 0=false,1=true |
orderBook.orderID | Bigint OrderID |
orderBook.price | Order price |
orderBook.quantity | Order quantity |
The framework's provides a single day of sample book data that can be used to investiagate the event FID format.
- Create a vX.demo class with configuration parameters.
gDemo = new vX.demo({
file : "ZSN3_20230502",
onLoaded : onLoaded
});
Parameter | Description |
---|---|
file | File name |
onLoaded | Function called after the data is loaded |
- Use vX.demo.DemoRows() to return the number of event records in the data stream.
- Use vX.demo.DemoRead() to read an enumerated event record.
CubeChart uses several third-party libraries and tools to work with JavaScript and CSS.
- Monaco-Editor - The Monaco Editor is the fully featured code editor.
- Tooltipster - A flexible and extensible jQuery plugin for modern tooltips.
- jQuery - JavaScript Library.