首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试在单个时间窗口中同时获取不同时间段1H、2H和4H的DI + DI-和ADX值​(pinescript tradingview)

在交易策略开发中,尤其是在使用Pinescript语言在TradingView平台上进行开发时,获取不同时间段的指标值(如DI + DI-和ADX)是一个常见的需求。这些指标通常用于技术分析,帮助交易者判断市场趋势和潜在的反转点。

基础概念

  1. DI + DI-:这是方向指标(Directional Movement Index, DMI)的两个组成部分,分别代表正向方向指标和负向方向指标。它们用于衡量市场趋势的强度和方向。
  2. ADX:平均趋向指数(Average Directional Index),用于衡量趋势的强度。ADX值越高,表示趋势越强;反之,ADX值越低,表示趋势越弱。

相关优势

  • 多时间框架分析:通过同时查看不同时间段的指标,可以更全面地理解市场动态,捕捉短期和长期趋势。
  • 策略灵活性:根据不同时间段的指标值,可以制定更灵活的交易策略,适应不同的市场条件。

类型与应用场景

  • 交易策略:在交易策略中,结合不同时间段的DI + DI-和ADX值,可以制定更复杂的入场和出场规则。
  • 风险管理:通过分析不同时间段的指标,可以更好地评估和管理交易风险。

遇到的问题及解决方法

在Pinescript中,获取不同时间段的指标值需要使用不同的时间框架(timeframe)。以下是一个示例代码,展示如何在单个时间窗口中同时获取1H、2H和4H的DI + DI-和ADX值:

代码语言:txt
复制
//@version=5
indicator("Multi-Timeframe Indicators", overlay=true)

// 获取当前时间框架的DI + DI-和ADX值
dmi = ta.dmi(close, high, low)
diPlus = dmi.diPlus
diMinus = dmi.diMinus
adx = dmi.adx

// 获取1H时间框架的DI + DI-和ADX值
dmi1h = request.security(syminfo.tickerid, "1h", ta.dmi(close, high, low))
diPlus1h = dmi1h.diPlus
diMinus1h = dmi1h.diMinus
adx1h = dmi1h.adx

// 获取2H时间框架的DI + DI-和ADX值
dmi2h = request.security(syminfo.tickerid, "2h", ta.dmi(close, high, low))
diPlus2h = dmi2h.diPlus
diMinus2h = dmi2h.diMinus
adx2h = dmi2h.adx

// 获取4H时间框架的DI + DI-和ADX值
dmi4h = request.security(syminfo.tickerid, "4h", ta.dmi(close, high, low))
diPlus4h = dmi4h.diPlus
diMinus4h = dmi47.diMinus
adx4h = dmi4h.adx

// 绘制指标值
plot(diPlus, title="DI+")
plot(diMinus, title="DI-")
plot(adx, title="ADX")
plot(diPlus1h, title="DI+ 1H", color=color.blue)
plot(diMinus1h, title="DI- 1H", color=color.blue)
plot(adx1h, title="ADX 1H", color=color.blue)
plot(diPlus2h, title="DI+ 2H", color=color.green)
plot(diMinus2h, title="DI- 2H", color=color.green)
plot(adx2h, title="ADX 2H", color=color.green)
plot(diPlus4h, title="DI+ 4H", color=color.red)
plot(diMinus4h, title="DI- 4H", color=color.red)
plot(adx4h, title="ADX 4H", color=color.red)

参考链接

通过上述代码,你可以在单个时间窗口中同时获取和绘制1H、2H和4H的DI + DI-和ADX值,从而更全面地分析市场趋势。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5.6 汇编语言:汇编高效数组寻址

,2h,3h,4h,5h ArrayDW DWORD 1h,2h,3h,4h,5h,6h,7h,8h,9h TwoArray DWORD 10h,20h,30h,40h,50h RowSize =...Intel处理器中,涉及指针时有near指针far指针两种不同类型,其中Far指针一般用于实模式下内存管理,而在保护模式下,一般采用Near指针。...保护模式下,Near指针指的是一个指针变量,它只存储一个内存地址。通常,Near指针大小为4字节,因此,它可以被存储单个双字变量中。...,2h,3h,4h,5h ArrayB DWORD 1h,2h,3h,4h,5h PtrA DWORD offset ArrayA ; 指针 PtrA --> ArrayA PtrB...然后,使用mov指令依次获取d[i]、d[i][j]以及d[i][j][k]指针并获取。其中,i表示数组第一维下标,j表示数组第二维下标,k表示数组第三维下标。

37630

5.6 汇编语言:汇编高效数组寻址

,2h,3h,4h,5h ArrayDW DWORD 1h,2h,3h,4h,5h,6h,7h,8h,9h TwoArray DWORD 10h,20h,30h,40h,50h RowSize...Intel处理器中,涉及指针时有near指针far指针两种不同类型,其中Far指针一般用于实模式下内存管理,而在保护模式下,一般采用Near指针。...保护模式下,Near指针指的是一个指针变量,它只存储一个内存地址。通常,Near指针大小为4字节,因此,它可以被存储单个双字变量中。...,2h,3h,4h,5h ArrayB DWORD 1h,2h,3h,4h,5h PtrA DWORD offset ArrayA ; 指针 PtrA --> ArrayA PtrB...然后,使用mov指令依次获取d[i]、d[i][j]以及d[i][j][k]指针并获取。其中,i表示数组第一维下标,j表示数组第二维下标,k表示数组第三维下标。

36440
  • Win32汇编:数组与标志位测试总结

    ,2h,3h,4h,5h,6h,7h,8h,9h.codemain PROC; 针对字节寻址操作mov al,[ArrayB] ; al=10mov al,[ArrayB+1]...,2h,3h,4h,5hArrayDW DWORD 1h,2h,3h,4h,5h,6h,7h,8h,9hTwoArray DWORD 10h,20h,30h,40h,50hRowSize = ($ -...,2h,3h,4h,5hArrayB DWORD 1h,2h,3h,4h,5hPtrA DWORD offset ArrayA ; 指针 PtrA --> ArrayAPtrB DWORD offset...,与AND指令唯一不同在于,该指令只会设置相应标志,并不会替换目的操作数中数值,常用于测试某些位是否被设置.TEST指令可以同时检测设置多个标志位,该指令执行时总是清除溢出标志进位标志,它修改符号标志...BT同时,把操作数指定位置为0mov dx,10000001bbtr dx,7btr dx,6 ; cf = 0;btc 位测试并取反.执行BT同时,把操作数指定位取反mov

    43330

    freqtrade 学习笔记

    主要示例用途是预测极大极小时,argrelextrema函数无法知道时间范围边缘处最大/最小。...ADX指标则是基于+DI-DI之间差异来计算,它可以0到100之间取值,数值越高表示趋势越强。...MFI指标结合了价格交易量信息,通过计算特定时间段资金流入流出来衡量市场买卖力量。...它计算方法是通过计算两个不同时间段指数移动平均线(EMA)之间差异来确定价格动量趋势变化。具体来说,MACD指标的计算方法如下:1....好处是可以将不同时间分辨率数据统一起来,使得数据更加规范化和易于处理。此外,重采样可以消除原始数据中噪声波动,使得数据更加平滑,有利于分析市场趋势价格走势。

    4.4K612

    全方位分析zookeeper分布式系统协调器Kubernetes上实践

    0/1 Running 0 19s zk-2 1/1 Running 0 40s 使用以下命令从zk-2 Pod获取完整性测试期间输入...ZooKeeper使用Log4j,默认情况下,它使用基于时间大小滚动文件追加器进行日志记录配置。 使用以下命令从zk StatefulSet中一个Pod获取日志记录配置。...kubectl get pod -w -l app=zk 另一个窗口中,从 Pod zk-0 文件系统中删除 zookeeper-ready 脚本。...但是,如果希望你服务容忍节点故障时无停服时间,你应该设置 podAntiAffinity。 获取 zk Stateful Set 中 Pods 节点。...使用不同规则、标签选择算符,你能够通过这种技术把你 ensemble 分布 不同物理、网络电力故障域之间。

    92520

    自定义数据集上训练StyleGAN | 基于Python+OpenCV+colab实现

    重磅干货,第一时间送达 概要 分享我知识,使用带有示例代码片段迁移学习逐步Google colab中自定义数据集上训练StyleGAN 如何使用预训练权重从自定义数据集中生成图像 使用不同种子生成新图像...这里有一个生成器(用于从潜在空间中某个点在数据上生成新实例)鉴别器(用于将生成器生成数据与实际或真实数据区分开)。...如果你有google-pro(不是强制性),则可以节省多达40-50%本文训练时间 ,我对GAN进行了3500次迭代训练,因为训练整个GAN需要很长时间(要获取高分辨率图像),则需要至少运行25000...-潜在空间中不同点 从不同种子(潜伏空间中不同点)生成图像 ?...我们可以从逻辑上选择看起来相似的种子(你需要尝试一些实验才能达到此目的),然后对它们进行插获取原始数据集中不存在全新图像。 同样,输出质量将取决于我们模型完成训练哪个阶段。

    3.6K30

    活动、节假日、促销等营销方式因果效应评估——方法模型篇(二)

    而且,还可以量化出来说,如果打开时长在[a4,a5]([4h,5h])那么活跃度会比[a0,a1]高出40% 如果要在显著时间里面再画一个阈值,可以观察系数增长幅度,比如: 那a4,4H就是一个非常好新阈值点...理论关系(十九) 同时其分析特征重要性角度与树模型不同, 所以两者之间会有不同,就需要根据具体情况具体分析了。...一到9月,受开学影响,活跃会下降,但定量来说,开学影响到底有多大? 解释DAU波动时,今年去年同期都上升或下降但幅度不同,为什么?...,并在各自数据状态下,适用不同方法: 第二个版本目前解决各个分析场景方法论框架: 一些无法进行随机实验场景下,会需要合成控制方式 大部分运营产品评估效果时,最常用方法就是effect...贝叶斯结构时间序列模型(二十一) 比较适合跟 不能做AB测试情况下,产品上线后做效果评估一般会直接选择上线前后指标做对比,但是不同时指标本身受到影响不一样,比如节假日、季节性影响,使得选择上线前后时间段指标比较主观

    3.5K22

    股市行情指标计算原理趋势反映--量化交易1-基础

    ADR等于相应时间段上涨股票家数除以相应时间段下跌股票家数。用于分析股市整体强弱指标。一般计算周期选为十个交易日。ADR指标大多数时间都在数值一。 1上方震荡运行是对牛市直观反应。...移动平均线通过反映市场平均持仓成本变化情况,进而直接反映出趋势运行情况。以收盘价格作为计算,作为市场平均持仓成本依据,来描述不同时间周期内市场平均持仓成本变化情况。...DX=[(+DI14--DI14)]÷[(+DI14+-DI14)]。ADX.其平滑周期取六日,ADX等于DX六日移动平均。 ADXR为当日ADX加前一日ADX除以二。 上升趋势中。...不必等到+DI-DI交叉再卖出,可以提前卖出。 ADX主要分析主要反映市场涨跌力度。ADX指标创出历史新高,+DI指标线快速上扬。市场做多。...它是通过将几条不同时间周期移动平均线加权平均方法计算出一条移动平均线综合指标。 BBI等于三日平均价,加六日平均价,加12日平均价,加24日平均价除以四。

    1.9K10

    Prometheus 常用 PromQL 语句

    PromQL 是 Prometheus 提供一个函数式表达式语言,可以使用户实时地查找聚合时间序列数据。...而 PromQL 语言表达能力非常丰富,可以使用标签进行任意聚合,还可以使用标签将不同标签连接到一起进行算术运算操作。内置了时间和数学等很多函数可以使用。 ?...[5m]) ) ) Gauges 变化 过去一小时内绝对变化: delta(my_gauge[1h]) 基于过去4小时数据来预测1小时后数据: predict_linear(my_gauge...[4h], 3600) 时间 获取 Unix 时间,以秒为单位: time() 获取最后一次成功运行批处理作业年龄: time() - my_batch_job_last_success_timestamp_seconds...由于微信压缩比较严重,如果你想要获取原图可以公众号中回复 PromQL 关键字获取高清 PDF 文档。

    10.8K21

    Mfuzz做转录变化时间趋势分析后对每个趋势分组挑一个代表性基因

    通常情况下,我们对基因分组是统计学显著上下调即可,就需要我们实验设计是两个分组, 比如癌症正常,处理对照等等。..." , "2h", "4h" , "8h" , "12h" )] save(avereps_df,file = 'avereps_df.Rdata...org.Hs.eg.db) library(ggplot2) library(ggstatsplot) library(tidyverse) ## 2.1 Filtering---- # 去除表达量太低或者不同时间点间变化太小基因等步骤...acc=GSE116439 是不同药物不同细胞系不同浓度梯度处理不同时间处理,比如: GSM3232610 A498_cisplatin_0nM_24h GSM3232611 A498_cisplatin..._24h GSM3232617 A498_cisplatin_3000nM_2h GSM3232618 A498_cisplatin_3000nM_6h 大家可以任意选择一个细胞系,一个药物,看看它不同浓度梯度不同时间处理过程变化

    4K20

    数据导入与预处理-拓展-pandas时间数据处理02

    Timedelta运算 3.5 时间段Time spans构造与属性:Period 1. 通过Period生成 2....文档罗列Offset中,需要介绍一个特殊Offset对象CDay,其中holidays, weekmask参数能够分别对自定义日期星期进行过滤,前者传入了需要过滤日期列表,后者传入是三个字母星期缩写构成星期字符串...3.8 时序中与分组 1....滑动窗口 所谓时序函数,即把滑动窗口用freq关键词代替,下面给出一个具体应用案例:股票市场中有一个指标为BOLL指标,它由中轨线、上轨线、下轨线这三根线构成,具体计算方法分别是N日均值线、...中要特别注意组边界处理情况,默认情况下起始计算方法是从最小时间戳对应日期午夜00:00:00开始增加freq,直到不超过该最小时间最大时间戳,由此对应时间戳为起始,然后每次累加freq

    1.9K60

    Apple 操作系统可执行文件 Mach-O

    di->weak_bind_size = 0; di->lazy_bind_off = _lazyBindingInfo.size() ?...可以将got 看作一个表,里面每项都是一个地址。got 每项加载期间都会被 dyld 重写,所以会在 DATA Segment 中。...macOS 使用是两级名称空间来确保不同模块符号名不会冲突,同时增强向前兼容。 选择要加载 Mach-O 后,系统内核会先确定该文件是否是 Mach-O 文件。...然后内核系统会用 fork 函数创建一个进程,然后通过 execve 函数开始程序加载过程,execve 有多个种类,比如 execl、execv 等,只是参数环境变量上有不同,最终都会到内核 execve...Mach-O 链接器之间是通过 assembly trampoline 进行桥接,Mach-O 接口 ABI ELF 相同,但策略不同

    2.9K10

    random — 伪随机数生成器(史上总结最全)

    $ python3 random_uniform.py 12.428 93.766 95.359 39.649 88.983 Seeding random() 每次调用时候都生成不同,并且它重复任何数字之前有一个很大周期...继续之前,从较早输入恢复状态减少了生成重复序列可能性。getstate() 函数可以返回随后用于 setstate() 重新初始化随机数生成器数据。...random 模块包含了 choice() 函数用于从序列中随机获取值。这个例子模拟了投 10000 次硬币正面反面出现次数。...三角形分布曲线已知最小最大处具有低点,并且模式处具有高点,其基于最可能结果( 由 triangular() 模式参数反映)。...指数分布 expovariate() 生成一个指数分布,用于模拟均匀 Poisson 过程中到达间隔时间,例如放射性衰减或者进入服务器请求数。

    5.8K30

    高可用 Prometheus 常见问题

    * 每秒获取样本数 * 样本大小 保留时间(retention_time_seconds)样本大小(bytes_per_sample)不变情况下,如果想减少本地磁盘容量需求,只能通过减少每秒获取样本数...查看当前每秒获取样本数: rate(prometheus_tsdb_head_samples_appended_total[1h]) 有两种手段,一是减少时间序列数量,二是增加采集样本时间间隔。...由于针对不同目标的抓取发生在不同时间,因此随着时间流逝会发生抖动,query_range 计算时很少会与抓取时间完美匹配,并且抓取有可能失败。面对这样挑战,rate 设计必须是健壮。...同时 label 中不要加到 record rule name 中。...如果 A B 启动时间不同,时钟不同,那么采集同样数据时间戳也不同,就不是多副本同样数据概念了 就算用了远程存储,A B 不能推送到同一个 tsdb,如果每人推送自己 tsdb,数据查询走哪边就是问题了

    1.5K20

    供应链大屏设计实践

    02 方案 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确,...1/3到1/30,节省了磁盘空间同时,也能有效减少磁盘IO;另一方面ClickHouse比ES占用更少内存,消耗更少CPU资源 SQL查询 不支持 支持 高并发支持 较好,经过优化可以支持上万...针对不同业务报表,根据不同场景,进行指标查询,通过指标缓存表方式,减少数据量,提升指标的查询性能。...,支持封版期间人员白名单权限控制; (4)历史日期配置化:计算预测全天指标使用指定历史日期单量占比作为对比项,数据库里包含部分历史大促日单量数据,可灵活配置修改对比历史日期; (5)重算机制:可基于某一时间段进行数据重算...并结合不同看板分析数据趋势及变化原因。 4)结合大屏计算逻辑,通过京东动力搭建测试模型,做到自由指定时间计算大屏指标明细,验证分析大屏数据。

    14210

    如何在Ubuntu 16.04上安装使用Byobu进行终端管理

    Byobu主要功能包括多个控制台窗口,每个窗口中拆分格,显示主机状态通知状态标记,以及跨多个连接持久会话。...第6步 - 使用Windows Byobu提供在单个会话中不同窗口之间切换能力。这使您可以单个连接中轻松进行多任务。...当移动分割时,这将自动调整窗口内周围面板大小,并且当您在其中工作时可以轻松地使格变大,然后焦点移动时放大不同格。...步骤7示例中,使用拆分而不是窗口可以很容易地使用syslog尾部,编辑器窗口新命令提示符,这些都在同一个窗口中打开。...如果您尝试Byobu中使用具有冲突键盘键绑定另一个终端应用程序,这会派上用场。 CTRL+F9打开一个提示,允许您将相同输入发送到每个窗口; SHIFT+F9对每个格都做同样事情。

    9.9K00

    实时计算大数据处理基石-Google Dataflow

    ,可以批处理流式处理中同时工作,因为批处理实际上只是流一个子集。...图五 窗口处理 以前一样,输入数据累积,直到它们被完全处理,然后产生输出。在这种情况下,我们得到四个输出而不是一个输出:四个基于这个两分钟事件时间口中单个输出。...由于处理时间窗口对遇到输入数据顺序敏感,因此每个“窗口”结果对于两个观察订单中每一个都不同,即使事件本身在技术上每个版本中同时发生。...图12 入口时间处理时间窗口 与其他处理时间窗口示例一样,即使输入事件时间保持不变,当输入顺序发生变化时,我们也会得到不同结果。 与其他示例不同,窗口事件时域中再次描绘(因此沿X轴)。...我们接下来观察一系列记录,3,43,原始会话都重叠。结果,它们全部合并在一起,并且12:07触发早期触发时,发出为10单个窗口。

    1.2K20

    实时计算大数据处理基石-Google Dataflow

    ,可以批处理流式处理中同时工作,因为批处理实际上只是流一个子集。...图五 窗口处理 以前一样,输入数据累积,直到它们被完全处理,然后产生输出。在这种情况下,我们得到四个输出而不是一个输出:四个基于这个两分钟事件时间口中单个输出。...由于处理时间窗口对遇到输入数据顺序敏感,因此每个“窗口”结果对于两个观察订单中每一个都不同,即使事件本身在技术上每个版本中同时发生。...图12 入口时间处理时间窗口 与其他处理时间窗口示例一样,即使输入事件时间保持不变,当输入顺序发生变化时,我们也会得到不同结果。 与其他示例不同,窗口事件时域中再次描绘(因此沿X轴)。...我们接下来观察一系列记录,3,43,原始会话都重叠。结果,它们全部合并在一起,并且12:07触发早期触发时,发出为10单个窗口。

    1.2K30

    构建企业级监控平台系列(二十六):Prometheus 高可用架构 Thanos 实践

    A 宕机一段时间,丢失了一部分数据,如果负载均衡正常轮询,请求打到A 上时,数据就会异常。 如果 A B 启动时间不同,时钟不同,那么采集同样数据时间戳也不同,就多副本数据不相同。...如果你是多副本运行,需要声明你副本标识,如 0号,1,2 三个副本采集一模一样数据,另外2个 Prometheus 就可以同时运行,只是 replica 不同而已。...--storage.tsdb.min-block-duration --storage.tsdb.max-block-duration 这两个设置为2h,两个参数相等才能保证Prometheus...例如按照时间指标名字,连续尽量放在一起。而 store gateway可以获取存储文件结构,因此可以很好将指标存储请求翻译为最少 object storage 请求。...减少单个 store 数据过大问题。 第二个方案是时间切片,也就是上面提到 store gateway,可以选择查询多长时间数据。

    1.2K30
    领券