//Pmax - количество Скользящих Средних МА//masPra[] - значение цены МА по текущему бару//masPer[] - значение индексов массива цен МА, для сортировкиvoid medianaL0_2(constdouble &masPra[],constint &masPer[])
{
// MathQuickSort(masPra,masPer,10,Pmax-1,1); // сортируем массив цен с 10 периода, по Pmax-1
伙计们,我仍然不知道它是上升还是下降。
对。
哪些量值应该被计算在内,例如
{0.5} - 中位数
{0.25,0.5,0.75} - 四分位数
{0.01, 0.02, ..., 0.99}--持久物
你能告诉我一些事情吗?
如果我通过MathQuantile 传递一个数组,我是否应该对它进行排序?
- 我的理解是,是否分类并不重要。
事实证明,索引是无法追踪到数组的。 量子化是按价格计算的,而价格所链接的数组的索引...
我明白,这种带有中位数或量子的数学,并不能令人满意地解决问题!
一些我不能...
返回一个指定量值的数组。这些值在未排序的数组中的索引是不知道的。整个问题是关于速度的。如果这个函数在每个条形图上计算,并且数值数组很大,那么优化时间可能会被延迟。我会走另一条路,但这取决于你。
如果你通过MathQuantile 传递一个数组,它应该被排序吗?
任何排列组合(例如排序)都 不应该改变结果。
返回一个指定量值的数组。这些值在未排序的数组中的索引是不知道的。整个问题是关于速度的。如果这个函数在每个条形图上计算,并且数值数组很大,那么优化时间可能会被延迟。我将采取不同的方式,但这取决于你。
你会走哪条路?
阿列克谢,哪种方式能解决问题)!
我不知道你给自己定了什么任务,但一般来说,循环计算越少,算法就越快。 有一个基本的循环--它是对历史上所有条目的传递,我们无法摆脱它。但我们应该努力摆脱其余的人。MathQuantile、iHighest 和其他函数实际上 是隐藏的循环。为了加快速度,应该在信息到达时进行处理,并存储到下一个条形图中。在当前的计算中,不要使用原始的历史数据,而是使用以前准备的数据。
在寻找中位数和其他定量的情况下,随着信息的到来,维护一个有序的数组的成本较低。我写了上面的代码。如果你有一个需要信息的 "滑动窗口",你需要考虑如何以同样快速的方式从数组中删除旧值。你可能需要另一个数组来存储索引。
计算热图的近似算法(如100巴)。
为1至100的所有Close。
Close[N]=X将在heatmap上添加行heatmap[Resolution(X)]+={X/N}+{X/(N+1)}+{X/(N+2)}...最多100。
大括号里的是平均数的 "组成部分",只是突出显示。
Resolution(X) - "分辨率",例如10点 Round((X-MinimalX)/Point/10)
获得一个你需要找到的局部最大值的向量。
这个向量实际上是一个垂直的价格曲线
你能帮我计算一下热力图 吗? 我已经试过中位数,量化并不能很好地显示出MA集群。
如果你能说明需要做什么,计算(一次一栏)。
请你帮忙计算一下热力图,通过中位数、量子数的尝试,并不能实现对MA集群的正常检测。
如果你能告诉我需要做什么,计算(一次一个栏)。
我将直接展示结果,没有优化、矩阵和复杂的数学。
1.对于当前栏,我们分别计算所有的MAs。我们得到SMA[N]数组,其中N以内的最大值的值位于其中。
2.我们创建一个热图[M],它涵盖了从最小=1.00000的价格,每个元素负责(例如)10个点。
3.我们填充这个 "原始 "热图:我们取每个ma值,看看它指的是哪个单元。index=(SMA[i]-minimum)/resolution。我们增加这个单元格的值 hetmap[index]+=1.0
你可以将结果输出到CSV,并认为
4.平滑 "原始 "热图值:启动数组smooth[],读取从i窗口到i+窗口(含)的热图平均值smotch[i]。
5.smootch的局部最大值将表明一个 "饲料集群"。我希望你知道如何寻找最大值 :-)
1-5点可以在数学上进行分解和计算,速度更快,循环和额外的数组最少,但不一定更明显