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

当我试图在我的EA中构建一个指示器( RSI行的SMA)时,"array out of range“

"array out of range"是一个常见的错误消息,它表示在代码中访问了一个超出数组范围的索引位置。这通常发生在尝试访问数组中不存在的元素时。

在构建指示器时,"array out of range"错误可能是由以下几个原因引起的:

  1. 数据长度不匹配:在计算指标时,可能使用了不同长度的数据数组。例如,使用较短的数据数组计算长期指标时,可能会导致数组越界错误。解决方法是确保使用的数据数组长度一致。
  2. 索引计算错误:在计算指标时,可能使用了错误的索引计算公式,导致访问了超出数组范围的索引位置。解决方法是仔细检查索引计算公式,确保计算出的索引值在数组范围内。
  3. 数据缺失:在构建指标时,可能存在数据缺失的情况,导致某些数组元素为空。当尝试访问这些空元素时,就会触发数组越界错误。解决方法是检查数据源,确保数据完整性。

针对这个错误,腾讯云提供了一系列的云计算产品和服务,可以帮助开发者解决相关问题。以下是一些相关产品和服务的介绍:

  1. 腾讯云函数计算(SCF):无需管理服务器即可运行代码,提供弹性、高可用的计算能力。可以使用SCF来构建和运行指标计算的逻辑,避免了手动管理服务器的复杂性。了解更多:腾讯云函数计算
  2. 腾讯云云数据库(TencentDB):提供多种数据库产品,包括关系型数据库、NoSQL数据库等,可以存储和管理指标计算所需的数据。了解更多:腾讯云云数据库
  3. 腾讯云云监控(Cloud Monitor):提供全面的监控和告警服务,可以监控指标计算的运行状态,并在出现异常时及时通知开发者。了解更多:腾讯云云监控
  4. 腾讯云云服务器(CVM):提供弹性的云服务器实例,可以用于运行指标计算的代码。了解更多:腾讯云云服务器

请注意,以上仅是腾讯云提供的一些相关产品和服务,其他云计算品牌商也提供类似的产品和服务,开发者可以根据自己的需求选择合适的解决方案。

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

相关·内容

PyAlgoTrade 0.20 中文文档(一)

在我继续之前,我想感谢 Pablo Jorge,他帮助审查了最初的设计和文档。 本教程是在 UNIX 环境下开发的,但是将其调整到 Windows 环境应该很简单。...这是因为前 14 个 RSI 值为 None,而第 15 个是 SMA 过滤器收到的第一个非 None 值。只有当我们有 15 个非 None 值时,才能计算 SMA(15)。...注意 CSV 文件必须在第一行中具有列名。 如果Adj Close列为空,也没关系。 当使用多个工具时: 如果加载的所有工具都位于相同的时区,则可能不需要指定时区参数。...在处理多个仪器时 如果加载的所有仪器都在同一个时区,则可能不需要指定时区参数。 如果加载的任何仪器处于不同的时区,则必须设置时区参数。...注意 这是一个基类,不应直接使用。 getValue() 重写以使用窗口中的值计算值。 getValues() 返回一个具有窗口中值的 numpy.array。

39810

pyalgotrade教程1--第一个demo

1.pyalgotrade框架         pyalgotrade官网上的教程虽然很入门,没有接触过的人也能使用,但是一开始可能就会因为无法获取yahoo数据而退却,毕竟我们是在一个大型局域网内。...当我们的资产都是在同一个时区的时候,timezone可以设置为None,后面一个没有具体限制,也可以设置为None,所以我们demo中实例化feed的时候,是: feed = GenericBarFeed...pyalgotrade中的technical提供了计算SMA的函数。...同时,我们要知道,technical产生的技术指标值也是一个DataSeries,也就是说,技术指标还可以被技术指标处理一次。例如,可以直接求RSI的SMA: self....__rsi = rsi.RSI(feed[instrument].getCloseDataSeries(), 14) self.__sma = ma.SMA(self.__rsi, 15)

2.3K20
  • R语言量化交易RSI策略:使用支持向量机SVM|附代码数据

    在本文中,我们将使用一种功能强大的机器学习算法-支持向量机(SVM),在考虑到市场整体趋势的同时,探索您实际需要的RSI值。 首先,我们将简要概述SVM,然后根据算法发现的模式来构建和测试策略。...在强劲的上升趋势中,RSI值超过70可能表示趋势的延续,而在下降趋势期间的RSI值70可能意味着一个很好的切入点。问题是要找出要考虑这两个因素的确切条件。...,分析它能够找到的模式,然后进行测试以查看这些模式在实际的交易策略中是否成立。...多头 空头 RSI低于25,价格比SMA 50低20(准确度为56%,交易36次) RSI小于25,且价格比SMA 50低10至5个点(准确度为54%,交易81次) RSI3在50到75之间,价格比SMA...当价格刚刚跌破50期SMA以下且RSI超过70时,它发现了一个短暂的机会。这与第一种情况相似,但我们正在寻找看跌突破进入信号,而不是传统的“超买”条件。

    57620

    BackTrader 中文文档(二十六)

    包括: 一些未知长度的预市数据 有这样的要求会使大多数指标构建的基本原则无效: 有一个固定的用于向后查看的周期 此外,考虑到比较是在盘内进行的,还必须考虑其他因素: 一些“盘内”瞬间可能会缺失(无论是分钟还是秒...RSI 标签显示出数据和 SMA,但是尺度在 3400-4200 范围内,因此……RSI 没有任何迹象。 进一步的徒劳尝试是将 SMA 放在一个子图上,然后再次在 SMA 上绘制 RSI。 $ ....标签清晰,但是除了 SMA 图中底部的一条淡蓝线外,RSI 的所有东西都消失了。 注意 添加了在另一个指标上绘制的多行指标。 沿着另一个方向,让我们在另一个指标上绘制多行指标。...,并添加以下子部分: 系统中datas的属性(名称、压缩、时间框架) 系统中strategies的属性(行、参数) 策略中indicators的属性(行、参数) 策略中observers...当数据被重放时,无法支持预加载,因为每个柱状图实际上是实时构建的。

    23400

    Garch波动率预测的区制转移交易策略

    均值回归策略使用RSI(2)建模:RSI(2)时为Long,否则为Short。趋势跟踪策略以SMA 50/200交叉建模:当SMA(50)> SMA(200)时为Long,否则为Short。...我将考虑tseries软件包中的garch函数和fGarch软件包中的garchFit函数。tseries软件包中的garch函数速度很快,但并不总能找到解决方案。...为了演示garch函数和garchFit函数之间的速度差异,我创建了一个简单的基准测试: #*******************************************************...因此,要预测波动率,我将尝试在找到解决方案时使用garch函数,否则将尝试使用garchFit函数。...is.logical( 现在,让我们创建一个基于GARCH(1,1)波动率预测在均值回归和趋势跟踪策略之间切换的策略。

    76620

    BackTrader 中文文档(二十二)

    由于《走向财务自由的交易》- 亚马逊链接,我开始了backtrader的探索,我别无选择,只能发布答案并制作一个示例。 该策略的方法在某种程度上基于该书中提出的一些观点。没有新鲜事。参数已经快速设置。...pinkfish是另一个 Python 回测框架(在README中列出),可以在以下网址找到:pinkfish。...它有效… 在看到当天第一部分(行:0955)之后 如果有一个新的 20 日高点,就会发出一个Close订单 订单是通过当天第二部分的收盘价格执行的(行:0956) 收盘价为28.49,这是在策略中...在这种情况下,ta-lib中的SMA需要一个名为timeperiod的参数来定义操作窗口的大小。...交叉信号发出 buy 和 sell 命令,并考虑到一个重要的事情: 在 strategy 中不进行定位的检查 与下面的执行中看到的相同策略通过在样本中使用此代码(通过开关 --longonly 控制)

    49800

    BackTrader 中文文档(一)

    实际上,这是一个量化公司(我亲自访问过的)使用的相同方案:在backtrader中进行原型设计,然后在Java中进行生产。...第 0 个指数方法 当访问线中的值时,当前值通过索引访问:0 通过*-1访问“最后”输出值。...考虑到这一点,如果我们想象一个在初始化过程中创建的简单移动平均策略: self.sma = SimpleMovingAverage(.....)...reversed=True 参数考虑到 CSV 文件中的数据已经被 反转,并具有标准预期的日期升序。 我们的第一个策略 现金在 broker 中,而 Data Feed 在那里。...此外,为了简化: 只有在市场中还没有持仓时才允许买入订单 注意 next方法没有传递“bar index”,因此似乎不清楚如何理解 5 个 bar 是否已经过去,但这已经以 Pythonic 的方式进行了建模

    97000

    《极限挑战》罗志祥遭套路“破产”,我们却看到了更大的危机

    当机器接受到「处理信息」的训练信号时,团队会使用监督学习;当没有给出训练信号时,会使用无监督学习。 由此,他们的研究模型得出了这样一个结论:在意大利大选之后,欧元怀疑者认为「货币统一论可能会被减弱」。...例 1:RSI(14)、价格-SMA(50)、CCI(30)。可以使用这三个指标来构建模型,然后使用适当的 ML 算法来预测未来的值。...例 2:RSI(14)、RSI(5)、RSI(10)、价格 - SMA(50)、价格 - SMA(10)、CCI(30)、CCI(15)、CCI(5)。在这个例子中,我们选择了 8 个指标。...4、在 R 语言中使用 SVM 的外汇策略构建规则:鉴于对特征和 SVM 的理解,先以 R 语言为例。选取欧元/美元货币对的一小时时间框架,可追溯到 2010 年。...随后,从每个数据点的 SAR 值中减去收盘的 EUR / USD 价格。 将指标和类合并为一个称为模型数据的数据框,再将模型数据分成训练和测试数据。

    80630

    实战:基于技术分析的Python算法交易

    empyrical 0.5.0 zipline 1.3.0 辅助函数 在构造策略之前,我要先定义几个辅助函数(此处我只介绍其中一个,因为它是最重要的一个)。...然而,这笔交易是次日执行的,价格可能会发生大幅变化。在 zipline 中,交易不会因为金额不足而被拒,但我们可以通过负的余额将其终止。...该策略的逻辑可以归纳为以下几步: 当20天的 SMA 价格上升时,买入股份 当20天的 SMA 价格下降时,卖掉全部股份 用前19天和当天的数据计算移动平均数,次日执行交易决策 这是我们第一次调用预设辅助函数的地方...该策略的逻辑如下: 当较快的移动平均值穿越较慢的移动平均值时,我们买入股份 当较慢的移动平均值穿越较快的移动平均值时,我们卖出股份 一定要记住一点,在这种策略中,许多不同长度窗口的组合构成了速度不同的移动平均数...有时候,也可能会设定一个比较居中的值,比如在涉及到做空的策略中。我们也可以选择更极端的阈值,如20和80。不过,这要求具备专业知识,或者在回测时尝试。

    1.6K22

    BackTrader 中文文档(十六)

    这已经在backtrader的1.9.54.122版本中作为过滤器引入了。 Stockcharts对砖形图有一个很好的参考。...想象一下使用案例(稍后在示例中):某人从 1000 货币单位开始,在每个月的 15 日添加 100 货币单位。12 个月后,账户中的总额为 2200。...) 具有一个 register 类方法,将用作装饰器,并接受一个参数,该参数将添加到 _STRATS 具有一个 COUNT 类方法,将返回一个迭代器(实际上是一个 range),其中包含要优化的可用策略的计数...原因是价格的分辨率是每日的。计时器像前一个示例一样在09:30首次调用。但是当系统获取下一批价格时,它们发生在下一天。显然,计时器只能被调用一次。需要更低的分辨率。...repeat 必须是一个 datetime.timedelta 实例 表示在第 1 次调用后,进一步的调用是否将在同一个会话中按计划的repeat间隔内安排 一旦计时器超过会话结束,它将被重置为 when

    24600

    以股票RSI指标为例,学习Python发送邮件功能(含RSI指标确定卖点策略)

    在第20行,则算出该周期内的收盘价跌数的均值,并存入'downAvg'+str(period)列中。最后在第22行,算出本周期内的RSI值,并放入df对象中的'RSI'+str(period)里。...具体而言,在第49行里定义邮件类型是MIMEMultipart,也就是说带附件的邮件,在第50行和第51行里,根据参数HTMLContent构建了邮件的正文,在第52行到第54行里,设置了邮件的相关属性值...第二,当数值在40到60间波动时,往往参考价值不大,具体而言,当数值向上突破50临界点时,表示股价已转强,反之向下跌破50时则表示转弱,不过在实践过程中,经常会出现RSI跌破50后股价却不下跌,而突破50...18行到第32行的while循环里,我们计算了基于RSI的卖点,在第22行的语句里,我们制定了第一个规则:RSI6数值大于80,在第23行和第27行,我们在规则一的基础上制定了两个并行的规则,通过上述代码...本文的内容即将出书,在出版的书里,是用股票案例和大家讲述Python入门时的知识点,敬请期待 有不少网友转载和想要转载我的博文,本人感到十分荣幸,这也是本人不断写博文的动力。

    1.6K20

    NumPy 初学者指南中文第三版:1~5

    print(i) ... 0 1 2 Three 4 由于出现continue语句,当我们到达3时未执行循环的最后一行。 在 Python 中,for循环可以附加一个else语句。...Out: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) 此外,在第一层获得第二行: In: b[0,1] Out: array...,而不管是哪一行,请键入以下代码: In: b[...,1] Out: array([[ 1, 5, 9], [13, 17, 21]]) 同样,通过编写以下代码段,选择第二行中的所有房间,而不管楼层和列如何...使其成为一个小脚本,或者在 IPython 中启动一个交互式会话来测试您的假设。 简单移动均线 简单移动均线(SMA)通常用于分析时序数据。...2, 1, -2, 0]) 当我们在编程中谈论随机数字时,我们通常会谈论伪随机数。

    1.5K10

    手把手教你估算深度神经网络的最优学习率(附代码&教程)

    我们可以从 0.1 这样的值开始,然后再指数下降学习率,比如 0.01,0.001 等等。当我们以一个很大的学习率开始训练时,在起初的几次迭代训练过程中损失函数可能不会改善,甚至会增大。...当我们以一个较小的学习率进行训练时,损失函数的值会在最初的几次迭代中从某一时刻开始下降。这个学习率就是我们能用的最大值,任何更大的值都不能让训练收敛。...我们需要在图中找到一个损失函数值降低得最快的点。在这个例子中,当学习率在 0.001 和 0.01 之间,损失函数快速下降。...只需要做到: 多次运行训练,每次只训练一个小批量; 在每次分批训练之后通过乘以一个小的常数的方式增加学习率; 当损失函数值高于先前观察到的最佳值时,停止程序。...我上面引用的论文描述了一种循环改变学习率的新方法,它能提升卷积神经网络在各种图像分类任务上的性能表现。

    1.5K70

    NumPy 数组学习手册:1~5

    只需将前一个 URL 中的numpy更改为scipy或matplotlib即可。 在撰写本文时,IPython 还没有 GUI 安装程序。...当我们加 2 和 2 时,我们正在执行标量加法。 我们可以从一组标量中形成一个向量。 用 Python 编程术语,我们将得到一维数组。 这个概念当然可以扩展到更高的维度。...第一个字符表示类型,第二个字符是一个数字,用于指定数据类型中的字节数(数字 2、4 和 8 分别对应于 16 位,32 位和 64 位浮点数),在以下代码行中显示: In: dtype('f8') Out...步幅告诉我们通过数独数组时,每个步骤需要跳过多少字节。 广播数组 简而言之,即使操作数的形状不同,NumPy 也会尝试执行操作。 在本节中,我们将一个数组和一个标量相乘。...我将元数据和实际数据分离到单独的文件中。 不需要分隔,因为从 NumPy 加载时可以跳过行。 我用 NumPy 编写了一个简单的脚本,以确定在分离过程中创建的 CSV 文件中数据集的最高和最低温度。

    2.7K21

    【干货】盘一盘Python之pyEcharts

    当价格穿越上轨 (冲破阻力了),买入 当价格穿越下轨 (冲破支撑了),卖出 当价格由下向上穿越中轨,买入 当价格由下向上穿越中轨,卖出 此外,要结合带状口的开合,如果出现极度收缩的带状口时,如果价格开始抬升...第 10-23 行在 1.1 节画 K 线图解释的很清楚了。 第 27 行用 talib 里的 ta.BBANDS 函数计算上轨线、中轨线和下轨线。在本例中设定 5 日 EMA,2 倍的波动率水平。...第 25 行用 talib 里的 ta.RSI 函数计算 RSI 值。在本例中设定 14 日历史窗口。...3 总结 如果我说在写这篇之前,我也没使用过 PyEcharts 你们信么?...真的我也没用过,但是我通过看官网介绍而系统总结一套方法很快就学会它了: 方法总结 对 pyecharts 中的所有原件,都是先创建 (可以带些必要属性,比如标题和尺寸),再用 add 方法添加额外属性。

    2.7K20

    盘一盘 Python 系列 7 - PyEcharts

    当价格穿越上轨 (冲破阻力了),买入 当价格穿越下轨 (冲破支撑了),卖出 当价格由下向上穿越中轨,买入 当价格由下向上穿越中轨,卖出 此外,要结合带状口的开合,如果出现极度收缩的带状口时,如果价格开始抬升...第 10-23 行在 1.1 节画 K 线图解释的很清楚了。 第 27 行用 talib 里的 ta.BBANDS 函数计算上轨线、中轨线和下轨线。在本例中设定 5 日 EMA,2 倍的波动率水平。...第 25 行用 talib 里的 ta.RSI 函数计算 RSI 值。在本例中设定 14 日历史窗口。...3 总结 如果我说在写这篇之前,我也没使用过 PyEcharts 你们信么?...真的我也没用过,但是我通过看官网介绍而系统总结一套方法很快就学会它了: 方法总结 对 pyecharts 中的所有原件,都是先创建 (可以带些必要属性,比如标题和尺寸),再用 add 方法添加额外属性。

    2.6K40

    教程 | 如何估算深度神经网络的最优学习率

    这是因为在开始时,初始的随机权重远离最优值。在训练过程中,学习率应当下降,以允许细粒度的权重更新。 有很多方式可以为学习率设置初始值。...当我们以一个很大的学习率开始训练时,在起初的几次迭代训练过程中损失函数可能不会改善,甚至会增大。当我们以一个较小的学习率进行训练时,损失函数的值会在最初的几次迭代中从某一时刻开始下降。...我们需要在图中找到一个损失函数值降低得最快的点。在这个例子中,当学习率在 0.001 和 0.01 之间,损失函数快速下降。...在每次分批训练之后通过乘以一个小的常数的方式增加学习率; 3. 当损失函数值高于先前观察到的最佳值时,停止程序。...我上面引用的论文描述了一种循环改变学习率的新方法,它能提升卷积神经网络在各种图像分类任务上的性能表现。 ?

    1.3K50

    BackTrader 中文文档(二十四)

    这个决定有一些缺点: array.array用于数据存储,当超过一些边界时必须分配和移动数据 具有较少内存的机器可能会受到影响。...连接到在线数据源,可以在线运行数周/数月,并将数千秒/分钟的分辨率 tick 送入系统 后者比第一个更重要,因为为backtrader做出了另一个设计决策: 需要是纯 Python,以便在需要时在嵌入式系统中运行....close < pivotpoint.s1 这里寻找卖出信号,当收盘价低于s1线(第一个支撑位)时 注意 根据定义,PivotPoint在较大的时间框架中运行 这将在过去出现以下错误: return...self.array[self.idx + ago] IndexError: array index out of range 出于一个很好的原因:self.data.close从第一个瞬间提供值,但PivotPoint...唯一打印的行是p,如果两行中的值相同,则是因为该值在整个下一个月内保持不变。

    53200
    领券