C# MSChart Candle Stick & Moving Average Chart. 错误: 公式错误 | 该周期没有足够的数据点
您不能在自己的帖子上投票 0 我试图在每日数据上使用MA(15)创建股票蜡烛. 我可以使用OHLC栏创建图表而没有任何问题. 但是,当我开始使用datamanipulator.financialformula for MA时,我会遇到"公式错误 - 该期间没有足够的数据点"的错误. 有人可以帮我吗?谢谢 这是代码. DataSet ds = new DataSet(); SqlConnection connection = new SqlConnection(); connection.ConnectionString = @"Data Source=XXX;Database=Stock;Integrated Security=SSPI;"; connection.Open(); string sql = "Select datestamp, highprice, lowp
16 2024-04-22
编程技术问答社区
如何有效地计算移动标准差
下面您可以看到我的C#方法来计算每个点的布林带(移动平均值,向上频段,向下频段). 您可以看到此方法使用2用于循环使用移动平均线计算移动标准偏差.它过去包含一个额外的循环来计算最近n个周期的移动平均值.我可以通过在循环开始时将新点值添加到total_average并在循环末端删除i -n点值来删除. 我现在的问题基本上是:我可以以类似的方式删除剩余的内部循环? public static void AddBollingerBands(SortedList> data, int period, int factor) { double total_average = 0; for (int i = 0; i
6 2024-04-13
编程技术问答社区
如何在C#中快速计算简单的移动平均线?
用于计算简单移动平均线的最快库/算法是什么?我自己写了自己的书,但是在十进制数据集的3.3万件项目上需要太长时间. 期间/时间(MS) 20/300; 60/1500; 120/3500. 这是我方法的代码: public decimal MA_Simple(int period, int ii) { if (period != 0 && ii > period) { //stp.Start(); decimal summ = 0; for (int i = ii; i > ii - period; i--) { summ = summ + Data.Close[i]; } summ = summ / period; //stp.Stop(); //if (ii == 1500) System.Windows.Forms.
10 2024-04-13
编程技术问答社区
C语言中的fread和fwrite参数
我正在尝试将MATLAB程序调整为C,我的问题在fwrite和fread函数中.在matlab上,我有: fid = fopen ('sweep_100_3400.pcm','rb'); s = fread (fid, 'int16'); 我的疑问是,在C中,fread和fwrite函数中还有两个参数. fread(void*, size_t, size_t, FILE*); fwrite(const void*, size_t, size_t, FILE*); 在我的C代码中我有: arq = fopen("C:\\Users\\iago_\\Desktop\\MediaMovel\\sweep_100_3400.pcm", "rb"); fread(x, sizeof(double), itera, arq); fclose(arq); x是保存文件数据的向量. sizeof(double)是数据的长度(我已经声明了所有double) arq是指向文
38 2024-04-10
编程技术问答社区
计算时间间隔之间的平均时间
我正在使用公式之后的平均功能 new average = old average * (n-1) / n + (new value / n) 当加倍时,这很棒.我的概念证明的示例代码如下. double avg = 0; uint16_t i; for(i=1; i
10 2024-04-09
编程技术问答社区
在C++中计算滚动/移动平均数
我知道这是可以通过: 来实现的 使用Boost ::累加器,我该如何重置滚动窗口尺寸,它会保留额外的历史记录吗? ,但我真的很想避免使用Boost.我已经谷歌搜索了,没有找到任何合适或可读的例子. 基本上,我想使用最新的1000个数字作为数据样本跟踪浮点数流的持续流的移动平均值. 实现这一目标的最简单方法是什么? 我尝试使用圆形阵列,指数移动平均值和更简单的移动平均线,发现圆形阵列的结果最适合我的需求. 解决方案 您只需要1000个元素的圆形阵列(圆形缓冲区),在其中将元素添加到上一个元素并存储它. 它成为一个越来越多的总和,您始终可以在任何两对元素之间获得总和,然后除以它们之间的元素数量,以产生平均值. 其他解决方案 如果您的需求很简单,则可以尝试使用指数的平均值. /p> 简单地说,您可以制作一个累加器变量,并且当您的代码查看每个示例时,代码会以新值更新累加器.您选择一个常数的" alpha"在0到1之间,然后计算以下内容:
20 2024-04-01
编程技术问答社区
移动平均数-MySQL
我正在尝试实现系统范围的登录节流,我需要计算过去3个月的每日平均登录尝试数量. 我目前正在插入每个登录失败的记录,每个登录失败都带有时间戳.我该如何在mysql中执行此操作? 事先感谢您的帮助 解决方案 SELECT AVG(cnt) FROM (SELECT COUNT(*) AS cnt FROM mytable WHERE `date` BETWEEN DATE_SUB(NOW(), INTERVAL 3 MONTH) AND NOW() GROUP BY DATE(`date`)) x 假设您有一个表格mytable date的字段date,datetime或datetime或timestamp
12 2024-03-21
编程技术问答社区
累积总和、移动平均数和R中的SQL "分组 "等价物
在R中创建移动平均值或滚动总和的最有效方法是什么?您如何与"组"一起执行滚动功能? 解决方案 虽然动物园很棒,有时还有更简单的方法.如果您的数据表现良好并且均匀间隔,则embed()函数有效地使您可以创建时间序列的多个滞后版本.如果您在vars软件包内查看矢量自动回归,您将看到软件包作者选择了此路线. 例如,计算x的3个周期滚动平均值,其中x =(1-> 20)^2: > x embed (x, 3) [,1] [,2] [,3] [1,] 9 4 1 [2,] 16 9 4 [3,] 25 16 9 [4,] 36 25 16 [5,] 49 36 25 [6,] 64 49 36 [7,] 81 64 49 [8,] 100 81 64 [9,] 121 100 81 [10,] 144 1
6 2024-03-21
编程技术问答社区
postgresql中的移动平均线
我的PostgreSQL 9.1数据库中的下表: select * from ro; date | shop_id | amount -----------+----------+-------- 2013-02-07 | 1001 | 3 2013-01-31 | 1001 | 2 2013-01-24 | 1001 | 1 2013-01-17 | 1001 | 5 2013-02-10 | 1001 | 10 2013-02-03 | 1001 | 4 2012-12-27 | 1001 | 6 2012-12-20 | 1001 | 8 2012-12-13 | 1001 | 4 2012-12-06 | 1001 | 3 2012-10-29 | 1001 | 3
20 2024-03-21
编程技术问答社区
计算可变参数的移动平均数
我有一个整数属性,每秒都会更新一个信号强度值,范围为0-100. 我希望能够在过去的10、25、50个测量值中持续衡量移动平均水平. 这样做的最有效方法是什么? 我目前正在考虑使用NSMutableArray实现一组FIFO队列,并在每次我在阵列中添加新的条目时在最后添加新的条目时弹出领先的值.但是,我不确定是否有更有效的方法来执行此操作. 解决方案 队列是正确的方式.真正的效率是您如何重新计算平均值的方式. 应该通过: 进行. avg = avg + newSample/N - [queue dequeue]/N [queue enqueue:newSample] 即.新的运行平均值仅仅是旧的平均值减去您丢弃的最古老的值的重量,以及您列出的最新值的重量. 其他解决方案 我写了一个简单的类,称为"运动"来处理此操作.您可以使用要维护的周期数来启动该方法,并使用样本计数的模量来跟踪其余的方法,以了解将其放入哪个静态插槽. 用 初始化
6 2024-03-21
编程技术问答社区
如何有效地计算飞行中的平均数(移动平均数)?
我想出这个 n=1; curAvg = 0; loop{ curAvg = curAvg + (newNum - curAvg)/n; n++; } 我认为这种方式的亮点是: - 它避免了大数字(如果愿意的话,则可能溢出) - 您保存一个寄存器(不需要存储总和) 麻烦可能是求和错误 - 但我认为通常应该存在平衡数量的圆形和圆形,以免错误地总结. 您在此解决方案中看到任何陷阱吗? 您有更好的建议吗? 解决方案 您的解决方案本质上是"标准"的最佳在线解决方案,可在不存储大笔款项的情况下保持平均跑步,也可以在运行"在线"时,即您可以一次处理一个数字而无需返回其他数字,您只使用恒定数量的额外内存.如果您希望以数值准确性略微优化的解决方案,而以"在线"为代价,那么假设您的数字都是非负的,则首先将您的数字从最小到最大进行排序,然后按以下顺序处理它们您现在这样做的方式.这样,如果您得到一堆实际上相等的数字,然后获得一个大数字,那么您将能够准确地计算平均值而
30 2024-03-21
编程技术问答社区
Haskell中的移动平均线
给定权重列表: let weights = [0.1, 0.2, 0.4, 0.2, 0.1] 和一系列测量值,我想实现加权平均值. 这就是我在python中这样做的方式: y=[] w = length(weights) for n in range(w,len(x)-w): y[n-w/2-1]=sum([a*b for a,b in zip(weights,x[n-w/2:n+w/2+1])]) #y[n-3]=W[1]*x[n-2]+W[2]*x[n-1]+W[3]*x[n]+W[4]*x[n+1]+W[5]*x[n+2] 我知道Haskell没有数组,我要实现的目标是 解决方案 tails为您提供输入列表的尾巴的列表.所以tails [1,2,3] = [[1,2,3],[2,3],[3],[]].由于我们不需要最后一个空列表,因此我们使用(init.tails)将所有内容在尾部列表中获取除最后一个元素. import Data
10 2024-03-06
编程技术问答社区
用我简单的 Python 代码筛选出预测结果
我有这个简单的python代码,可以预测脸部的情绪(从您只需要更改最后几行,因为初始零件都是用于预测的. import numpy as np import argparse import matplotlib.pyplot as plt import cv2 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, Flatten from tensorflow.keras.layers import Conv2D from tensorflow.keras.optimizers import Adam from tensorflow.keras.layers import MaxPooling2D from tensorflow.keras.preprocessing.image import ImageDataGenerator impo
4 2024-03-05
编程技术问答社区
将数组分割成重叠的大块(移动子组)。
有一个很好的问题,即如何将Javascript数组分为块.目前,我正在使用此此方法来用于我正在编写的某些统计方法,并且答案我正在使用如下(尽管我选择不像答案中那样扩展数组原型): var chunk = function(array, chunkSize) { return [].concat.apply([], array.map(function(elem,i) { return i%chunkSize ? [] : [array.slice(i,i+chunkSize)]; }) ); }; 这采用一个数组,例如[1,2,3,4,5,6],并给出了2个返回[[1,2],[3,4],[5,6]]的chunkSize.我很好奇如何修改它以创建一系列"重叠"块(或者对于那些熟悉移动平均值,"移动子组"等方法的人). 提供了与上述相同的数组,并且chunkSize的3个数组将返回[[1,2,3],[2,
8 2024-03-04
编程技术问答社区
如何计算C#数组列表的滚动平均值?
我正在尝试计算数组列表中每四个值的滚动平均值,并将这些值添加到单独的数组列表中.我的原始数组列表称为NumList,它包含1到9 的值 List numlist = new List(); numlist.Add(1); numlist.Add(2); numlist.Add(3); numlist.Add(4); numlist.Add(5); numlist.Add(6); numlist.Add(7); numlist.Add(8); numlist.Add(9); 当它计算滚动平均值时,应该以这样的方式进行操作: 第一个平均=(1+2+3+4)/4 第二平均=(2+3+4+5)/4 第三平均=(3+4+5+6)/4 等等 所以第二个数组列表, List avelist = new List(); 应包含这些值 {2.5, 3.5, 4.5, 5.5, 6.5, 7.5}
22 2024-03-04
编程技术问答社区
谷歌表格。移动日均值、周均值、月均值和年均值
我有一个电子表格,我正在收集数据,并输入数据收集的日期.我想通过每日,每周,每月和每年的图表中的电子表格中收集的数据的移动平均值. 我正在处理的两个列是A列中的"日期"(当数据收集到数据时)和C列中的"数据"(实际收集的数据).日期总是在增加,是" mm/dd/yyyy"格式. C列中的数据是整数,并且几乎始终增加了运行的总数,除了必须进行手动校正的四个地方. 并非每天输入收集的数据,因此,"日期"列中的日期之间存在差距.有时2或3天没有收集的数据,有时还会有更多.最大的差距是没有收集数据的98天. 例如: + ---------- + - + ----- + | A | B | C | + - + ---------- + - + ----- + | 1 | Date | | Data | | 2 | 6/15/2016 | | 1263 | | 3 | 6/30/2016 | | 137
20 2024-03-04
编程技术问答社区
pyspark:使用时间序列数据进行滚动平均
我有一个由时间戳列和美元列组成的数据集.我想在每行的时间戳上找到每周的平均美元数量.我最初是在查看pyspark.sql.functions.window函数,但每周都会键入数据. 这是一个示例: %pyspark import datetime from pyspark.sql import functions as F df1 = sc.parallelize([(17,"2017-03-11T15:27:18+00:00"), (13,"2017-03-11T12:27:18+00:00"), (21,"2017-03-17T11:27:18+00:00")]).toDF(["dollars", "datestring"]) df2 = df1.withColumn('timestampGMT', df1.datestring.cast('timestamp')) w = df2.groupBy(F.window("timestampGMT", "7 days"))
10 2024-02-29
编程技术问答社区
Apache Spark移动平均数
我在HDFS中有一个大文件,有时间序列数据点(雅虎股价). 我想找到时间序列的移动平均线 解决方案 您可以使用MLLIB的滑动功能,该功能可能与Daniel的答案相同.您必须在使用滑动功能之前按时间对数据进行排序. import org.apache.spark.mllib.rdd.RDDFunctions._ sc.parallelize(1 to 100, 10) .sliding(3) .map(curSlice => (curSlice.sum / curSlice.size)) .collect() 其他解决方案 移动平均值是Spark和任何分布式系统的棘手问题.当数据分布在多个机器上时,将会有一些跨分区的时间窗口.我们必须在分区开始时复制数据,以便计算每个分区的移动平均值可提供完整的覆盖范围. 这是一种在火花中做到这一点的方法.示例数据: val ts = sc.parallelize(0 to 100, 10) val win
14 2024-02-29
编程技术问答社区
简单移动平均线的求和/偏移问题
我写了一个简单的移动平均线,温度的移动窗口读为0到10V之间的电压. 该算法似乎可以正常工作,但是,它存在问题,其中取决于首先填充窗口的温度,移动平均值将具有任何不接近此值的值的偏移.例如,使用温度运行此程序.传感器插入房间温度可产生4.4V或21.3 C.但是,如果我拔下温度.传感器电压降至1.4V,但移动平均值保持在1.6V.随着我增加窗口的大小,此偏移变得更小.即使对于小窗口尺寸,即如何删除此偏移. 20? REM SMA Num Must be greater than 1 #DEFINE SMANUM 20 PROGRAM 'Program 3 - Simple Moving Average Test CLEAR DIM SA(1) DIM SA0(SMANUM) : REM Moving Average Window as Array DIM LV1 DIM SV2 LV0 = 0 : REM Counter SV0 = 0 : REM Average SV1 =
8 2024-01-23
编程技术问答社区