看别人翻译的开发文档:
开发文档地址:https://zlq4863947.gitbooks.io/tradingview/
getMarks(symbolInfo, startDate, endDate, onDataCallback, resolution)
- symbolInfo:SymbolInfo 商品信息对象
- startDate: unix 时间戳, 最左边请求的K线时间
- endDate: unix 时间戳, 最右边请求的K线时间
- onDataCallback: function(标记数字marks)
- resolution: string
方法介绍:图表库调用这个函数来获得可见的K线范围的标记。 图表预期每调用一次getMarks就会调用一次onDataCallback。
mark为具有以下属性的对象:
- id: 唯一标识id 。当用户点击标记时,将传递给相应的回调:respective callback
- time: unix time, UTC
- color:red|green|blue|yellow|{ border: '#ff0000', background: '#00ff00' }
- text: 标记弹出式文字。 支持HTML
- label: 印在标记上的文字。单字符
- labelFontColor: label的文字颜色
- minSize: 标记的最小尺寸 (diameter, pixels)
每个K线允许几个标记(现在最多为10个)。目前我测试的可以多于 10 个。不允许标记脱离K线。
Remark: 只有当您声明您的后端是支持标记时才会调用这个函数。supporting marks.
使用时注意:
回调函数中的参数是一个列表(marks),列表中的每个元素是一个 字典(mark)
我的代码栗子:
1 Datafeeds.Container.prototype.getMarks = function (symbolInfo, startDate, endDate, onDataCallback, resolution) { 2 console.log('endDate: ',endDate); 3 var marks = that.getMarks(); 4 setTimeout(function () { 5 onDataCallback(marks); 6 }, 0); 7 } 8 9 getMarks(){ 10 var that = this; 11 var id = 1; 12 var time = Date.parse(new Date())/1000; 13 var color = { border: '#103bff', background: '#ff00e9' }; 14 var text = '这是标记: '; 15 var label = 'S'; 16 var labelFontColor = '#ff8e53'; 17 var minSize = 5; 18 var marks = []; 19 for(var i=0;i<15;i++){ 20 var mark = {}; 21 mark.id = id++; 22 mark.time = time; 23 time -= 28800; 24 mark.color = color; 25 mark.text = text + (id-1); 26 mark.label = label; 27 mark.labelFontColor = labelFontColor; 28 mark.minSize = minSize; 29 marks.push(mark); 30 } 31 return marks; 32 }