基于艾略特波浪理论的交易策略 - 页 273

 
<br / translate="no">在MQL4中计算3000条的Hearst,我花了大约40毫秒。我们可能指的是不同的东西(单词计算),所以如果你能把你的计算的一般算法(最好)或MathCad中的代码发给我(如果有必要我也可以用Matcad)。

在任何情况下,计算都是有问题的。我的电子邮件是rosh AT metaquotes DOT ru。


我可能又表达得不正确了。我并不是说一个样本--600个计数的20分钟。粗略地说是500次迭代,即第一次采样,为死区[0;100],第二次[0;101],然后[0;102],[0;103]....[0; 600].此外,这是MathCAD,这个级别的产品在优化计算方面不是最好的。开发者在我使用的第13版中才引入了严重的优化。在此之前,即使是简单方程的数值解也可能需要很长时间。

我对指数的计算与现有资料中可以找到的略有不同,而我并没有偏离赫斯特的经典思想。换句话说,我不能说我是按名字来计算统计的。:о)算法本身是经过优化编写、检查和再检查的。

PS:非常感谢你愿意提供帮助。这是很有可能的,这将是需要的。如果我在不久的将来能实现一个更好的机制,我会分享这个算法。我有几个想法。
 
<br/ translate="no">在MQL4中计算3000条的Hearst,我花了大约40毫秒时间。很可能我们的意思是不同的(计算这个词),所以如果你能把你的计算算法(最好是)或MathCad中的代码(如果有必要,我也会用Matcad)用一般话发给我。


有相当多的算法。我在我的档案中发现了一个奇点光谱计算。许多书中都对其进行了概念上的描述,例如费德、博若金和其他许多人的书。一个样本的迭代次数是相当体面的。特别是,一个迭代的指数化过程被执行,以估计每个区间所贡献的 "运动",揭示了不同类型的信号行为(例如,与趋势有较大偏差的 "现在 "区间贡献了更多的 "运动",等等)。 你可以全部看完,但让我提醒你主要的特征--F(alpha)达到最大时的alpha值,是广义的

Hurst指数(有时是天际线参数) ,对500个样本的计算方法。广义的Hurst指数等于0.6。这里是对其进行计算的系列本身(直到垂直红线)以及后来发生的事情。我没有去做 "生意"(尽管它非常有趣),因为我还没有搞清楚一些事情,即消除局部趋势的方法。使用不同的方法会导致系列的不同特征。另一个特殊性是,它需要体面的样本。 to











Rosh,solandr

我有一个问题要问。我担心的是,专家顾问将在客观上很长一段时间内 "停止行动",因此不会参与到监控当前订单的过程中。我想,调用脚本也是无济于事的--专家顾问会一直等待,直到脚本被执行。所以我想知道我是否应该引入一个外部(或全局,什么更好?)变量,例如:

extern string SIGNAL_FORECAST



当我得到一个由于某种原因没有预测的信号时,Expert Advisor会根据其执行的要求来设置这个参数的适当值。这时,一些指标(它不做任何预测,但有计算功能)一直在读取这个变量。一旦它收到预测执行命令,它就初始化计算,但在此之前,它将 "计算开始 "写入变量。在执行 "计算完成 "之后。专家顾问读到,计算的结果是....这一切都会成功吗?也就是说,理论上专家顾问将被解除计算一切的负担?


 
嗨,谢尔盖。在我看来,最好的方法是以专家+专家或专家+脚本捆绑的形式进行。我认为第二个选项更可取。
专家顾问在收到信号时进行计算并将信号标志和相关参数保存在一组全局变量 中。脚本根据收到的指令打开订单并执行它们。脚本无休止地循环运行,根据情况改变这个循环本身的频率。当然,专家顾问是在计算完成后,通过一个tick的到来来运行。

该指标不适合在这里使用,因为(据我所知)它的计算在一个新的刻度出现时就会中断。

在任何情况下,我都决定完全按照这个计划行事。
 
专家、脚本和指标在MT4中是并行计算的,也就是说,在同一时间,适当分享可用的CPU资源。你可以组织2个专家顾问,其中一个将计算几个小时,另一个将是一个执行者,它通过终端的全局变量 接收第一个专家顾问的上一周期计算结果,并进行必要的交易操作。这两个专家顾问将相互独立工作(在执行方面)。第一个专家顾问将在第一个刻度线到来时启动几个小时,第二个专家顾问将在每个新的刻度线时启动,或者,例如,在一个指定的时期内(在有必要暂停的无限循环的情况下)。
 
嗨,谢尔盖。我认为最好的方式是以专家+专家或专家+脚本捆绑的方式进行。我认为第二个选项更可取。<br/ translate="no">。

第二种变体有一个不便之处,那就是在每次启动终端 时,都必须手动将这个相同的脚本传递给图表。我们很快就会厌倦它。最好使用第一种变体。你不妨在start()函数中组织与脚本中完全相同的无限循环。
 
Yurixx,solandr

非常感谢您的建议。我已经很久没有使用MT了,在做研究的时候,我忘记了脚本可以循环运行,我甚至没有想过两个专家顾问。

但另一方面,你又不能在这样的星盘上设置测试仪,对吗?虽然,这可能不是那么关键。

再次感谢。:о)))
 
如果你从指标中运行一个脚本呢?在这种情况下,新到达指标的数据仍然会中断计算?
 
2个格子
不过,你的计算时间还是太长了。我认为在这种情况下,最好在MT之外进行(毕竟C比MQL4快17倍)。我不知道Matcad是否可以生成C代码,但那会很方便。结果将被写入一个文件,并从专家顾问中读取。这个文件可以是一种专家顾问的逐步指导(一般来说,到目前为止,我对传输到MT的数据还不太感兴趣,也许还有其他的方法)。在为某一历史区间编写了 "指令 "后,你就可以使用测试器。但测试者是否会支持专家顾问+专家或专家顾问+脚本?我怀疑它不会。
 
顺便说一下,据我所知,现在的计算并没有中断。它是在计算开始时对数据值进行的,之后终端会跳转到新的数据。
 
对 "诚实 的 "来说

2grasn
不过,你的计算时间还是太长了。我认为在这种情况下,最好在MT之外进行(毕竟C比MQL4快17倍)。我不知道Matcad是否可以生成C代码,但它会很有用。结果将被写入一个文件,并从专家顾问中读取。这个文件可以是一种专家顾问的逐步指导(一般来说,到目前为止,数据传输到MT的方式我不太感兴趣,也许有其他的方式)。在写完某一历史区间的 "指令 "后,你可以使用测试器。但测试者是否会支持专家顾问+专家或专家顾问+脚本?我怀疑它不会。


这是正确的,计算时间相当长,我会处理的。MathCAD不能生成C代码,但MathLab可以做到(当然,如果他们没有说谎的话:o)MT中的测试需要从交易的角度得到或多或少接地气的结果(而不是MathCAD中的多次预测测试,虽然是积极的)。在MT测试之后,我会考虑下一步该怎么做,包括把计算移到一个单独的服务器上,关于我之前写的东西。但这就像登山者一样,绳子上的结越多,情况就越糟糕。