看别人翻译的开发文档:
开发文档地址: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)
我的代码栗子:
Datafeeds.Container.prototype.getMarks = function (symbolInfo, startDate, endDate, onDataCallback, resolution) {
console.log('endDate: ',endDate);
var marks = that.getMarks();
setTimeout(function () {
onDataCallback(marks);
}, 0);
} getMarks(){
var that = this;
var id = 1;
var time = Date.parse(new Date())/1000;
var color = { border: '#103bff', background: '#ff00e9' };
var text = '这是标记: ';
var label = 'S';
var labelFontColor = '#ff8e53';
var minSize = 5;
var marks = [];
for(var i=0;i<15;i++){
var mark = {};
mark.id = id++;
mark.time = time;
time -= 28800;
mark.color = color;
mark.text = text + (id-1);
mark.label = label;
mark.labelFontColor = labelFontColor;
mark.minSize = minSize;
marks.push(mark);
}
return marks;
}
K 线标记