TradingView 中文开发文档
  • 序言
  • 更新日志
  • 1、Charting Library 是什么
  • 2、入门指南
    • 2-1、图表库内容
    • 2-2、运行图表库
  • 3、数据绑定
    • 3-1、如何连接我的数据
    • 3-2、JS Api
    • 3-3、UDF
    • 3-4、Symbology
    • 3-5、交易时段
    • 3-6、报价
  • 4、图表定制
    • 4-1、定制概述
    • 4-2、Widget 构造器
    • 4-3、Widget 方法
    • 4-4、图表方法
    • 4-5、功能集
    • 4-6、服务端定制
    • 4-7、定制的使用案例
  • 5、交易终端
    • 5-1、交易终端简介
    • 5-2、经纪商 API
    • 5-3、交易主机
    • 5-4、账户管理器
    • 5-5、交易对象和常量
  • 6、储存和载入图表
  • 6-1、储存和载入的内存示例
  • 7、创建自定义指标
  • 8、最佳实践
  • 9、经常被问到的问题
  • 10、版本变更点
  • 附录
    • 图表的主要组成
    • 周期
    • 时间范围
    • 本地化
    • 覆盖
    • 绘图覆盖
    • 指标覆盖
    • 形状与覆盖
    • 图表样式属性
    • 图表自定义
    • 工具栏自定义
    • CSS主题颜色
    • 订阅
    • 交易元语
    • 在 K 线上做标记
    • 委托
    • WatchedValue
    • 指标 API
    • 形状 API
    • 形状组 API
    • 选择 API
    • 窗格 API
    • 数据列 API
    • 价格刻度 Api
    • 窗格和刻度特性
    • 快捷键
    • 新闻API示例
由 GitBook 提供支持
在本页

这有帮助吗?

6-1、储存和载入的内存示例

用于测试目的的 save_load_adapter 的内存示例。

save_load_adapter: {
    charts: [],
    studyTemplates: [],
    drawingTemplates: [],
    getAllCharts: function() {
        return Promise.resolve(this.charts);
    },

    removeChart: function(id) {
        for (var i = 0; i < this.charts.length; ++i) {
            if (this.charts[i].id === id) {
                this.charts.splice(i, 1);
                return Promise.resolve();
            }
        }

        return Promise.reject();
    },

    saveChart: function(chartData) {
        if (!chartData.id) {
            chartData.id = Math.random().toString();
        } else {
            this.removeChart(chartData.id);
        }

        chartData.timestamp = new Date().valueOf();

        this.charts.push(chartData);

        return Promise.resolve(chartData.id);
    },

    getChartContent: function(id) {
        for (var i = 0; i < this.charts.length; ++i) {
            if (this.charts[i].id === id) {
                return Promise.resolve(this.charts[i].content);
            }
        }

        console.error('error');

        return Promise.reject();
    },

    removeStudyTemplate: function(studyTemplateData) {
        for (var i = 0; i < this.studyTemplates.length; ++i) {
            if (this.studyTemplates[i].name === studyTemplateData.name) {
                this.studyTemplates.splice(i, 1);
                return Promise.resolve();
            }
        }

        return Promise.reject();
    },

    getStudyTemplateContent: function(studyTemplateData) {
        for (var i = 0; i < this.studyTemplates.length; ++i) {
            if (this.studyTemplates[i].name === studyTemplateData.name) {
                return Promise.resolve(this.studyTemplates[i]);
            }
        }

        console.error('st: error');

        return Promise.reject();
    },

    saveStudyTemplate: function(studyTemplateData) {
        for (var i = 0; i < this.studyTemplates.length; ++i) {
            if (this.studyTemplates[i].name === studyTemplateData.name) {
                this.studyTemplates.splice(i, 1);
                break;
            }
        }

        this.studyTemplates.push(studyTemplateData);
        return Promise.resolve();
    },

    getAllStudyTemplates: function() {
        return Promise.resolve(this.studyTemplates);
    },

    removeDrawingTemplate: function (toolName, templateName) {
        for (var i = 0; i < this.drawingTemplates.length; ++i) {
            if (this.drawingTemplates[i].name === templateName) {
                this.drawingTemplates.splice(i, 1);
                return Promise.resolve();
            }
        }

        return Promise.reject();
    },

    loadDrawingTemplate: function (toolName, templateName) {
        for (var i = 0; i < this.drawingTemplates.length; ++i) {
            if (this.drawingTemplates[i].name === templateName) {
                return Promise.resolve(this.drawingTemplates[i].content);
            }
        }

        console.error('drawing: error');

        return Promise.reject();
    },

    saveDrawingTemplate: function (toolName, templateName, content) {
        for (var i = 0; i < this.drawingTemplates.length; ++i) {
            if (this.drawingTemplates[i].name === templateName) {
                this.drawingTemplates.splice(i, 1);
                break;
            }
        }

        this.drawingTemplates.push({ name: templateName, content: content });
        return Promise.resolve();
    },

    getDrawingTemplates: function () {
        return Promise.resolve(this.drawingTemplates.map(function(template) {
            return template.name;
        }));
    },
}
上一页6、储存和载入图表下一页7、创建自定义指标

最后更新于3年前

这有帮助吗?