TradingView 支持自定义指标,不过是把你要定义的指标写成一个 JS(customIndex.js) 源文件,放在图表库 static 文件夹下。自定义指标 JS 源代码官网模板如下:

{// 将<study name>替换为您的指标名称// 它将由图表库内部使用name: "<study name>",metainfo: {"_metainfoVersion": 40,"id": "<study name>@tv-basicstudies-1","scriptIdPart": "","name": "<study name>",// 此说明将显示在指标窗口中// 当调用createStudy方法时,它也被用作“name”参数"description": "<study description>",// 该描述将显示在图表上"shortDescription": "<short study description>","is_hidden_study": true,"is_price_study": true,"isCustomIndicator": true,"plots": [{"id": "plot_0", "type": "line"}],"defaults": {"styles": {"plot_0": {"linestyle": 0,"visible": true,// 绘图线宽度"linewidth": 2,// 绘制类型://    1 - 直方图//    2 - 线形图//    3 - 十字指针//    4 - 山形图//    5 - 柱状图//    6 - 圆圈图//    7 - 中断线//    8 - 中断区块"plottype": 2,// 显示价格线?"trackPrice": false,// 绘制透明度,百分比。"transparency": 40,// 以#RRGGBB格式绘制颜色"color": "#0000FF"}},// 指标输出值的精度// (小数点后的位数)。"precision": 2,"inputs": {}},"styles": {"plot_0": {// 输出的名字将在样式窗口显示"title": "-- output name --","histogramBase": 0,}},"inputs": [],},constructor: function() {this.init = function(context, inputCallback) {this._context = context;this._input = inputCallback;// 定义要绘制的商品。// 商品应该是一个字符串。// 您可以使用PineJS.Std.ticker(this._context)获取所选商品的代码。// 例,//    var symbol = "AAPL";//    var symbol = "#EQUITY";//    var symbol = PineJS.Std.ticker(this._context) + "#TEST";var symbol = "<TICKER>";this._context.new_sym(symbol, PineJS.Std.period(this._context), PineJS.Std.period(this._context));};this.main = function(context, inputCallback) {this._context = context;this._input = inputCallback;this._context.select_sym(1);// 您可以在PineJS.Std对象中使用以下内置函数://     open, high, low, close//    hl2, hlc3, ohlc4var v = PineJS.Std.close(this._context);return [v];}}
}

1.将指标保存到具有以下结构的自定义指标文件中:

__customIndicators = [*** 您的指标对象,由模板创建 ()***
];

请注意,该指标文件是一个JavaScript源文件,它定义了一个指标对象数组。因此,您可以在其中放置多个指标,或者将它们与我们为您编译的指标组合起来。

2.在 new TradingView.widget() 中使用 indicators_file_name: 'customIndex.js'引入

 widget = new TradingView.widget({***indicators_file_name:'customIndex.js',  /**自定义指标文件 */***
});

完整代码(自定义MACD红绿)

// 自定义指标文件,可以写多个指标
__customIndicators = [{name: "自定义(MACD)",metainfo: {"_metainfoVersion": 40,"id": "macd-custom@tv-basicstudies-1","scriptIdPart": "","name": "自定义(MACD)","description": "自定义(MACD)","shortDescription": "MACD_CUSTOM","is_price_study": false,"isCustomIndicator": true,defaults: {styles: {plot_0: {linestyle: 0,linewidth: 4,//红色plottype: 1,trackPrice: !1,transparency: 35,visible: !0,color: "#da1155"},plot_1: {linestyle: 0,linewidth: 1,plottype: 0,trackPrice: !1,transparency: 0,visible: !0,color: "#FFFFFF"},plot_2: {linestyle: 0,linewidth: 1,plottype: 0,trackPrice: !1,transparency: 0,visible: !0,color: "#FFFF00"},plot_3: {linestyle: 0,linewidth: 4,//绿色plottype: 1,trackPrice: !1,transparency: 35,visible: !0,color: "#33FF33"}},precision: 2,   /**保留小数点 */inputs: {in_0: 12,in_1: 26,in_3: "close",in_2: 9}},plots: [{id: "plot_0",type: "line"},{id: "plot_1",type: "line"},{id: "plot_2",type: "line"},{id: "plot_3",type: "line"}],styles: {plot_0: {title: "Histogram",histogramBase: 0,joinPoints: !1},plot_1: {title: "MACD",histogramBase: 0,joinPoints: !1},plot_2: {title: "Signal",histogramBase: 0,joinPoints: !1},plot_3: {title: "Histogram",histogramBase: 0,joinPoints: !1}},inputs: [{id: "in_0",name: "fastLength",defval: 12,type: "integer",min: 1,max: 2e3,},{id: "in_1",name: "slowLength",defval: 26,type: "integer",min: 1,max: 2e3},{id: "in_3",name: "Source",defval: "close",type: "source",options: "open high low close hl2 hlc3 ohlc4".split(" ")},{id: "in_2",name: "signalLength",defval: 9,type: "integer",min: 1,max: 50}],id: "Moving Average Convergence Custom/Divergence@tv-basicstudies-1",scriptIdPart: "",name: "MACDCUSTOM"},constructor: function() {this.f_0 = function(a, b) {return a - b},this.main = function(a, b) {var c, k, f, n, r, l, u, p, q, e, g, v, i;this._context = a;this._input = b;c = PineJS.Std[this._input(2)](this._context);k = this._input(0);f = this._input(1);n = this._input(3);r = this._context.new_var(c);l = PineJS.Std.ema(r, k, this._context);u = this._context.new_var(c);p = PineJS.Std.ema(u, f, this._context);q = this.f_0(l, p);e = this._context.new_var(q);g = PineJS.Std.sma(e, n, this._context);v = this.f_0(q, g);if (v >= 0) {i = 0;} else {i = v;v = 0}return [v, q, g, i];}}}
];

结果显示效果跟自带MACD一样

具体内容可添加QQ(1765156144)备注来意

TradingView--自定义技术指标相关推荐

  1. 第一天: 5天免费搭建个人量化平台 - 预备工作

    第一天: 5天免费搭建个人量化平台 - 预备工作 前言 搭建自己的数据库 Mysql 数据库 Mongodb数据库 安装Python环境及基本库 python建议使用 Anaconda3 第三方库:命 ...

  2. 0、本专栏的预计更新的内容与更新时间表(2022-05-07更新目录排版)

    最近专栏增加了咨询服务,凡是以299元购买专栏的,提供三次免费的咨询服务.咨询服务是提供问题解决方向及解决方法(比如关于backtrader某方面的使用问题,量化投资相关的问题),并不是代写策略及根据 ...

  3. backtrader股票技术指标自定义与量化回测

    01 引言 股票市场自交易以来,人们就开始孜孜不倦地探索各种各样的投资理论,其中技术分析是重要的理论之一.实际上,技术分析是100多年前创建的股票投资理论,是投资者对股票量价变化长期观察归纳总结的若干 ...

  4. 分享bigquant量化技术指标的自定义策略

    bigquant量化技术指标的自定义策略单纯通过计算MA多头指标,以短线 =5, MA 长线 =20, 当 MA 短线在 MA 长线上方时,买入股票,否则卖出股票. 调仓周期为 20 个工作日,而且最 ...

  5. 自定义和自动计算的技术指标和覆盖AnyStock

    AnyStock是一款基于XML/JSON的Flash金融图表解决方案,转换你的实时数据为具有交互功能的顶级图表,使你的数据直观地展现在Web页面上,控件支持滚动.下拉.动缩放效果等,并且提供了一系列 ...

  6. 基于python快速简便地实时计算金融技术指标

    从简单应用到平台框架应用,不同场景下,基于python快速简便地实时计算金融技术指标的方法,总结如下(鄙人之前走了不少弯路,以下五种场景实现及避坑方法,分别介绍给各位朋友,请借鉴): 一.tradin ...

  7. 数据库审计服务器性能要求,数据库审计技术指标资质要求-.docx

    数据库审计技术指标 资质要求: 提供自主知识产权证明文件(软件著作权.软件产品登记). 提供与需求单位同类HIS系统的三甲医院数据库审计的销售案例. 中标供应商必须在成交结果公示后按照用户要求提供为期 ...

  8. 强大的金融类图表库 TradingView 使用分享

    这段时间刚好做币圈交易所,运用到了现在最火的金融类图表库 -- TradingView ,就是强大,基本上现在的火币网(https://www.huobi.com),币安网(https://www.b ...

  9. 用不了tradingview?那自己捣鼓一个属于自己的量化分析平台

    现在很多国内用户用不了tradingview,原因很多,不赘述.其中一个原因是数据源使用了国外数据源.实际上,只要建立自己的实时行情数据库进行实时更新,加上自己做一个简单web服务,同时将所有日志.品 ...

  10. 面向初学者的 MQL4 语言系列之4——自定义指标

    简介 这是"面向初学者的 MQL4 语言"系列的第四篇文章.今天我们将学习编写自定义指标.我们将熟悉指标特征的分类,了解这些特征如何影响指标,学习新函数和优化方法,最后就是编写我们 ...

最新文章

  1. 刚刚,2021中国最好学科排名发布:北大、清华、人大中国顶尖学科居前三
  2. C#多线程编程(6)--线程安全2 互锁构造Interlocked
  3. FineReport报表和J2EE应用的集成
  4. 算法与数据结构 (三) 二叉树的简单应用 二叉查找树,二叉堆排序
  5. 互联网晚报 | 1月25日 星期二 | 知乎首次举办上星晚会;微信视频号上线首个付费直播间;淘宝天猫“春节不打烊”活动正式上线...
  6. 利用导航网格限制玩家移动范围
  7. android build获取ext,顶级build.gradle文件中的ext属性
  8. STL—内存的配置与释放
  9. 条件随机场(CRF)小结
  10. 数据库基础(2)选择,投影,连接,除法运算
  11. 购机测试软件重装上阵
  12. Unity-人物移动
  13. win10计算机 回收站等怎么放桌面,WIN10如何在桌面删除回收站_win10电脑怎么删除回收站图标-win7之家...
  14. MFC 控件大小随窗体改变而改变大小-OnSize
  15. github python100天_GitHub - 1814931012/Python-100-Days: Python - 100天从新手到大师
  16. HMACSHA加密方法
  17. 计算机网络面试题总结之一
  18. 搭建私服环境及私服的使用-将第三方jar上传私服
  19. 【Matlab】简单的滑模控制程序及Simulink仿真
  20. PHP+MySQL 无限级分类的两种实现方案

热门文章

  1. 如何制作动态海报?教你一招在线合成GIF海报
  2. 国家气象局天气预报城市及城市代码
  3. 基于Java实现简单的在线 OJ 系统
  4. 聊聊生日悖论和生日攻击
  5. TRS内容管理平台用户注册逻辑漏洞
  6. Linux系统调用之execve函数与标准C库exec函数族(有关于进程方面的函数族)
  7. 2019 CCCC 天梯赛 杭州站 历程
  8. 电子商务法律规范与伦理道德(七)
  9. 22个关于ES6的最新面试题汇总整理
  10. upc 个人训练赛第三场:排课表(容斥原理+组合数学)