Hi Morris,
Before looking too far into that you may want to take a look at the <ma-annotate-chart>
component. It works with the watchlist system, you will need to set up a watchlist with the data points you want to annotate, and check the points so they show up on the chart below. You can also configure the axis and chart design using the watchlist page and it will update on the <ma-annotate-chart>
.
You would then use this code on your custom page:
<ma-watch-list-get watch-list-xid="REPLACE" ng-model="thisWatchList" on-points-change="points = $points"></ma-watch-list-get>
<ma-annotate-chart flex points="points" watch-list="thisWatchList" export="true" to="dateBar.to" from="dateBar.from" rollup-type="dateBar.rollupType" rollup-interval-number="dateBar.rollupIntervals" rollup-interval-period="dateBar.rollupIntervalPeriod" chart-height="400px"></ma-annotate-chart>
You can get the watchlist xid from the edit watchlist page. Note you will need the latest advancedComponents module to get this component. I am not sure if it will help you export the data as CSV but it does handle the UI for storing data point annotations on particular timestamps without needing to create extra alphanumeric data points.
Cheers
Will