指标: 以最近相邻进行价格预测

 

以最近相邻进行价格预测:

本指标采用最近邻聚类技术, 也称为 k-NN, 搜索历史中最相似的模式, 并利用其过往价格为当前模式预测未来价格。

以最近相邻进行价格预测

作者: Vladimir

 

π的数字最好这样设置。

pi = 4*MathArctan(1);
我曾有过这样的想法,现在我把它传递给你们。
 
Prival:

π的数字最好这样设置。

我曾经得到过这个提示,现在我把它传给你。
谢谢,我会记住的。顺便说一句,这里没有用到 pi。我不小心把那行留在里面了。
 

还有一节 MQL5 语言中的数学常量

为某些数学表达式保留了包含值的特殊常量。这些常量可在 mql5 程序的任何地方使用,而无需使用数学函数 计算其值。

常量

说明

M_E

e

2.71828182845904523536

M_LOG2E

log2(e)

1.44269504088896340736

M_LOG10E

log10(e)

0.434294481903251827651

M_LN2

ln(2)

0.693147180559945309417

M_LN10

ln(10)

2.30258509299404568402

M_PI

pi

3.14159265358979323846

 
Rosh:

MQL5 中还有一节数学常量


您需要什么?
 
Rosh:

MQL5 中还有一节数学常量


这些常量是否设置了最大精度?我使用这个条目是因为有必要设置最大精度,否则误差会累积
 
Prival:
这些常量是否设置了最大精度?我使用这个条目是因为必须精确到最大精度,否则误差就会累积。

您需要对其进行检查。这是脚本,它给出了 100500 的 5 倍。

#property copyright "版权所有 © 2010 Eugene Logunov (lea)"
#property version "1.00"

int CalcDifference(double approx, double exact) {
   double diff = MathAbs(approx - exact);
   if (diff == 0.0) {
      return 100500;
   }
   else {
      return (int)(-MathLog10(diff));
   }
}

void OnStart() {
   PrintFormat("%d", CalcDifference(MathExp(1.0), M_E));
   PrintFormat("%d", CalcDifference(MathLog10(MathExp(1)), M_LOG10E));
   PrintFormat("%d", CalcDifference(MathLog(2.0), M_LN2));
   PrintFormat("%d", CalcDifference(MathLog(10.0), M_LN10));
   PrintFormat("%d", CalcDifference(MathArctan(1.0) * 4.0, M_PI));
}

p.s. 如果因为常数小数点右边小数点后 16 位的误差而导致算法产生错误结果,那么显然不是常数的问题。而且,如果引号被过滤了,为什么还需要这样的计算精度呢?

 
lea:

我需要把这个拿去检查一下。这是脚本,它给出了 100500 的 5 倍。

p.s. 如果因为常数小数点右边小数点后 16 位的错误而导致算法产生错误结果,那么显然不是常数的问题。而且,如果引号被过滤了,为什么还需要如此高的计算精度呢?

作为程序员,我建议你一生中至少读一次关于迭代算法的书,了解它们是什么,有什么用处。然后是四舍五入 http://dic.academic.ru/dic.nsf/enc_mathematics/1999/ИТЕРАЦИОННЫЙ 数学家们都在研究如何处理这种四舍五入(以提出稳定的算法),而在这里,这很容易,也不勉强,为什么呢...

谢谢您的建议。我曾经为了检查https://www.mql5.com/zh/code/8309 损失了两周时间,现在我不会再踩这个耙子了。

З.З.Ы,所以已经生病的检查,在五个它已经成为偏执狂...

 
Prival:

我建议你,作为一名程序员,在有生之年读一次关于迭代算法的书,了解它们是什么、吃什么。然后是四舍五入 http://dic.academic.ru/dic.nsf/enc_mathematics/1999/ИТЕРАЦИОННЫЙ 数学家们苦苦思索如何处理这种四舍五入(提出稳定的算法),而在这里,这很容易,也不勉强,为什么 ...

我去年就读过这些书。此外,我是在暗示不稳定性(通过说这与常数无关)。

如果您觉得仅仅因为类型而缺乏准确性,您可以推荐http://gmplib.org/ 这样的软件(当然,计算速度会下降)。

H.S.Y.我已经厌倦了检查,到了 5 级就变成了paranoid....。

尽管有时需要花费大量时间,但您始终应该检查一切可以检查的内容。否则可能会出现意外。

 
lea:

我去年一直在阅读相关资料。此外,我是在暗示不稳定性(说它与常数无关)。

如果你觉得仅仅因为类型而缺乏准确性,可以推荐使用http://gmplib.org/ 这样的软件(当然,计算速度会下降)。

尽管有时很费时间,但您还是应该检查所有能检查的东西。否则可能会出现意外。

你根本不知道我编了什么程序,还提出建议,而且你教的人在你上幼儿园时就开始编程了(从你的个人资料来看)。

你不是开发人员,我没有问你问题,但你却开始教我如何检查代码。你能帮我一下吗--告诉我所有常量设置的准确性? 我可以自己检查,不需要你的建议,我只是想节省时间。

 
Automated-Trading:

用近邻法预测价格

作者:弗拉基米尔弗拉基米尔

非常好